Demand Paging ist eine Variante des Paging, bei der Pages nur in den RAM geladen werden, wenn sie auch benutzt werden. Dadurch ergeben sich einige Vorteile:
- Verringerter E/A-Aufwand
- Reduzierte Speicherbelegung
- Höhere Responsivität
- Mehr Benutzer
Für das Demand Paging wird eine zusätzliche Spalte in den Page Tables benötigt: Das Valid-Invalid Bit. Steht es auf v (valid), ist die Page in den Speicher geladen, steht es auf i (invalid), ist die Seite nicht im Speicher und eine trap (der sog. Page Fault) wird verarbeitet. Dafür ist eine zusätzliche Tabelle notwendig, in der steht, ob die Page zum Prozess gehört.
- Page gehört nicht zum Prozess
- Prozess abbrechen
- Seite gehört zum Prozess:
- Freien Frame suchen
- Seiteninhalt laden - swap
- Seitentabelle(n) aktualisieren
- Valid-Invalid Bit auf v setzen
- Instruktion, die zum Page Fault geführt hat, erneut ausführen
Siehe auch
Effektive Zugriffszeit
Sei