Page Faults
Page Faults
Auf einen Blick
Definition
Ein Page Fault tritt auf, wenn die zugegriffene Page nicht im physikalischen Hauptspeicher ist.
Es ist eine synchrone Unterbrechung — ein Fault (Interrupts & Exceptions), denn der auslösende Befehl wird wiederholt.
Behandlung — interaktiv
Die Schritte des Handlers:
- Ggf. Platz schaffen im RAM (→ Page Replacement).
- Page im Auslagerungsbereich lokalisieren.
- Page in das freigeräumte Page Frame schreiben.
- PTE aktualisieren (Startadresse, Present-, Accessed-, Dirty-Bit).
- Den unterbrochenen Befehl wiederholen.
Demand Paging vs. Prepaging
- Demand Paging: Einlagern erst bei Bedarf (beim Page Fault).
- Prepaging: schon vor der konkreten Anforderung (Windows „Lazy Page Out", Unix Paging-Daemon) — entkoppelt Replacement von der Fault-Behandlung.
Performance
Die effektive Zugriffszeit hängt stark von der Fault-Wahrscheinlichkeit f ab:
Da t_PF wegen des langsamen Auslagerungsbereichs riesig ist, müssen Paging-Algorithmen die wichtigen Pages im RAM halten. Geht das schief, droht Thrashing.
Verwandte Notes
Page Table & MMU · Paging-Algorithmen · Thrashing · Interrupts & Exceptions · Speicherhierarchie