OS & Hardware
What is the main reason for using multilevel (hierarchical) page tables instead of a single level?
- ATables for unused regions can be omitted, saving memory
- BFewer tables are read per translation, speeding up TLB-miss handling
- CPhysical memory can be made larger than the virtual address space
Show answer and explanation
Answer: A. Tables for unused regions can be omitted, saving memory
A single-level table needs an entry for every page in the virtual address space whether used or not, which becomes enormous with 64-bit addresses. With multiple levels, only lower-level tables for regions in use are created, and unused regions are marked invalid in upper-level entries, so memory use scales with what the program actually uses. The cost is that a TLB miss must walk one table per level, which is slower. Physical memory size is unrelated.
- A. Correct. Omitting tables for unused regions saves memory.
- B. The number of tables walked actually increases with the levels.
- C. It is unrelated to physical memory capacity.