However, almost no program requires the full million-page logical address space. The beauty of the multilevel
page table is that the OS does not need to devote space to page table entries that will never be used. Each
second-level page table can represent 1024 pages, and if each page is 4K, then each second-level page table can
represent 4 Mbytes of address space.
For example, as I write, Microsoft Word is using almost 11 Mbytes of memory. That much memory could
be mapped with only three second-level page tables. The sum of entries from the top-level page table and three
second-level page tables is 4096. If each entry is 32 bits (4 bytes), then the page table space required for Word is
16K, not the 4 Mbytes required to represent the entire logical address space. Depending on the actual locations
being referenced, the OS may in fact require more than the minimum number of second-level page tables to
manage the mappings, but the improvement in memory utilization by means of the nested page table is still apt
to be two orders of magnitude.
With the introduction of 64-bit computers, a new solution to the problem of large page tables is being
implemented. This approach is called the inverted page table.
Pages:
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332