5 SpeicherverwaltungPage Table & MMU

Page Table & MMU

Auf einen Blick

Die Page Table ordnet jeder Page ihr Page Frame zu. Die MMU (Memory Management Unit) führt diese Umsetzung bei jedem Speicherzugriff durch. Pro Page gibt es einen Page Table Entry (PTE) mit Frame-Adresse und Status-Bits.

Interaktiv: virtuell → physikalisch

adressumsetzung.html

Aufbau eines PTE

Pro Page existiert ein Page Table Entry mit:

  • der physikalischen Startadresse des aktuell zugeordneten Page Frames
  • Present Bit — liegt die Page im RAM?
  • Dirty Bit — wurde die Page verändert? (entscheidet, ob sie beim Verdrängen zurückgeschrieben werden muss)
  • Accessed Bit — wurde auf die Page zugegriffen? (Basis für Second Chance)
  • R/W Bit — read-only?
  • Cache Bit — darf die Page gecached werden?

Ablauf eines Zugriffs vadr = (p, offset)

  1. Suche in der Page Table den Eintrag zu p.
  2. Prüfe per Present Bit, ob die Page im RAM ist.
  3. Ja: ersetze p durch die Frame-Nummer pfn → Zugriff auf (pfn, offset).
  4. Nein: die MMU löst einen Page Fault aus.

Mehrstufige & invertierte Page Tables

Eine einzige Page Table wäre zu groß, daher:

  • mehrstufige Page Tables (2–4 Stufen) — die ersten Stufen (Page Directories) verweisen nur weiter.
  • invertierte Page Tables — speichern pro Frame die dort liegende Page; brauchen zusätzliche Hardware (TLB).
Der Overhead

Eine n-stufige Page Table kostet pro Zugriff t = (n+1)·t_RAM — jeder Speicherzugriff bräuchte mehrere! Erst der TLB macht VM praktikabel.

Verwandte Notes

Segmente & Pages · TLB · Page Faults · Virtual Memory · Paging-Algorithmen

← Kapitelübersicht


⬅️ Segmente & Pages · TLB ➡️

Built with LogoFlowershow