Virtueller Speicher im Betriebssystem: Was ist, Demand Paging, Vorteile
⚡ Intelligente Zusammenfassung
Virtueller Speicher ist ein Speichermechanismus, der dem Benutzer die Illusion eines großen Hauptspeichers vermittelt, indem ein Teil des Sekundärspeichers als RAM genutzt wird. Er ermöglicht die Ausführung von Prozessen, die größer als der physische Speicher sind, und wird mittels Demand Paging implementiert.

Was ist virtueller Speicher?
Virtueller Speicher Virtueller Speicher ist ein Speichermechanismus, der dem Benutzer die Illusion eines sehr großen Hauptspeichers vermittelt. Dies geschieht, indem ein Teil des Sekundärspeichers als Hauptspeicher behandelt wird. Im virtuellen Speicher kann der Benutzer Prozesse speichern, die größer sind als der verfügbare Hauptspeicher.
Anstatt einen langen Prozess in den Hauptspeicher zu laden, lädt das Betriebssystem daher die verschiedenen Teile von mehr als einem Prozess in den Hauptspeicher. Virtueller Speicher wird meist mit Demand-Paging und Demand-Segmentierung implementiert.
Warum brauchen Sie virtuellen Speicher?
Hier die Gründe für die Verwendung von virtuellem Speicher:
- Wenn im physischen Speicher Ihres Computers kein Platz mehr ist, schreibt er die zu speichernden Daten als virtuellen Speicher in eine Auslagerungsdatei auf die Festplatte.
- Wenn ein Computer läuft Windows benötigt mehr Arbeitsspeicher (RAM) als im System installiert ist; zu diesem Zweck wird ein kleiner Teil der Festplatte verwendet.
Wie funktioniert virtueller Speicher?
In der modernen Welt ist virtueller Speicher heutzutage weit verbreitet. Er kommt immer dann zum Einsatz, wenn zur Ausführung einige Seiten in den Hauptspeicher geladen werden müssen und dort nicht genügend Speicherplatz vorhanden ist.
Anstatt also zu verhindern, dass Seiten in den Hauptspeicher gelangen, sucht das Betriebssystem nach RAM-Speicherbereichen, die in letzter Zeit minimal genutzt wurden oder auf die nicht zugegriffen wird, und verschiebt diese in den Sekundärspeicher, um Platz für die neuen Seiten im Hauptspeicher zu schaffen.
Lass es uns verstehen Verwaltung des virtuellen Speichers anhand eines Beispiels.
Zum Beispiel
Nehmen wir an, ein Betriebssystem benötigt 300 MB Arbeitsspeicher, um alle laufenden Programme zu speichern. Aktuell stehen jedoch nur 50 MB Arbeitsspeicher (RAM) zur Verfügung.
- Das Betriebssystem richtet dann 250 MB virtuellen Speicher ein und verwendet ein Programm namens Virtual Memory Manager (VMM), um diese 250 MB zu verwalten.
- In diesem Fall erstellt der VMM also eine 250 MB große Datei auf der Festplatte, um den zusätzlich benötigten Speicherplatz zu speichern.
- Das Betriebssystem wird nun so auf den Speicher zugreifen, als ob es von 300 MB realem Speicher im RAM ausginge, auch wenn nur 50 MB Speicherplatz verfügbar sind.
- Die Aufgabe des VMM besteht darin, 300 MB Speicher zu verwalten, auch wenn nur 50 MB realer Speicherplatz zur Verfügung stehen.
Was ist Demand Paging?
Ein Demand-Paging-Mechanismus ist einem sehr ähnlich Paging-System mit Tauschping, wobei Prozesse im Sekundärspeicher gespeichert und Seiten nur bei Bedarf und nicht im Voraus geladen werden.
Wenn also ein Kontextwechsel stattfindet, kopiert das Betriebssystem weder Seiten des alten Programms von der Festplatte noch Seiten des neuen Programms in den Hauptspeicher. Stattdessen beginnt es nach dem Laden der ersten Seite mit der Ausführung des neuen Programms und ruft die referenzierten Seiten ab.
Wenn ein Programm während der Ausführung auf eine Seite zugreift, die möglicherweise nicht im Hauptspeicher verfügbar ist, weil sie ausgelagert wurde, betrachtet der Prozessor dies als ungültigen Speicherzugriff. Dies liegt daran, dass der Seitenfehler die Kontrolle vom Programm an das Betriebssystem zurückgibt, welches die Seite erneut in den Speicher laden muss.
Arten von Seitenersetzungsmethoden
Hier sind einige wichtige Methoden zum Ersetzen von Seiten:
- FIFO
- Optimaler Algorithmus
- LRU-Seitenersetzung
FIFO-Seitenersetzung
FIFO (First-in-first-out) ist eine einfache Implementierungsmethode. Bei dieser Methode wählt der Speicher die Seite für einen Ersatz aus, die sich am längsten in der virtuellen Adresse des Speichers befindet.
Eigenschaften
- Beim Laden einer neuen Seite wird die Seite entfernt, die sich am längsten im Speicher befand. Daher lässt sich leicht entscheiden, welche Seite entfernt werden soll, da ihre Identifikationsnummer immer ganz oben im FIFO-Stapel steht.
- Die älteste Seite im Hauptspeicher ist diejenige, die zuerst zum Ersetzen ausgewählt werden sollte.
Optimaler Algorithmus
Die optimale Methode zum Ersetzen von Seiten wählt die Seite zum Ersetzen aus, für die die Zeit bis zum nächsten Verweis am längsten ist.
Eigenschaften
- Der optimale Algorithmus führt zu der geringsten Anzahl an Seitenfehlern. Dieser Algorithmus ist schwierig zu implementieren.
- Ein optimaler Seitenersetzungsalgorithmus weist die niedrigste Seitenfehlerrate aller Algorithmen auf. Dieser Algorithmus existiert und sollte MIN oder OPT genannt werden.
- Ersetzen Sie die Seite, die voraussichtlich längere Zeit nicht verwendet wird. Die Seite wird nur dann genutzt, wenn sie benötigt wird.
LRU-Seitenersetzung
LRU steht für „Least Recently Used“ (am längsten nicht verwendete Seite). Diese Methode hilft dem Betriebssystem, die Seitennutzung über einen kurzen Zeitraum zu ermitteln. Dieser Algorithmus wird implementiert, indem jeder Seite ein Zähler zugeordnet wird.
Wie funktioniert es?
- Diejenige Seite, die am längsten nicht im Hauptspeicher verwendet wurde, wird zur Ersetzung ausgewählt.
- Einfach umzusetzen, eine Liste führen, Seiten durch einen Blick zurück in die Zeit ersetzen.
Eigenschaften
- Die LRU-Ersetzungsmethode weist die höchste Zählrate auf. Dieser Zähler wird auch als Alterungsregister bezeichnet und gibt an, wie alt die zugehörigen Seiten sind und wie oft sie referenziert werden sollen.
- Diejenige Seite, die am längsten nicht im Hauptspeicher verwendet wurde, sollte zum Austausch ausgewählt werden.
- Es führt auch eine Liste und ersetzt Seiten, indem es in die Zeit zurückblickt.
Fehlerquote
Die Ausfallrate ist die Häufigkeit, mit der ein System oder eine Komponente ausfällt. Sie wird in Ausfällen pro Zeiteinheit angegeben und mit dem griechischen Buchstaben λ (Lambda) bezeichnet.
Vorteile des virtuellen Speichers
Hier die Vorteile der Verwendung von virtuellem Speicher:
- Virtueller Speicher hilft dabei, an Geschwindigkeit zu gewinnen, wenn nur ein bestimmter Programmabschnitt für die Ausführung des Programms benötigt wird.
- Es ist sehr hilfreich bei der Implementierung einer Multiprogrammierungsumgebung.
- Damit können Sie mehrere Anwendungen gleichzeitig ausführen.
- Es hilft Ihnen, viele große Programme in kleinere Programme zu integrieren.
- Gemeinsame Daten oder Codes können vom Speicher gemeinsam genutzt werden.
- Ein Prozess kann sogar größer werden als der gesamte physische Speicher.
- Daten/Code sollten bei Bedarf von der Festplatte gelesen werden.
- Der Code kann an einer beliebigen Stelle im physischen Speicher abgelegt werden, ohne dass eine Verschiebung erforderlich ist.
- Im Hauptspeicher sollen mehr Prozesse vorgehalten werden, was die effektive CPU-Auslastung erhöht.
- Jede Seite wird auf einer Festplatte gespeichert, bis sie benötigt wird; danach wird sie gelöscht.
- Dadurch können mehr Anwendungen gleichzeitig ausgeführt werden.
- Es gibt keine spezifische Grenze für den Grad der Multiprogrammierung.
- Es sollten große Programme geschrieben werden, da der verfügbare virtuelle Adressraum im Vergleich zum physischen Speicher größer ist.
Nachteile des virtuellen Speichers
Hier sind die Nachteile der Verwendung von virtuellem Speicher:
- Anwendungen werden möglicherweise langsamer ausgeführt, wenn das System virtuellen Speicher verwendet.
- Das Umschalten zwischen Anwendungen benötigt wahrscheinlich mehr Zeit.
- Es bietet Ihnen weniger Festplattenspeicher zur Verfügung.
- Es verringert die Systemstabilität.
- Es ermöglicht die Ausführung größerer Anwendungen auf Systemen, die allein nicht über genügend physischen Arbeitsspeicher (RAM) verfügen.
- Es bietet nicht die gleiche Leistung wie RAM.
- Es wirkt sich negativ auf die Gesamtleistung eines Systems aus.
- Es belegt Speicherplatz, der ansonsten für die langfristige Datenspeicherung genutzt werden könnte.

