80 - 2 Einführung [ID:28098]
50 von 51 angezeigt

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

Teil eines Kapitels:
12.3 Speichervirtualisierung

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

Einbetten
Wordpress FAU Plugin
iFrame
Teilen