Virtueller Speicher im Betriebssystem: Was ist, Demand Paging, Vorteile

Was ist virtueller Speicher?

Virtueller Speicher ist ein Speichermechanismus, der 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. 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 sind Gründe für die Verwendung von virtuellem Speicher:

  • Wenn Ihr Computer keinen Platz im physischen Speicher hat, schreibt er das, was er sich merken muss, in einer Auslagerungsdatei als virtuellen Speicher auf die Festplatte.
  • Wenn ein Computer unter Windows mehr Arbeitsspeicher/RAM benötigt, als im System installiert ist, nutzt er für diesen Zweck einen kleinen Teil der Festplatte.

Wie funktioniert virtueller Speicher?

In der modernen Welt ist virtueller Speicher heutzutage weit verbreitet. Es wird immer dann verwendet, wenn für die Ausführung einige Seiten in den Hauptspeicher geladen werden müssen und der Speicher für diese vielen Seiten nicht verfügbar ist.

Anstatt also zu verhindern, dass Seiten in den Hauptspeicher gelangen, sucht das Betriebssystem nach dem RAM-Speicherplatz, der in letzter Zeit am wenigsten genutzt wurde oder auf den nicht im Sekundärspeicher verwiesen wird, um Platz für die neuen Seiten zu schaffen der Hauptspeicher.

Lass uns verstehen Verwaltung des virtuellen Speichers anhand eines Beispiels.

Zum Beispiel

Nehmen wir an, dass ein Betriebssystem 300 MB Speicher benötigt, um alle laufenden Programme zu speichern. Derzeit sind jedoch nur 50 MB verfügbarer physischer Speicher im RAM gespeichert.

  • 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 Datei mit einer Größe von 250 MB auf der Festplatte, um den zusätzlich benötigten Speicher zu speichern.
  • Das Betriebssystem wird nun mit der Adressierung des Speichers fortfahren, da es 300 MB realen Speicher im RAM berücksichtigt, auch wenn nur 50 MB Speicherplatz verfügbar sind.
  • Es ist die Aufgabe des VMM, 300 MB Speicher zu verwalten, auch wenn nur 50 MB realer Speicherplatz verfügbar sind.

Was ist Demand Paging?

Bedarfspaging

Ein Demand-Paging-Mechanismus ist einem sehr ähnlich Paging-System mit Swapping, bei dem im Sekundärspeicher gespeicherte Prozesse und Seiten nur bei Bedarf und nicht im Voraus geladen werden.

Wenn also ein Kontextwechsel auftritt, kopiert das Betriebssystem niemals Seiten des alten Programms von der Festplatte oder 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 Seiten des Programms ab, auf die verwiesen wird.

Wenn das Programm während der Programmausführung auf eine Seite verweist, die möglicherweise nicht im Hauptspeicher verfügbar ist, weil sie ausgelagert wurde, betrachtet der Prozessor dies als ungültige Speicherreferenz. Das liegt daran, dass der Seitenfehler und die Übertragungen die Kontrolle vom Programm zurück an das Betriebssystem senden, das verlangt, die Seite wieder im Speicher zu speichern.

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

  • Immer wenn eine neue Seite geladen wird, wird die Seite, die zuletzt im Speicher war, entfernt. Daher ist es einfach zu entscheiden, welche Seite entfernt werden muss, da sich ihre Identifikationsnummer immer im FIFO-Stapel befindet.
  • Die älteste Seite im Hauptspeicher sollte zuerst zum Ersetzen ausgewählt werden.

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

  • Ein optimaler Algorithmus führt zu der geringsten Anzahl an Seitenfehlern. Dieser Algorithmus ist schwierig zu implementieren.
  • Eine optimale Seitenersetzungsalgorithmusmethode weist die niedrigste Seitenfehlerrate aller Algorithmen auf. Es gibt diesen Algorithmus, der MIN oder OPT heißen sollte.
  • Ersetzen Sie die Seite, die nicht über einen längeren Zeitraum verwendet werden soll. Es verwendet nur die Zeit, in der eine Seite verwendet werden muss.

LRU-Seitenersetzung

Die vollständige Form von LRU ist die am wenigsten kürzlich verwendete Seite. Diese Methode hilft dem Betriebssystem, die Seitennutzung über einen kurzen Zeitraum zu ermitteln. Dieser Algorithmus sollte implementiert werden, indem ein Zähler einer geraden Seite zugeordnet wird.

Wie funktioniert es?

  • Die Seite, die im Hauptspeicher die längste Zeit nicht verwendet wurde, wird zum Ersetzen ausgewählt.
  • Einfach umzusetzen, eine Liste führen, Seiten durch einen Blick zurück in die Zeit ersetzen.

Eigenschaften

  • Die LRU-Ersetzungsmethode hat die höchste Anzahl. Dieser Zähler wird auch als Alterungsregister bezeichnet und gibt an, wie alt die Seiten sind und wie oft auch auf die zugehörigen Seiten verwiesen werden soll.
  • Die Seite, die im Hauptspeicher die längste Zeit nicht verwendet wurde, sollte zum Ersetzen ausgewählt werden.
  • Es führt auch eine Liste und ersetzt Seiten, indem es in die Zeit zurückblickt.

Fehlerquote

Die Fehlerrate ist die Häufigkeit, mit der ein entworfenes System oder eine Komponente ausfällt. Sie wird in Ausfällen pro Zeiteinheit ausgedrückt. Es wird mit dem griechischen Buchstaben ? bezeichnet. (Lambda).

Vorteile des virtuellen Speichers

Hier sind die Vorteile/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.
  • Der 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 entfernt.
  • 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 größer ist als der physische Speicher.

Nachteile des virtuellen Speichers

Hier sind die Nachteile/Nachteile der Verwendung von virtuellem Speicher:

  • Anwendungen werden möglicherweise langsamer ausgeführt, wenn das System virtuellen Speicher verwendet.
  • Es dauert wahrscheinlich länger, zwischen Anwendungen zu wechseln.
  • Bietet weniger Festplattenspeicher für Ihre Verwendung.
  • Es verringert die Systemstabilität.
  • Dadurch können größere Anwendungen auf Systemen ausgeführt werden, die nicht über ausreichend physischen RAM verfügen, um sie auszuführen.
  • Es bietet nicht die gleiche Leistung wie RAM.
  • Es wirkt sich negativ auf die Gesamtleistung eines Systems aus.
  • Belegen Sie den Speicherplatz, der andernfalls zur langfristigen Datenspeicherung genutzt werden könnte.

Zusammenfassung

  • Virtueller Speicher ist ein Speichermechanismus, der dem Benutzer die Illusion vermittelt, über einen sehr großen Hauptspeicher zu verfügen.
  • Virtueller Speicher wird immer dann benötigt, wenn Ihr Computer keinen Platz im physischen Speicher hat
  • Ein Demand-Paging-Mechanismus ähnelt stark einem Paging-System mit Auslagerung, bei dem im Sekundärspeicher gespeicherte Prozesse und Seiten nur bei Bedarf und nicht im Voraus geladen werden.
  • Wichtige Seitenersetzungsmethoden sind 1) FIFO 2) Optimaler Algorithmus 3) LRU-Seitenersetzung.
  • Bei der FIFO-Methode (First-in-first-out) wählt der Speicher die Seite für einen Ersatz aus, die sich am längsten in der virtuellen Adresse des Speichers befindet.
  • 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.
  • Die LRU-Methode hilft dem Betriebssystem, die Seitennutzung über einen kurzen Zeitraum zu ermitteln.
  • Virtueller Speicher hilft dabei, an Geschwindigkeit zu gewinnen, wenn nur ein bestimmter Programmabschnitt für die Ausführung des Programms benötigt wird.
  • Anwendungen werden möglicherweise langsamer ausgeführt, wenn das System virtuellen Speicher verwendet.