[gesichtete Version] | [gesichtete Version] |
Kwastg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<loop_index id="5fa978847e0f1">virtuelle Speicherverwaltung|Speicherverwaltung, virtuell</loop_index> | |||
<loop_index>virtuelle Speicherverwaltung|Speicherverwaltung, virtuell</loop_index> | |||
Die Grundlagen der [[MMU - Memory Management Unit|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. | Die Grundlagen der [[MMU - Memory Management Unit|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. | ||
</p> | </p> | ||
Zeile 9: | Zeile 8: | ||
<p> | <p> | ||
<loop_area icon="Video.png" icontext="Video"> | <loop_area icon="Video.png" icontext="Video"> | ||
<loop_media type="video" title="Grundlagen virtueller Speicherverwaltung mit MMU (04:47)" description="http://youtu.be/PpyWObQw70o" copyright="CC-BY" index=true show_copyright=true> | <loop_media type="video" title="Grundlagen virtueller Speicherverwaltung mit MMU (04:47)" description="http://youtu.be/PpyWObQw70o" copyright="CC-BY" index=true show_copyright=true id="5fa978847e0fd"> | ||
{{#ev:youtube|PpyWObQw70o|700}} | {{#ev:youtube|PpyWObQw70o|700}} | ||
</loop_media> | </loop_media> | ||
Zeile 22: | Zeile 21: | ||
== Grundgedanken der virtuellen Speicherverwaltung == | == Grundgedanken der virtuellen Speicherverwaltung == | ||
<p> | <p> | ||
<loop_index>virtuelle Speicherverwaltung, Grundgedanken|Grundgedanken, virtuelle Speicherverwaltung</loop_index> | <loop_index id="5fa978847e107">virtuelle Speicherverwaltung, Grundgedanken|Grundgedanken, virtuelle Speicherverwaltung</loop_index> | ||
<cite>Mandl+2013</cite> fasst die Grundgedanken der virtuellen Speicherverwaltung treffend in drei Punkten zusammen: | <cite id="5fa978847e112">Mandl+2013</cite> fasst die Grundgedanken der virtuellen Speicherverwaltung treffend in drei Punkten zusammen: | ||
</p> | </p> | ||
<p> | <p> | ||
Zeile 61: | Zeile 60: | ||
== Definition: Seitenrahmen == | == Definition: Seitenrahmen == | ||
<p> | <p> | ||
<loop_index>Seitenrahmen | <loop_index id="5fa978847e11b">Seitenrahmen</loop_index><loop_index id="5fa978c668109">Pageframe</loop_index><loop_index id="5fa978c668114">Frame</loop_index><loop_index id="5fa978c66811c">Rahmen</loop_index> | ||
<loop_area type="definition"> | <loop_area type="definition"> | ||
<p> | <p> | ||
Zeile 76: | Zeile 75: | ||
== Definition: Seite == | == Definition: Seite == | ||
<p> | <p> | ||
<loop_index>Seite | <loop_index id="5fa978847e127">Seite</loop_index><loop_index id="5fa97884bd8f2">Page</loop_index><loop_index id="5fa97884bd903">virtuelle Seite</loop_index> | ||
<loop_area type="definition"> | <loop_area type="definition"> | ||
<p> | <p> | ||
Zeile 91: | Zeile 90: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Rahmen vs. Seite"> | <loop_task title="Rahmen vs. Seite" id="5fa978847e130"> | ||
<p> | <p> | ||
Was ist der Unterschied zwischen einem ''Seitenrahmen'' und einer ''Seite''? | Was ist der Unterschied zwischen einem ''Seitenrahmen'' und einer ''Seite''? | ||
Zeile 101: | Zeile 100: | ||
</loop_area> | </loop_area> | ||
</p> | </p> | ||
<br /> | |||
<p> | |||
Die folgende Aufgabe ist besonders wichtig, um alle weiteren Details der virtuellen Speicherverwaltung verstehen zu können. | |||
</p> | |||
<br /> | <br /> | ||
== Aufgabe 2 == | == Aufgabe 2 == | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Rechne nach!"> | <loop_task title="Rechne nach!" id="5fa978847e13b"> | ||
<p> | <p> | ||
Ein Rechnersystem verfügt über 1 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|GiB]] physikalischen Speicher. Jedem gestarteten Prozess wird vom Betriebssystem ein virtueller Speicher von 4 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|GiB]] zugewiesen. Die Größe eines Seitenrahmens beträgt 64 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|KiB]]. | Ein Rechnersystem verfügt über 1 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|GiB]] physikalischen Speicher. Jedem gestarteten Prozess wird vom Betriebssystem ein virtueller Speicher von 4 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|GiB]] zugewiesen. Die Größe eines Seitenrahmens beträgt 64 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|KiB]]. | ||
</p> | </p> | ||
<p> | |||
a) Wie viele Seitenrahmen gibt es insgesamt? | |||
</p> | |||
<p> | |||
b) Wie viele Seiten gibt es insgesamt (pro Prozess)? | |||
</p> | |||
<br /> | |||
<p> | <p> | ||
Angenommen, ein einzelner [[Vom_Quellcode_zum_Prozessor#Befehle_in_Maschinencode|Maschinensprachebefehl]] hat eine Größe von 32 Bit: | Angenommen, ein einzelner [[Vom_Quellcode_zum_Prozessor#Befehle_in_Maschinencode|Maschinensprachebefehl]] hat eine Größe von 32 Bit: | ||
</p> | </p> | ||
<p> | |||
c) Wie viele Befehle passen in einen Seitenrahmen? | |||
</p> | |||
<p> | |||
d) Und wie viele Befehle passen demnach in eine Seite? | |||
</p> | |||
<br /> | |||
<p> | <p> | ||
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. | 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. | ||
</p> | </p> | ||
<p> | |||
e) Wie viele Adressen existieren pro Seitenrahmen insgesamt? | |||
</p> | |||
<p> | |||
f) Und wie viele Adressen existieren demnach pro Seite? | |||
</p> | |||
<p> | |||
g) Wie viele Bit werden benötigt, um diese Adressen angeben zu können? | |||
</p> | |||
<br /> | |||
<p> | <p> | ||
Merke dir die gerade errechnete Bitanzahl, du wirst sie gleich wieder brauchen! | Merke dir die gerade errechnete Bitanzahl, du wirst sie gleich wieder brauchen! | ||
Zeile 128: | Zeile 147: | ||
<p> | <p> | ||
Oben hattest du bereits die Anzahl der Rahmen und die Anzahl der Seiten berechnet: | Oben hattest du bereits die Anzahl der Rahmen und die Anzahl der Seiten berechnet: | ||
</p> | </p> | ||
<p> | |||
h) Wie viele Bit werden benötigt, um die Anzahl der Seitenrahmen damit codieren zu können? | |||
</p> | |||
<p> | |||
i) Und wie viele Bit benötigt man für die Codierung der Seitenanzahl? | |||
</p> | |||
<br /> | |||
<p> | <p> | ||
Jetzt kannst du den Schluss ziehen: | Jetzt kannst du den Schluss ziehen: | ||
</p> | |||
<p> | |||
j) Aus wie vielen Bit besteht eine physikalische Adresse des betrachteten Rechnersystems? | |||
</p> | |||
<p> | |||
k) Und aus wie vielen Bit besteht eine virtuelle Adresse? | |||
</p> | </p> | ||
<spoiler text="Tipp"> | <spoiler text="Tipp"> |
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