Virtual memory
The
virtual memory is a contiguous space of memory (-addresses) that each
process sees. Usually, this space is larger than the available physical memory.
A 32-bit
process has a virtual address space of up to 4 GB, a 64-bit process up to 8 TB.
The order of addresses in virtual memory does not correspond to the order of addresses in the physical memory.
By default, the lower half of the virtual memory can be used for the data of a process while the upper half is used for Windows. (Only in 32-bit Windows?)
Each process has a
page table that maps a process's virtual memory to the physical memory or a page in the
paging file.
Because the available physical memory at times cannot cover all required access to virtual memory, the memory manager paging out and in parts of the virtual memory to disk.