Nur die Seitenersetzung ist eigentlich eine Zukunftsfrage. Man muss in die Zukunft
blicken können, um zu wissen, welcher Seitenrahmen ist denn eigentlich auszuwählen,
wenn es denn darum geht, eine Seite einzulagern, eine Seite zu platzieren. Und das hat dann auch
damit zu tun, welche Seite wann wieder referenziert werden würde und demzufolge für den Prozess
eben im Hauptspeicher liegen muss. Nun ideal wäre es dann praktisch nachher für die Ersetzung immer
solche Seitenrahmen denn irgendwie auszuwählen, dessen Seite, die dann gerade in dem Rahmen halt
gespeichert ist am längsten, dann halt nicht mehr referenziert werden wird. Ja, das wäre ein idealer
Kandidat, weil wir dann die Seitenfehlerwahrscheinlichkeit natürlich auf Basis eines solchen Seitenrahmens
denn halt irgendwie senken könnten. Das ist eigentlich eine optimale Strategie, die nennt
man in der Literatur auch als die sogenannte MIN-Strategie, wo man sagt, wähle mal eine Seite,
die zukünftig eben nicht mehr erneut referenziert wird. Wenn es nun so eine Seite nicht gibt, wovon
man ja dann irgendwie durchaus ausgeben soll, dann soll man eben so eine Seite und einen Seitenrahmen
Zugehörigen halt da auswählen, dessen Seitenfehlerwahrscheinlichkeit am geringsten sein
würde. Ja, das ist eine optimale Strategie. Aber dazu muss man eben nur ein schlaues Orakel
besitzen und in die Zukunft schauen können, um genau denn solche Seiten oder solche Seitenrahmen
denn zu identifizieren. Und damit ist es eigentlich letztendlich unrealistisch und auch nicht wirklich
implementierbar, weil wir eben, um so etwas implementieren zu können, eben die Referenzfolge
eines Prozesses und nicht nur eines, sondern alle Prozesse im Rechensystem im Voraus kennen
müssten. Und ich hatte ja schon erwähnt, nur in seltenen Fällen, also in besonderen Betriebsarten
bei Echtzeitsystemen zum Beispiel kann man denn davon ausgehen, dass man so eine Referenzfolge
vorausbestimmen kann. Das macht man zum Beispiel auch bei der sogenannten WZ-Analyse, der
Worst Case Execution Time Analyse von Prozessen. Dazu müsste man aber sagen können, dass der
Ablauffahrt in so einem Programm für den Prozess eben absehbar ist, dass denn alle
Eingabewerte vorherbestimmt sind. Man kennt die in dem Moment, wo man dann praktisch die
Referenzfolge des Prozesses für die Zukunft bestimmen möchte. Wir müssten Situationen
eben haben, wo denn alle Programmverzweigungen, die eben insbesondere auch durch Programmunterbrechungen
wären, vorhersagbar sind. Sind sie aber im Regelfall eben nicht. Weshalb denn so eine
Implementierung einfach nicht möglich ist. Was man nun machen kann ist, zu versuchen,
eine möglichst gute Approximation halt anzugeben. Also zu einer Lösung zu kommen, wo man sagt,
das ist eine hohe Wahrscheinlichkeit, dass genau denn diese ausgewählte Seite demnächst,
in der nächsten kürzeren Zeit nicht erneut von den Prozessen referenziert werden würde.
Und auf solche Approximationsverfahren, da gehen wir jetzt letztendlich ein, die denn
überhaupt eine Chance halt haben, eben eine vernünftige Implementierungsgrundlage zu geben.
Wir bilden hier Wissen praktisch über die Zukunft ab, indem wir halt auf Wissen der
Vergangenheit und der Gegenwart von Seiten zugriffen, denn zurückgreifen und diese Zukunftwissen
sind eher wirklich nur Annahmen. Wir können also nie sagen, dass er zu 100 Prozent halt
auch wirklich zutreffen wird, aber wir wollen möglichst nah an diese, sagen wir mal, garantierte
Zusage dann irgendwie herankommen. Da hat man einmal so ein Verfahren FIFO. Da würde
man dann einfach sagen, okay, wenn es zu einer Ersetzung kommt, dann nehmen wir dann die
Seite, die als erste, zeitlich als erste eingelagert worden ist. Man kann hier Zeitstempel verwenden
oder man verkettet einfach dann die Seiten, wenn sie eingelagert werden. Und dann würde
man einfach nach dem FIFO Prinzip wie so eine Q einfach denn die Seite nehmen, die vorne
steht und praktisch den betreffenden Seitenrahmen, worauf denn diese Seite jetzt gerade liegt,
verwenden, um halt eine neue Seite in den Hauptspeicher denn letztendlich zu bringen.
Und dann würde diese neue Seite ans Ende dieser Wadeschlange praktisch platziert werden.
Da gibt es eine magische Anomalie. In der Literatur läuft es unter den Begriff Belladies
Anomalie, wo man folgende Situationen wirklich messen kann, wo Experimente auch gemacht worden
sind, die das dann bestätigt haben, wo eine Situation auftritt, dass wenn man mehr Seitenrahmen,
also die Anzahl der residenten Seiten für den Prozess dann vergrößern würde, wenn
man die mehr Seitenrahmen zur Verfügung hätte, würde man ja normalerweise erwarten,
Presenters
Zugänglich über
Offener Zugang
Dauer
00:29:01 Min
Aufnahmedatum
2021-01-18
Hochgeladen am
2021-01-18 12:59:32
Sprache
de-DE