A hierarchical page table is used chiefly to
Answer: C
Correct answer: avoid allocating a large contiguous table for the whole address space
A hierarchical or multilevel page table exists to avoid keeping one enormous contiguous table per process. The arithmetic makes the problem plain. A 32-bit address space with 4 KB pages contains a million pages, and at four bytes per entry the table is 4 MB - per process, and required to be contiguous in physical memory. That is unacceptable. Splitting it into two levels means only the outer table and the inner tables covering parts of the address space actually in use need exist; the rest are simply absent. Since most processes use a small and scattered fraction of their address space, the saving is very large. The cost is an extra memory access per translation, so it makes translation slower rather than faster - which is why the second option is wrong and why the TLB is essential rather than dispensable. 64-bit architectures need three or four levels. The alternatives are hashed page tables and inverted page tables, which trade the search cost differently.
Please log in or register to report this question.