Das Konzept des virtuellen Speichers in der Computerarchitektur


Virtueller Speicher ist ein wertvolles Konzept in der Computerarchitektur, mit dem Sie große, anspruchsvolle Programme auf einem Computer ausführen können, selbst wenn dieser über relativ wenig RAM verfügt. Ein Computer mit virtuellem Speicher jongliert kunstvoll mit den widersprüchlichen Anforderungen mehrerer Programme innerhalb einer festgelegten Menge an physischem Speicher. Ein PC mit wenig Arbeitsspeicher kann dieselben Programme wie ein PC mit reichlich RAM ausführen, allerdings langsamer.

Physische und virtuelle Adressen


Ein Computer greift über ein Adressensystem auf den Inhalt seines RAM zu, bei dem es sich im Wesentlichen um Zahlen handelt, die jedes Byte lokalisieren. Da die Speichermenge von PC zu PC unterschiedlich ist, wird es schwierig zu bestimmen, welche Software auf einem bestimmten Computer funktioniert. Der virtuelle Speicher löst dieses Problem, indem jeder Computer so behandelt wird, als ob er über viel RAM verfügt, und jedes Programm so, als würde es ausschließlich den PC verwenden. Das Betriebssystem wie Microsoft Windows oder Apple OS X erstellt für jedes Programm eine Reihe virtueller Adressen. Das Betriebssystem übersetzt virtuelle Adressen in physische und passt Programme dynamisch in den Arbeitsspeicher an, sobald sie verfügbar sind.

Paging


Der virtuelle Speicher unterteilt Programme in Blöcke fester Größe, die als Seiten bezeichnet werden. Wenn ein Computer über ausreichend physischen Speicher verfügt, lädt das Betriebssystem alle Seiten eines Programms in den Arbeitsspeicher. Wenn nicht, passt das Betriebssystem so gut es geht und führt die Anweisungen auf diesen Seiten aus. Wenn der Computer mit diesen Seiten fertig ist, lädt er den Rest des Programms in den Arbeitsspeicher und überschreibt möglicherweise frühere Seiten. Da das Betriebssystem diese Details automatisch verwaltet, kann sich der Softwareentwickler auf die Programmfunktionen konzentrieren und muss sich keine Gedanken über Speicherprobleme machen.

Multiprogrammierung


Durch den virtuellen Speicher mit Paging kann ein Computer viele Programme gleichzeitig ausführen, fast unabhängig vom verfügbaren RAM. Dieser als Multiprogramming bezeichnete Vorteil ist eine wichtige Funktion moderner PC-Betriebssysteme, da sie gleichzeitig mit Ihren Anwendungen viele Hilfsprogramme wie Druckertreiber, Netzwerkmanager und Virenscanner unterstützen – Webbrowser, Textverarbeitungsprogramme, E-Mail und Medien Spieler.

Auslagerungsdatei

Mit virtuellem Speicher schreibt der Computer Programmseiten, die in letzter Zeit nicht verwendet wurden, in einen Bereich auf der Festplatte, der als Auslagerungsdatei bezeichnet wird. Die Datei speichert die auf den Seiten enthaltenen Daten. Wenn das Programm es erneut benötigt, lädt das Betriebssystem es neu, sobald RAM verfügbar ist. Wenn viele Programme um RAM konkurrieren, kann das Austauschen von Seiten in die Datei die Verarbeitungsgeschwindigkeit eines Computers verlangsamen, da mehr Zeit für die Speicherverwaltung aufgewendet wird und weniger Zeit für nützliche Arbeiten aufgewendet wird. Im Idealfall verfügt ein Computer über genügend RAM, um die Anforderungen vieler Programme zu erfüllen, wodurch die Zeit minimiert wird, die der Computer für die Verwaltung seiner Seiten benötigt.

Speicherschutz

Ein Computer ohne virtuellen Speicher kann immer noch viele Programme gleichzeitig ausführen, obwohl ein Programm versehentlich oder absichtlich die Daten in einem anderen ändern kann, wenn seine Adressen auf das falsche Programm verweisen. Der virtuelle Speicher verhindert diese Situation, da ein Programm seine physischen Adressen nie „sieht“. Der Virtual Memory Manager schützt die Daten in einem Programm vor Änderungen durch ein anderes.