OS & Hardware

What is the main reason for using multilevel (hierarchical) page tables instead of a single level?

  1. ATables for unused regions can be omitted, saving memory
  2. BFewer tables are read per translation, speeding up TLB-miss handling
  3. 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.
Practice this topic Back to topic

More OS & Hardware questions

  1. With 32-bit virtual addresses, 4 KB pages and 4-byte page-table entries, how large is a single-level page table?
  2. With 48 virtual address bits in use, 4 KB pages and 512-entry (9-bit) tables at each level, how many levels must a multilevel page table walk?
  3. Which combination of information does a page-table entry usually contain?
  4. What is the advantage of using copy-on-write when duplicating a process?
  5. Which describes demand paging?