Open VMS Operating System Concepts, Second Edition

Paging the page tables was observed as a desirable feature in the SWAPPER discussion earlier in the chapter. This fact is justified in this section. Consider how big the page tables are for a 4,087-page image. Not really very large, this image is approximately the default limit of a typical unprivileged user's image. It requires 4,087 PTEs, and each entry is 4 bytes long, totaling 16,348 bytes. There are 512 bytes to a page, and so to contain the page table of this relatively small image, 32 pages (about 1 percent) are required. However, the last page is not completely filled. As discussed in the chapter's introductory remarks, paging does not eliminate fragments, but it does minimize them. The case when unusable memory is within the image is called internal fragmentation.
Now, assume that there are 40 processes on the system, each with an average of 4,000 pages in its virtual image; that means 160,000 pages are required for these images. The operating system must accommodate over 1,200 pages that contain nothing but page tables. To appreciate this number, a megabyte of memory contains 2,048 pages, so 1,200 pages amounts to more than half a megabyte. On a 10-megabyte system, 5 percent of memory is consumed by page tables if they must be resident in memory. To reduce this overhead, the operating system pages the page tables in the same way it pages the process.
There is nothing special the system must do to...