Consider as a final example a modern 64-bit CPU and operating system that are tightly integrated to provide low-overhead virtual memory.
Solaris running on the SPARC CPU is a fully 64-bit operating system and as such has to solve the problem of virtual memory without using up all of its physical memory by keeping multiple levels of page tables.
Its approach is a bit complex but solves the problem efficiently using hashed page tables.
There are two hash tables—one for the kernel and one for all user processes.
Each maps memory addresses from virtual to physical memory. Each hash-table entry represents a contiguous area of mapped virtual memory,
which is more efficient than having a separate hash-table entry for each page.
Each entry has a base address and a span indicating the number of pages the entry represents.