Unit content
Virtual address spaces and page tables
A process normally accesses virtual addresses rather than directly naming physical RAM locations. The operating system and processor cooperate to translate those addresses into physical memory.
Pages
Virtual memory divides address spaces into fixed-size pages. Physical memory is divided into corresponding page frames.
A virtual page can be mapped to a physical frame independently of neighboring virtual pages, so a process can see a simple address space even when its physical memory is scattered.
Page tables
A page table records these mappings. Conceptually,
virtual address
↓ split into page + offset
page table
↓
physical frame + same offset
The processor's memory-management unit performs translation during memory access. A translation lookaside buffer can cache recent translations to avoid repeatedly walking page tables.
Flexible mappings
Different processes can map the same virtual address to different physical pages. Several processes can also intentionally map the same physical page, enabling shared memory.
Virtual memory separates the addresses a program uses from the physical placement of its data.