Definition
Page Table
A page table is a data structure used in paging to store mappings between a process’s logical addresses and physical addresses in RAM.
Each entry (PTE) typically contains:
- Frame Number: Physical location of the page
- Present Bit: Indicates if page is in RAM (see Virtual Memory)
- Modified Bit (Dirty Bit): Indicates if page has been written to
- Protection Bits: Read, write, or execute permissions
Architectures
Multilevel Page Tables
Multilevel Page Tables
For large address spaces, the table is broken into multiple levels (hierarchical paging), allowing parts of the page table to be swapped to disk.
Inverted Page Tables
Inverted Page Tables
One global table with one entry per physical frame:
- Entry Structure: Stores PID and page number residing in the frame
- Address Translation: Uses hashing or associative search to find PID/page pair; index corresponds to physical frame number
- Efficiency: Reduces memory usage as table size depends on physical RAM, not sum of all processes’ virtual spaces
Performance
Accessing the page table adds an extra memory reference per data access. Hardware uses a TLB to cache recently used mappings.