The relationship between the various memory types in Windows Operating Systems (OS) are as follows.
The size relationship is (in general) from smallest to to largest: Cache - RAM - Virtual
RAM - Physical memory installed in the system. This is where most processing takes place. The maximum memory depends on hardware and OS version. The physical restriction on amount of RAM is the physical hardware limitation on how much RAM can be installed. This can be further restricted by the OS.
For OS versions that are 32-bit the available address space is 4 GB. This 4 GB address space is used for accessing the hardware as well as the memory. Thus the maximum memory the OS can use is the address space left over after that used for the hardware. Generally between 2.8 GB and 3.3 GB of the 4 GB address space is usable for the RAM. This is why you see less than 4 GB of RAM available even though 4 GB of RAM is installed for a 32-bit OS. (There are some special exceptions to this but that is beyond this explanation.)
For OS versions that are 64-bit they have an address (18,446,744,073,709,551,616 [2^64] bits) larger than today’s hardware can address. Due to the hardware limitations the current maximum memory that can be addressed is much smaller on the order of 256 TB (256 × 1024^4 bytes) which is orders of magnitude greater that can be physically installed in systems (even including virtual memory on hard disks). However some OS versions are artificially limited in the amount of RAM they will address which can limit your available RAM.
Cache memory - This encompasses a large range of items.
- Processors have multiple cache memory types usually referred to as level 1, 2 or 3. Processors can have all three types. These are used to speed up processor operations.
- Hard drives can have cache memory to speed up data transfers. Most modern hard drives have some on board cache.
- Hard drive controllers can have cache memory. This is usually found in SCSI, SAS or SATA RAID controllers.
- Network Cards can also have cache memory for high throughput cards generally found on some servers and some gaming systems.
Virtual memory is just that, virtual not the physical RAM.
- Virtual memory in a Windows OS is usually referring to memory that has been temporarily moved (paged out) from RAM to a hard drive or flash memory.
- Virtual memory can have other connotations when used with a hyper-visor such as Microsoft’s Hyper-V or VMWare’s ESX/ESXi (vSphere). In this case the hyper-visor manages all memory virtualizing it and assigning it to the virtual machines.
- Some systems or OSs can set aside pools of physical memory to use as virtual memory for specific tasks.