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

Inhaltsverzeichnis:

Anonim

Was ist virtueller Speicher?

Der virtuelle Speicher ist ein Speichermechanismus, der dem Benutzer die Illusion vermittelt, einen sehr großen Hauptspeicher zu haben. Dazu wird ein Teil des Sekundärspeichers als Hauptspeicher behandelt. Im virtuellen Speicher kann der Benutzer Prozesse mit einer größeren Größe als dem verfügbaren Hauptspeicher speichern.

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. Der virtuelle Speicher wird hauptsächlich mit Bedarfs-Paging und Bedarfssegmentierung implementiert.

In diesem Tutorial zum Betriebssystem lernen Sie:

  • Was ist virtueller Speicher?
  • Wie funktioniert der virtuelle Speicher?
  • Was ist Demand Paging?
  • Arten von Methoden zum Ersetzen von Seiten
  • FIFO-Seitenersatz
  • Optimaler Algorithmus
  • LRU-Seitenersatz
  • Vorteile des virtuellen Speichers
  • Nachteile des virtuellen Speichers

Warum benötigen Sie virtuellen Speicher?

Hier sind Gründe für die Verwendung des virtuellen Speichers:

  • Wenn Ihr Computer keinen Speicherplatz im physischen Speicher hat, schreibt er das, woran er sich erinnern muss, als virtuellen Speicher auf die Festplatte in einer Auslagerungsdatei.
  • Wenn ein Computer unter Windows mehr Speicher / RAM benötigt und dann im System installiert ist, verwendet er zu diesem Zweck einen kleinen Teil der Festplatte.

Wie funktioniert der virtuelle Speicher?

In der modernen Welt ist virtuelles Gedächtnis heutzutage weit verbreitet. Es wird immer dann verwendet, wenn 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.

In diesem Fall sucht das Betriebssystem, anstatt zu verhindern, dass Seiten in den Hauptspeicher gelangen, nach dem RAM-Speicherplatz, der in letzter Zeit mindestens verwendet wurde oder auf den nicht im Sekundärspeicher verwiesen wird, um den Speicherplatz für die neuen Seiten zu schaffen der Hauptspeicher.

Lassen Sie uns die Verwaltung des virtuellen Speichers anhand eines Beispiels verstehen.

Zum Beispiel:

Nehmen wir an, ein Betriebssystem benötigt 300 MB Speicher, um alle laufenden Programme zu speichern. Derzeit sind jedoch nur 50 MB 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 eine Datei auf der Festplatte mit einer Größe von 250 MB, um den erforderlichen zusätzlichen Speicher zu speichern.
  • Das Betriebssystem fährt nun mit dem Adressspeicher fort, da 300 MB realer Speicher im RAM berücksichtigt werden, selbst wenn nur 50 MB Speicherplatz verfügbar sind.
  • Es ist die Aufgabe des VMM, 300 MB Speicher zu verwalten, selbst wenn nur 50 MB realer Speicherplatz verfügbar sind.

Was ist Demand Paging?

Ein Bedarfs-Paging-Mechanismus ist einem Paging-System mit Austausch sehr ähnlich, 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 eine der Seiten des alten Programms von der Festplatte oder eine der Seiten des neuen Programms in den Hauptspeicher. Stattdessen wird das neue Programm nach dem Laden der ersten Seite ausgeführt und die Seiten des Programms abgerufen, 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 ausgetauscht wurde, betrachtet der Prozessor sie als ungültige Speicherreferenz. Dies liegt daran, dass der Seitenfehler und die Übertragungen die Steuerung vom Programm an das Betriebssystem zurücksenden, das das Speichern der Seite im Speicher erfordert.

Arten von Seitenersetzungsmethoden

Hier sind einige wichtige Methoden zum Ersetzen von Seiten

  • FIFO
  • Optimaler Algorithmus
  • LRU-Seitenersatz

FIFO-Seitenersatz

FIFO (First-In-First-Out) ist eine einfache Implementierungsmethode. Bei dieser Methode wählt der Speicher die Seite für einen Ersatz aus, der sich am längsten in der virtuellen Adresse des Speichers befindet.

Eigenschaften:

  • Immer wenn eine neue Seite geladen wird, wird die Seite, die kürzlich in den Speicher gelangt ist, entfernt. So 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 für einen Ersatz aus, für den die Zeit bis zur nächsten Referenz am längsten ist.

Eigenschaften:

  • Ein optimaler Algorithmus führt zu der geringsten Anzahl von Seitenfehlern. Dieser Algorithmus ist schwer zu implementieren.
  • Eine optimale Methode zum Ersetzen von Seiten hat die niedrigste Seitenfehlerrate aller Algorithmen. Dieser Algorithmus existiert und sollte MIN oder OPT heißen.
  • Ersetzen Sie die Seite, die im Gegensatz zu einer längeren Verwendung nicht verwendet werden kann. Es wird nur die Zeit verwendet, zu der eine Seite verwendet werden muss.

LRU-Seitenersatz

Die vollständige Form von LRU ist die am wenigsten zuletzt 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 seit langem nicht mehr im Hauptspeicher verwendet wird, wird zum Ersetzen ausgewählt.
  • Einfach zu implementieren, eine Liste zu führen, Seiten zu ersetzen, indem Sie in die Zeit zurückblicken.

Eigenschaften:

  • Die LRU-Ersetzungsmethode hat die höchste Anzahl. Dieser Zähler wird auch als Alterungsregister bezeichnet, in denen das Alter angegeben ist und auf die zugehörigen Seiten verwiesen werden soll.
  • Die Seite, die am längsten nicht im Hauptspeicher verwendet wurde, sollte zum Ersetzen ausgewählt werden.
  • Es führt auch eine Liste und ersetzt Seiten, indem es in die Zeit zurückblickt.

Fehlerrate

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

Vorteile des virtuellen Speichers

Hier sind die Vor- und Nachteile der Verwendung von virtuellem Speicher:

  • Der virtuelle Speicher erhöht die Geschwindigkeit, wenn nur ein bestimmtes Segment des Programms für die Ausführung des Programms erforderlich ist.
  • Dies ist sehr hilfreich bei der Implementierung einer Multiprogrammierumgebung.
  • Sie können mehrere Anwendungen gleichzeitig ausführen.
  • Es hilft Ihnen, viele große Programme in kleinere Programme einzubauen.
  • Gemeinsame Daten oder Codes können zwischen dem Speicher geteilt 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 ein Umzug erforderlich ist.
  • Im Hauptspeicher sollten mehr Prozesse verwaltet werden, was die effektive Nutzung der CPU erhöht.
  • Jede Seite wird auf einer Festplatte gespeichert, bis sie danach benötigt wird. Sie wird entfernt.
  • Es können mehr Anwendungen gleichzeitig ausgeführt werden.
  • Es gibt keine spezifische Grenze für den Grad der Mehrfachprogrammierung.
  • Große Programme sollten geschrieben werden, da der verfügbare virtuelle Adressraum im Vergleich zum physischen Speicher größer ist.

Nachteile des virtuellen Speichers

Hier sind die Nachteile / Nachteile der Verwendung des virtuellen Speichers:

  • Anwendungen werden möglicherweise langsamer ausgeführt, wenn das System virtuellen Speicher verwendet.
  • Das Wechseln zwischen Anwendungen dauert wahrscheinlich länger.
  • Bietet weniger Festplattenspeicher für Ihre Verwendung.
  • Es reduziert die Systemstabilität.
  • Damit können größere Anwendungen auf Systemen ausgeführt werden, die nicht genügend physischen RAM bieten, um sie auszuführen.
  • Es bietet nicht die gleiche Leistung wie RAM.
  • Dies wirkt sich negativ auf die Gesamtleistung eines Systems aus.
  • Nehmen Sie den Speicherplatz ein, der andernfalls für die Langzeitdatenspeicherung verwendet werden kann.

Zusammenfassung:

  • Der virtuelle Speicher ist ein Speichermechanismus, der dem Benutzer die Illusion vermittelt, einen sehr großen Hauptspeicher zu haben.
  • Virtueller Speicher wird immer dann benötigt, wenn auf Ihrem Computer kein Speicherplatz im physischen Speicher vorhanden ist
  • Ein Bedarfs-Paging-Mechanismus ist einem Paging-System mit Austausch sehr ähnlich, bei dem im Sekundärspeicher gespeicherte Prozesse und Seiten nur bei Bedarf und nicht im Voraus geladen werden.
  • Wichtige Methoden zum Ersetzen von Seiten sind 1) FIFO 2) Optimaler Algorithmus 3) Ersetzen von LRU-Seiten.
  • Bei der FIFO-Methode (First-In-First-Out) wählt der Speicher die Seite für einen Ersatz aus, der sich am längsten in der virtuellen Adresse des Speichers befindet.
  • Die optimale Methode zum Ersetzen von Seiten wählt die Seite für einen Ersatz aus, für den die Zeit bis zur nächsten Referenz am längsten ist.
  • Die LRU-Methode hilft dem Betriebssystem, die Seitennutzung über einen kurzen Zeitraum zu ermitteln.
  • Der virtuelle Speicher erhöht die Geschwindigkeit, wenn nur ein bestimmtes Segment des Programms für die Ausführung des Programms erforderlich ist.
  • Anwendungen werden möglicherweise langsamer ausgeführt, wenn das System virtuellen Speicher verwendet.