Search⌘ K

Simulator

Explore how to translate virtual addresses using advanced multi-level page tables in an operating system. Understand page directory entries, page table entries, and address translation to improve memory management and detect faults. Practice with a simulator program to solidify these virtualization concepts.

We'll cover the following...

The program provided in this lesson is called: paging-multilevel-translate.py

Some basic assumptions:

  • The page size is an unrealistically-small 32 bytes
  • The virtual address space for the process in question (assume there is only one) is 1024 pages, or 32 KB
  • physical memory consists of 128 pages

Thus, a virtual address needs 15 bits (5 for the offset, 10 for the VPN). A physical address requires 12 bits (5 offset, 7 for the PFN).

The system assumes a multi-level page table. ...