Die Grundlagen der virtuellen Speicherverwaltung mit MMU waren bereits in dem folgenden Video erläutert worden. Es schadet an dieser Stelle nicht, sich die erklärten Inhalte noch einmal in Erinnerung zu rufen.
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Mit den Erläuterungen des Videos ergibt sich eine grundlegende Vorstellung davon, was die virtuelle Speicherverwaltung ausmacht. Im Folgenden geht es um einen tieferen Einblick in die Thematik.
Mandl 2013 fasst die Grundgedanken der virtuellen Speicherverwaltung treffend in drei Punkten zusammen:
Die virtuelle Speicherverwaltung definiert eine Reihe von Grundbegriffen, welche in den folgenden Erläuterungen immer wieder verwendet werden.
Bereits bekannt sind die Fachbegriffe:
Gegebenenfalls sollten die Definitionen noch einmal nachgelesen werden.
Zusätzlich werden weitere Fachbegriffe benötigt, die teilweise bereits in dem obigen Video benutzt wurden.
Unter einem Seitenrahmen (englisch: Pageframe, oder kurz: Frame bzw. Rahmen) versteht man einen zusammenhängenden Block von Speicherzellen des physikalischen Speichers.
Typische Größen für einen Seitenrahmen in der Praxis sind 1, 4, 8, 16 oder 64 KiB. Alle Seitenrahmen eines Systems haben stets die gleiche Größe.
Unter einer (virtuellen) Seite (englisch: Page) versteht man einen zusammenhängenden Block von Speicherzellen des virtuellen Speichers. Die Blockgröße einer Seite entspricht immer exakt der Größe eines Seitenrahmens.
Alle Seiten eines Systems haben stets die gleiche Größe.
Was ist der Unterschied zwischen einem Seitenrahmen und einer Seite?
Anhand des Videos kann nachvollzogen werden, warum die Größe eines Seitenrahmens und einer Seite stets identisch sein muss. Erläutere warum!
Die folgende Aufgabe ist besonders wichtig, um alle weiteren Details der virtuellen Speicherverwaltung verstehen zu können.
Ein Rechnersystem verfügt über 1 GiB physikalischen Speicher. Jedem gestarteten Prozess wird vom Betriebssystem ein virtueller Speicher von 4 GiB zugewiesen. Die Größe eines Seitenrahmens beträgt 64 KiB.
a) Wie viele Seitenrahmen gibt es insgesamt?
b) Wie viele Seiten gibt es insgesamt (pro Prozess)?
Angenommen, ein einzelner Maschinensprachebefehl hat eine Größe von 32 Bit:
c) Wie viele Befehle passen in einen Seitenrahmen?
d) Und wie viele Befehle passen demnach in eine Seite?
Innerhalb eines Seitenrahmens kann jede einzelne Speicherzelle (= 8 Bit) adressiert werden. Demnach beginnt der erste Befehl bei Adresse 0 innerhalb des Rahmens, der zweite Befehl bei Adresse 4, der dritte Befehl bei Adresse 8, usw.
e) Wie viele Adressen existieren pro Seitenrahmen insgesamt?
f) Und wie viele Adressen existieren demnach pro Seite?
g) Wie viele Bit werden benötigt, um diese Adressen angeben zu können?
Merke dir die gerade errechnete Bitanzahl, du wirst sie gleich wieder brauchen!
Oben hattest du bereits die Anzahl der Rahmen und die Anzahl der Seiten berechnet:
h) Wie viele Bit werden benötigt, um die Anzahl der Seitenrahmen damit codieren zu können?
i) Und wie viele Bit benötigt man für die Codierung der Seitenanzahl?
Jetzt kannst du den Schluss ziehen:
j) Aus wie vielen Bit besteht eine physikalische Adresse des betrachteten Rechnersystems?
k) Und aus wie vielen Bit besteht eine virtuelle Adresse?
Das Endergebnis der vorangegangenen Aufgabe zeigt, dass eine physikalische Adresse eine andere Bit-Länge als eine virtuelle Adresse besitzt. Zusammen mit dem Video wird nun klar, dass eine Umrechnung von virtuellen Adressen in physikalische Adressen erfolgen muss.
Genau dies ist die Aufgabe der Memory Management Unit (MMU).
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png