Starten wir zunächst mit der Einführung in die Speichervirtualisierung. Es gibt zwei zentrale
Aufgaben zur Speichervirtualisierung. Das ist nämlich einerseits die sogenannte Lade-Straturgie
und andererseits die Ersetzungs-Straturgie. Nun die Lade-Straturgie geht der Frage nach,
wann ein bestimmtes Datum im Hauptspeicher liegen muss oder in den Hauptspeicher gebracht wird. Und
das wann bezieht sich auf einen bestimmten Zeitpunkt. In dem Moment, wo ein Prozess dieses
Datum benötigt oder möglicherweise ein Stück früher. Die Ersetzungs-Straturgie löst das
Problem, was man im Falle einer Speicherüberbelingung macht und zwar, dass der Hauptspeicher komplett
voll ist und demzufolge zum Beispiel eine Lade-Straturgie gar kein neues Datum einlagern
kann, weil der Speicher voll ist. Oder, wenn man jetzt an die Platzierungsstrategie von der letzten
Woche denkt, dass eine Speicheranforderung nicht sofort erfüllbar ist, weil der Hauptspeicher voll
ist. Nun hat man zwei Möglichkeiten. Entweder lässt man den Prozess, der jetzt diese Anforderungen
stellt oder für den etwas eingelagert werden soll, solange warten bis wieder freier Speicher,
Hauptspeicher zur Verfügung steht oder man geht anders ran und sucht sich praktisch Prozesse oder
wenigstens einen Prozess, der praktisch Hauptspeicher Platz belegt und entzieht diesen Prozess eine
bestimmte Menge von Hauptspeicheranteilen, um denn diesen Speicher damit freizuräumen und damit eine
Lade-Strategie halt weiter laufen lassen zu können oder eine Platzierungsstrategie entsprechend
weiter laufen lassen zu können. Ersetzungsstrategie, Entzug bedeutet denn letztendlich, dass man den
Speicherbereich, der ja jetzt bereits von einem Prozess benutzt und belegt ist, wo etwas drin
liegt in dem Speicherbereich, den Inhalt ersetzt man letztlich und stellt damit praktisch mit der
Ersetzung diesen Speicherbereich einem anderen Prozess zur Verfügung. Wir wollen hier die
Vor- und Nachteile dieser Virtualisierungstechnik auf dem Speicherbereich mal ein bisschen versuchen
zu erkennen und den auch ein bisschen vielleicht beziffern zu können. Dazu werden wir auch so ein
Teil von Berechnung durchführen. Nun diese Speichervirtualisierung kann man jetzt entweder
als ein benutzerorientiertes oder systemorientiertes Kriterium denn letztendlich begreifen. Auch da
wollen wir so ein Stück weit darauf eingehen, auf diese Unterschiede, die wir haben. Wir werden sehen,
dass man mit Speichervirtualisierung zum Beispiel einen Prozess, der viel zu groß eigentlich ist,
um in den realen Hauptspeicher praktisch hinein zu passen, dass man den dennoch laufen lassen kann.
Oder natürlich, dass man sehr viele Prozesse laufen lassen kann, wo sozusagen die Summe des
Hauptspeicherbedarfs all dieser Prozesse einfach zu groß ist, als dass der physisch zuvor für
stehende Hauptspeicher in der Lage ist, dann praktisch alle diese Daten und auch die Textbestandteile
der Prozesse aufnehmen zu können. Und damit hat man auch einen Mechanismus, um bei sehr vielen
Prozessen eben letztendlich den Grad an mehr Programmbetrieb zu maximieren, also den nach
oben zu drücken, viel mehr Programme letztlich im Rechensystem laufen lassen zu können, als der
Hauptspeicher eigentlich für diese Programme, wenn man die jeweils als komplett der Einheit
begreifen würde, zur Verfügung stellen würde. Wir werden sehen, dass hier natürlich eine gewisse
dynamische Bindung zwischen der virtuellen Adresse eines Prozesses und der realen Adresse
im Arbeitsspeicher existiert. Also wir haben ja hier diese Adressabbildung früher schon behandelt
und hier geht es eben konkret darum, bei einer virtuellen Adresse, dass man hier nicht nur eine
dynamische Bindung zwischen virtuellen Adresse und realen Adresse im Hauptspeicher macht,
sondern die Daten oder die Objekte, die man über diese Adresse praktisch erreicht,
die können im Arbeitsspeicher, sie liegen im Arbeitsspeicher und sie können demzufolge im
Ablagesspeicher, also als Teil des Dateisystems, denn durchaus verstanden werden. Es kann so ja
so weit gehen, dass wenn wir ein Rechnernetz haben, dass man dann die Objekte sozusagen auch in den
Hauptspeichern entfernter Rechner ablegen könnte. Und diese Speichervirtualisierung und diese
Begriff der virtuellen Adresse eben es ermöglicht, dass zumindest funktional transparent für die
Prozesse die Zugriffe auf solche Objekte im Arbeitsspeicher jederzeit möglich sind,
sofern diese Adressen gültig sind, also zu dem Adressvorrat des Prozesses dann letztlich
denn wirklich gehören. Und dann ist es unabhängig davon, wo konkret physisch denn letztendlich diese
einzelnen Objekte liegen, ob sie jetzt im Ablagesspeicher liegen oder etwa im per Fernzugriff
in den Hauptspeichern anderer Rechnersysteme, die mit dem einem Rechnersystem, wo sich jetzt
Presenters
Zugänglich über
Offener Zugang
Dauer
00:05:32 Min
Aufnahmedatum
2021-01-18
Hochgeladen am
2021-01-18 10:38:50
Sprache
de-DE