FIFO-Anomalie

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

FIFO-Anomalie (engl. Bélády's anomaly) bezeichnet ein in der Informatik auftretendes Phänomen, das bei Anwendung der FIFO-Ersetzungsstrategie für Virtuelle Speicherverwaltung in Computer-Systemen auftreten kann.

Erklärung[Bearbeiten]

Man spricht von einer FIFO-Anomalie, wenn bei der virtuellen Speicherverwaltung in Computer-Systemen mit größerem Hauptspeicher mehr Seitenfehler auftreten als in Systemen mit kleinerem Hauptspeicher. Das liegt daran, dass die FIFO-Strategie den ältesten Speicherblock als erstes überschreibt, auch wenn dieser vielleicht der am häufigsten genutzte ist.

Ein Beispiel der FIFO-Anomalie. Mit drei Seitenrahmen treten neun Seitenfehler auf. Die Erhöhung auf vier Seitenrahmen verursacht zehn Seitenfehler. Seitenfehler sind in rot dargestellt.

Seitenanfragen 3 2 1 0 3 2 4 3 2 1 0 4
Neueste Seite 3 2 1 0 3 2 4 4 4 1 0 0
    3 2 1 0 3 2 2 2 4 1 1
Älteste Seite     3 2 1 0 3 3 3 2 4 4
Seitenanfragen 3 2 1 0 3 2 4 3 2 1 0 4
Neueste Seite 3 2 1 0 0 0 4 3 2 1 0 4
    3 2 1 1 1 0 4 3 2 1 0
      3 2 2 2 1 0 4 3 2 1
Älteste Seite       3 3 3 2 1 0 4 3 2

Vermeidung[Bearbeiten]

In der Regel ist die Least-recently-used-Strategie (LRU) („am längsten ungenutzt“) FIFO vorzuziehen, da LRU Speicherseiten, die kürzlich benutzt wurden, nicht ersetzt. LRU kann aber zu FIFO degenerieren, d. h., wenn in Folge Speicherseiten angefordert werden, die nicht zusammenhängen, verhält sich LRU genau wie FIFO.

Eine weitere Strategie zur Vermeidung der FIFO-Anomalie ist der „Second-Chance-Algorithmus“. Hier wird jede Speicherseite bei einem Zugriff mit einem Zugriffsbit markiert und ein zyklischer Zeiger setzt das Zugriffsbit wieder auf 0. Ein zweiter Zeiger, der hinter dem ersten Zeiger liegt, prüft, ob in der Zwischenzeit ein erneuter Zugriff stattgefunden hat und gibt der Speicherseite gegebenenfalls eine neue Chance. Findet der zweite Zeiger den Eintrag unmarkiert vor, so wird die Speicherseite entfernt.