Virtuelle Speicherverwaltung

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Version vom 9. März 2008, 19:48 Uhr von Singh (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Das Prinzip der Virtuellen Speicherverwaltung wurde im Jahre 1956 von Fritz-Rudolft Güntsch erfunden und ist heutzutage in allen modernen Betriebssysteme vorhanden.

Diese wichtige Technik der virtuellen Adressierung, stellt jedem Programm einen virtuellen Adressraum zur Verfügung. Der Sicherheitsvorteil, das dieses Prinzip mit sich bringt ist, dass Programme nicht mehr direkt auf die physikalischen Speicheradressen zugreifen können. Das Betriebssystem muss nur dafür sorgen, das diese virtuellen Adressräume auch wieder in physikalischen Speicheradressen umgerechnet werden, damit der Prozessor auf die Daten des Hauptspeichers zugreifen kann. Diese Aufgabe der Umrechnung übernimmt die MMU (Memory Management Unit). Im Prozessor ist zusätzlich noch ein kleiner Puffer integriert (TLB = Translation Lookaside Buffer), das den Effekt hat, dass die Umrechnung von virtuellen zu physikalischen Adressen gespeichert wird. Dies beschleunigt die Umrechnung.

Paging

Im Zusammenhang der Virtuellen Speicherverwaltung, ist Paging noch eine weitere wichtige Technik. Diese Technik wendet das Betriebssystem erst dann an wenn nicht genügend Hauptspeicher zur Verfügung steht. Hier werden nur die Programmteile im Hauptspeicher gehalten, die gerade für die Ausführung des Programms wichtig sind. Die Programmteile die gerade verwendet werden, werden von der MMU in sogenannten Seitentabellen gespeichert. Wenn jetzt die MMU feststellt, das ein Programmteil, dass für die Ausführung des Programms wichtig ist, noch nicht im Hauptspeicher liegt, wird sofort ein Interrupt ausgelöst (Seitenfehler=Page Fault). Jetzt geht der Pager los und fängt an den Fehler zu beheben indem er den fehlenden Programmteil in den Hauptspeicher lädt.

Diese Seitenfehler treten sehr oft auf. Im Windows Taskmanager kann man diese Seitenfehler sich anzeigen lassen.

(STRG+ALT+ENTF-->Taskmanager-->Ansicht-->Spalten auswählen)

Paging.jpg

So sieht es dann anschließend im Taskmanager aus:

Paging2.jpg

Swapping

Eine andere Technik die bei der Virtuellen Speicherverwaltung eine wichtige Rolle spielt ist Swapping. Diese Technik wird dann eingesetzt wenn nicht genügend Hauptspeicher zur Verfügung steht, obwohl Paging eingesetzt wird. Es werden ganze Programmteile die gerade nicht gebraucht werden auf einen anderen Speicher komplett ausgelagert (z.b auf die Festplatte).