3.3.2.2.3.2 NRU - Not Recently Used Algorithmus

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:
</p>
</p>
<p>
<p>
Die Idee dahinter ist: Wenn in letzter Zeit nicht auf die Seite zugegriffen wurde, dann wird vermutlich auch in (naher) Zukunft nicht darauf zugegriffen werden müssen.
Die Idee dahinter ist: Wenn ''in letzter Zeit'' nicht auf die Seite zugegriffen wurde, dann wird vermutlich auch in (naher) Zukunft nicht darauf zugegriffen werden müssen.
</p>
</p>



Version vom 5. Dezember 2013, 15:18 Uhr

{{#index:NRU, Seitenersetzungsalgorithmus|Not Recently Used Seitenersetzungsalgorithmus}} Der Not Recently Used Seitenersetzungsalgorithmus, kurz NRU, ersetzt immer eine Seite, auf die in letzter Zeit nicht zugegriffen wurde.

Die Idee dahinter ist: Wenn in letzter Zeit nicht auf die Seite zugegriffen wurde, dann wird vermutlich auch in (naher) Zukunft nicht darauf zugegriffen werden müssen.

Um dieses Verfahren zu implementieren, müssen zwei Fragen oder Probleme gelöst werden:

Frage

  1. Wie kann festgestellt werden, ob auf eine Seite zugegriffen wurde?
  2. Wie lang ist die mit "in letzter Zeit" gemeinte Zeitspanne?

Auf Frage 1 gibt es eine ganz einfache Antwort: Das R-Bit.


Das Referenziert-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 referenziert wurde.

{{#index:Referenziert-Bit|Seitentabelleneintrag, Referenziert-Bit|R-Bit|Seitentabelleneintrag, R-Bit}} Man spricht hier vom sogenannten Referenziert-Bit, oder kurz vom R-Bit.

  • Das R-Bit ist gesetzt, also 1:
    Der Inhalt der Seite wurde referenziert, es wurde also darauf zugegriffen.

  • Das R-Bit ist nicht gesetzt, also 0:
    Der Inhalt der Seite wurde nicht referenziert, es wurde also nicht darauf zugegriffen.


Seitentabelle-RM.JPG


Es liegt auf der Hand, dass das R-Bit (genau wie das M-Bit) beim Einlagern einer virtuellen Seite in einen Seitenrahmen im betreffenden Seitentabelleneintrag mit 0 initialisiert wird.

Die MMU nimmt später bei der (erfolgreichen) Umrechnung einer virtuellen in eine physikalische Adresse ein Setzen des R-Bits im betreffenden Eintrag der Seitentabelle vor.


Aufgabe 1

Aufgabe

Es ist klar, dass das R-Bit bei einem lesenden Zugriff auf eine Seite von der MMU gesetzt werden muss.

Muss das R-Bit aber auch bei einem schreibenden Zugriff gesetzt werden? Zusammen mit dem M-Bit?


to do: 4 Klassen

Klasse 1: Eingelagerte Seiten mit R=0 und M=0.

Klasse 2: Eingelagerte Seiten mit R=0 und M=1.

Klasse 3: Eingelagerte Seiten mit R=1 und M=0.

Klasse 4: Eingelagerte Seiten mit R=1 und M=1.




Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png