- Page fault
-
Ein Seitenfehler (engl. page fault) tritt bei Betriebssystemen mit Virtueller Speicherverwaltung und Paging auf, wenn ein Programm auf einen Speicherbereich zugreift, der sich gerade nicht im Hauptspeicher befindet, sondern beispielsweise auf die Festplatte ausgelagert wurde. Als unmittelbare Folge des Seitenfehlers kommt es zu einer synchronen Programmunterbrechung (engl.: trap). Das Betriebssystem sorgt nun dafür, dass der angeforderte Speicherbereich wieder in den Hauptspeicher geladen wird, damit das Programm darauf zugreifen kann. Ein Seitenfehler ist daher kein Fehler im eigentlichen Sinne. Der Anwender spürt von diesem Vorgang nichts, maximal eine Verlangsamung des Programms, das den Seitenfehler verursachte, da das Laden der Seite oder das Bearbeiten des Vorgangs einen kurzen Augenblick benötigt. Andere Programme oder Prozesse sind davon nicht betroffen.
Der page fault ist nicht zu verwechseln mit dem segmentation fault, der eine Schutzverletzung beim Zugriff auf nicht existierende oder geschützte Speicherbereiche ist.
Soft Page Fault
Der Soft Page Fault verhält sich ähnlich wie der Seitenfehler und tritt in folgenden Fällen auf:
- Seiteneintrag Copy-On-Write Bit ist gesetzt und der Prozess versucht in der Seite zu schreiben.
- Die Seite ist im Speicher, gehört aber nicht dem Workingset des Prozesses, sondern ist z. B. ein Teil der Free page List.
- Der Prozess fordert eine neue leere Seite.
Siehe auch
Wikimedia Foundation.