Virtueller Speicher ist ein Speicherschema, das dem Benutzer die Illusion vermittelt, über einen sehr großen Hauptspeicher zu verfügen. Dies geschieht, indem ein Teil des Sekundärspeichers als Hauptspeicher behandelt wird.
Bei diesem Schema kann der Benutzer Prozesse laden, die größer sind als der verfügbare Hauptspeicher, indem er die Illusion hat, dass der Speicher zum Laden des Prozesses verfügbar ist.
Anstatt einen großen Prozess in den Hauptspeicher zu laden, lädt das Betriebssystem die verschiedenen Teile von mehr als einem Prozess in den Hauptspeicher.
Dadurch wird der Multiprogramming-Grad erhöht und damit auch die CPU-Auslastung erhöht.
Wie funktioniert virtueller Speicher?
In der modernen Welt ist virtueller Speicher heutzutage weit verbreitet. Wenn bei diesem Schema einige Seiten für die Ausführung in den Hauptspeicher geladen werden müssen und der Speicher für diese vielen Seiten nicht verfügbar ist, sucht das Betriebssystem in diesem Fall nach, anstatt zu verhindern, dass die Seiten in den Hauptspeicher gelangen Kopieren Sie den RAM-Bereich, der in letzter Zeit am wenigsten genutzt wurde oder auf den nicht verwiesen wird, und kopieren Sie ihn in den Sekundärspeicher, um Platz für die neuen Seiten im Hauptspeicher zu schaffen.
Da dieser Vorgang automatisch abläuft, hat der Computer das Gefühl, über unbegrenzten Arbeitsspeicher zu verfügen.
Bedarfspaging
Demand Paging ist eine beliebte Methode zur Verwaltung des virtuellen Speichers. Beim Demand-Paging werden die am wenigsten genutzten Seiten eines Prozesses im Sekundärspeicher abgelegt.
Eine Seite wird in den Hauptspeicher kopiert, wenn sie angefordert wird oder ein Seitenfehler auftritt. Es gibt verschiedene Seitenersetzungsalgorithmen, mit denen ermittelt wird, welche Seiten ersetzt werden. Wir werden jeden einzelnen davon später im Detail besprechen.
Snapshot eines virtuellen Speicherverwaltungssystems
Nehmen wir an, dass zwei Prozesse, P1 und P2, jeweils 4 Seiten enthalten. Jede Seitengröße beträgt 1 KB. Der Hauptspeicher enthält 8 Frames zu je 1 KB. Das Betriebssystem befindet sich in den ersten beiden Partitionen. In der dritten Partition, 1stSeite von P1 wird gespeichert und die anderen Frames werden ebenfalls als mit den verschiedenen Seiten von Prozessen im Hauptspeicher gefüllt angezeigt.
Die Seitentabellen beider Seiten sind jeweils 1 KB groß und passen daher in jeweils einen Frame. Die Seitentabellen beider Prozesse enthalten verschiedene Informationen, die auch im Bild angezeigt werden.
Die CPU enthält ein Register, das die Basisadresse der Seitentabelle enthält, die im Fall von P1 5 und im Fall von P2 7 ist. Diese Basisadresse der Seitentabelle wird zur Seitennummer der logischen Adresse hinzugefügt, wenn auf den tatsächlichen entsprechenden Eintrag zugegriffen werden soll.
Vorteile des virtuellen Speichers
- Der Multiprogramming-Grad wird erhöht.
- Der Benutzer kann große Anwendungen mit weniger echtem RAM ausführen.
- Es besteht keine Notwendigkeit, mehr Arbeitsspeicher zu kaufen.
Nachteile des virtuellen Speichers
- Das System wird langsamer, da der Austausch Zeit braucht.
- Der Wechsel zwischen Anwendungen dauert länger.
- Dem Benutzer steht weniger Festplattenspeicher zur Verfügung.