Virtual memory gives every process the illusion of its own private, contiguous block of memory addresses (from 0 up to a large maximum), regardless of how much physical RAM actually exists or where the data really sits. The OS and the CPU's MMU (Memory Management Unit) translate these virtual addresses to physical addresses on the fly.
How the illusion works
Memory is split into fixed-size (commonly 4 KB). A per-process maps each virtual page to a physical :
