A memory page is a fixed-size block used to organize memory. Pages are typically 4 KB on 64-bit operating systems. A program works with virtual addresses, while the operating system and CPU translate those addresses to locations in physical memory. section 6.4.1 section 6.4.3
Grouping virtual addresses into pages means the system does not need a separate translation mapping for every variable. Uniform page sizes also help avoid fragmentation: pockets of free RAM that cannot be put to use. section 6.4.3
Pages matter when memory is accessed:
- The CPU’s translation lookaside buffer (TLB) caches recent address translations. Accessing enough pages to exceed its capacity can hurt performance. section 6.4.3
- An inactive page can be swapped to disk and brought back when needed. Requesting a valid address whose page is not in RAM raises a page fault, signaling that the operating system must restore it. section 6.4.1 section 6.4.3
Inspecting a running program
A tool that inspects a running program’s values works with the program’s view of memory. Pages help explain why those virtual addresses require translation before the underlying memory can be accessed. section 6.4.1 section 6.4.3

