Es liegt auf der Hand, dass modifizierte Seiten in ihrem Seitenrahmen nicht einfach ersetzt werden dürfen, bevor sie nicht im Hintergrundspeicher gesichert wurden. Ihre Inhalte wären andernfalls verloren, was negative Auswirkungen auf den betreffenden Prozess nach sich ziehen dürfte. Insbesondere könnten sie zu einem späteren Zeitpunkt nicht wieder eingelagert werden.
Wie kann das Betriebssystem aber feststellen, ob die Inhalte einer derzeit noch eingelagerten Seite modifiziert wurden, und so eine Auslagerung vor dem Ersetzen erforderlich wird?
Es gibt dafür eine ganz einfache Lösung: Das M-Bit.
In den Seitentabellen wird eine zusätzliche Spalte eingeführt, siehe Abbildung unten. Für jede einzelne Seite (d.h. in jedem Seitentabelleneintrag) wird mit Hilfe eines einzelnen Bits festgehalten, ob die betreffende Seite verändert wurde.
Man spricht hier vom sogenannten Modifiziert-Bit, oder kurz vom M-Bit (in einigen Quellen ist auch vom Dirty-Bit die Rede).
Eine Seite wird in einen freien Seitenrahmen eingelagert. Die Speicherverwaltung des Betriebssystems aktualisiert dann den zugehörigen Seitentabelleneintrag.
Welchen Wert schreibt die Speicherverwaltung in das Feld mit dem M-Bit dieses Seitentabelleneintrags?
Die MMU nimmt bei der (erfolgreichen) Umrechnung einer virtuellen in eine physikalische Adresse ein Setzen des Bits im betreffenden Eintrag der Seitentabelle vor, sofern ein schreibender Zugriff auf die betreffende Speicherzelle erfolgen soll.
Ist das M-Bit einer zu ersetzenden Seite gesetzt (also gleich 1), so muss der Inhalt dieser Seite aus dem Seitenrahmen in den Hintergrundspeicher geschrieben werden.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png