85 - 7 Lokale Verfahren [ID:28103]
50 von 156 angezeigt

Nun eine etwas andere Herangehensweise in der Ersetzungsstrategie, nämlich möglichst

auf PageFaults und diese Techniken, diese Trepps, die man da halt hat zu verzichten,

ist die Technik der Freiseitenpuffer. Das ist schon ein Verfahren, was dann zu den lokalen

Verfahren halt gilt. Die hat man als Grundlage FIFO und man wird dann zusätzlich zu dieser FIFO

Variante eben einen Zwischenspeicher, einen Cache von potentiell zu ersetzenden Seiten halten.

Typischerweise hat man hier zwei Listen, wo man denn modifizierte und unmodifizierte Seiten

letztendlich auseinanderhält, wenn man ja weiß, dass wenn man dann die modifizierten Seiten halt

verwenden, betrachten muss und Seitenrahmen dafür halt als für die Einlagung einer Seite halt nutzt,

denn ist vorher die Seite, die dort liegt, eben auszuladen. Also teurer. Man würde dann,

hat man damit so eine gewisse Vorrangliste, die man halt definiert, wo man erstmal die

unmodifizierten Seiten betrachtet und dann halt die modifizierten Seiten. Man wird jetzt die Seiten,

die in sich in so einem Zwischenspeicher befinden, eben als logisch abwesend halt verstehen. Das ist

ein Wörterchen durch das Präsenzbit, denn eben dargestellt, indem dann praktisch das Präsenzbit

dieser Seiten, in den Seiten des Kapturen im Betreffen, dann eben gelöscht ist, obwohl praktisch

die Seite physisch noch vorhanden ist. Sie ist aber nur betrachtet worden als ein potentieller

Ersetzungskandidat und liegt deshalb in den Zwischenspeicher. Nach FIFO kommt die Seite

hinten ran, liegt also, ist eine Fußseite der betreffenden Liste, die man da hat. Wenn jetzt ein

Zugriffsfehler auf so einer Seite geschieht, die im Zwischenspeicher liegt, dann wird man die

reklamieren. Dann hat man die fälschlicherweise sozusagen erstmal auf diese potenzielle

Auslagerungsliste denn gesetzt. Man holt die dann einfach von dort zurück und wird das Präsenzbit

halt entsprechend setzen in dem jeweiligen Seiten des Kaptur. Stellt mal bei so einem Zugriffsfehler

dann halt fest, dass man, dass es eine Seite ist, auf die man sich bezieht, die nicht in diesem

Zwischenspeicher liegt, dann nimmt man einfach die erste Seite, die man vorne findet, die ist am Kopf

der Warteschlange letztendlich und holt die dann aus der entsprechenden Liste dann halt heraus und

wird dann nach einer Strategie fahren, wo man sagt, okay, die zuerst eingelagerte und letzten

ungenutzte Seite würde dann halt betrachtet werden. Nun ist es so, dass man praktisch im

Hintergrund der Pager, der schaut sich im Hintergrund permanent letztendlich diese

Seitendiskriptoren an und versucht dann diesen Zwischenspeicher, die Reserve, die in diesem

Zwischenpreicher dann gegeben ist, dann eben zu definieren und casht sozusagen potenzielle

Seiten. Da gibt es dann gewisse Schwellwerte, die dann der Pager dann halt betrachtet, so ein

Low Watermark, dann geht er halt hin und wird dann versuchen, eben mehr Seitenrahmen potenziell als

frei zu markieren, indem man sich dann letztendlich die entsprechenden Status Bits anschaut und dann

diese Seiten in die entsprechenden Cues, beiden Warteschlangen, dann einfach einträgt und damit

zwischenspeichert. Auf der anderen Seite, wenn man so den größeren, den High Watermark Bereich als

Schwellwert denn erkennt, dann stellt man fest, dass zu viele Seitenrahmen brach liegen. Man wird

dann einfach Seiten einlagern. Man hat ja potenzielle freie Seitenrahmen drin und dann kommt es hier

sozusagen zu dem Vorausladen von Seiten. Wenn es optimal läuft mit diesem, mit dieser freiseiten

Puffer, dann ist die Ersetzungszeit, die man halt hat, praktisch gleich der Ladezeit einer entsprechenden

Seite und die Anzahl der Page Falls können dadurch durchaus minimiert werden im Vergleich zu den

anderen Techniken, die wir vorher besprochen haben. Nun eine andere Variante, die eben auch zu den

lokalen Verfahren zählt, ist das sogenannte Working Set Modell, also das Modell der Arbeitsmenge. Nun,

was ist denn eine Arbeitsmenge? Da müssen wir, wenn man mal den Standpunkt eines Prozesses halt

einnehmen, dann würde man sagen, okay, das ist die kleinste Sammlung von Programm, Text und Daten.

Dieses Prozess, das man gerade betrachtet, die in einem Hauptspeicher vorliegen muss, damit überhaupt

eine effiziente Programmausführung für diesen Prozess zugesichert werden kann. Da müssen wir

in die Zukunft gucken, was wird der Prozess denn demnächst machen und genau dafür müsste man die

kleinste Sammlung, die minimale Anzahl von Seiten, denn letztendlich auf Seitenrahmen abgebildet

haben. Wenn man jetzt hier nicht a priori Wissen mit einbringt, dann wird man diese Menge eigentlich

aus Prozesssicht so in der Form überhaupt gar nicht wirklich bestimmen können. Das Vorabwissen

ist im Regelfall eben nicht verfügbar. Eine statische Analyse von den Programmen können wir

Teil eines Kapitels:
12.3 Speichervirtualisierung

Zugänglich über

Offener Zugang

Dauer

00:16:26 Min

Aufnahmedatum

2021-01-18

Hochgeladen am

2021-01-18 11:59:29

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen