• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

The Problem

In paging, processes use virtual (logical) addresses, but RAM uses physical addresses. The CPU needs to know which physical frame corresponds to each virtual page.

Core Idea

A page table is a data structure maintained by the OS that maps each virtual page of a process to its physical frame in RAM.

How It Works

  1. CPU generates logical address: page number + page offset
  2. Page number is used as index into page table
  3. Page table entry gives frame number
  4. Physical address = frame number × page size + offset
page_table CPU CPU logical addr: page=2, offset=150 PT Page Table Page 0 → Frame 5 Page 1 → Frame 2 Page 2 → Frame 7 CPU->PT lookup page 2 RAM RAM Frame 7, offset 150 Physical addr PT->RAM Frame 7

Key Properties

  • One page table per process
  • Stored in RAM (not in CPU registers — too large)
  • Accessed on every memory reference (needs caching → TLB)
  • Can be single-level, multi-level, or inverted

Connections

Edge Cases & Gotchas

  • Single-level page table can be huge (1M entries for 4GB process with 4KB pages)
  • Multi-level page tables add levels of indirection
  • Page table walks are slow (4 memory accesses for 4-level paging)