[gesichtete Version] | [gesichtete Version] |
(LOOP2 Upgrade) |
|||
Zeile 1: | Zeile 1: | ||
=Einstufige Seitentabellen= | =Einstufige Seitentabellen= | ||
<p> | <p> | ||
<loop_index>Seitentabelle, einstufig|einstufige Seitentabelle</loop_index> | <loop_index id="5fa978580b560">Seitentabelle, einstufig|einstufige Seitentabelle</loop_index> | ||
Damit die Hintergründe zu einstufigen Seitentabellen verstanden werden können, sind zunächst einige Umrechnungen nötig. Dies geschieht in der folgenden Aufgabe: | Damit die Hintergründe zu einstufigen Seitentabellen verstanden werden können, sind zunächst einige Umrechnungen nötig. Dies geschieht in der folgenden Aufgabe: | ||
</p> | </p> | ||
Zeile 9: | Zeile 9: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Wenn du es umrechnen kannst, dann kannst du es auch verstehen!"> | <loop_task title="Wenn du es umrechnen kannst, dann kannst du es auch verstehen!" id="5fa978580b56c"> | ||
<p> | <p> | ||
Ein Computersystem arbeitet mit der virtuellen Speicherverwaltung. Es gelten folgende Voraussetzungen: | Ein Computersystem arbeitet mit der virtuellen Speicherverwaltung. Es gelten folgende Voraussetzungen: | ||
Zeile 42: | Zeile 42: | ||
== Adressumrechnung mit einstufiger Seitentabelle == | == Adressumrechnung mit einstufiger Seitentabelle == | ||
<p> | <p> | ||
<loop_index>Adressumrechnung mit einstufiger Seitentabelle</loop_index> | <loop_index id="5fa978580b574">Adressumrechnung mit einstufiger Seitentabelle</loop_index> | ||
<loop_media type="video" title="MMU: Adressumrechnung mit einstufiger Seitentabelle (06:32)" description="http://youtu.be/aSSmsETQARw" copyright="CC-BY" index=true show_copyright=true> | <loop_media type="video" title="MMU: Adressumrechnung mit einstufiger Seitentabelle (06:32)" description="http://youtu.be/aSSmsETQARw" copyright="CC-BY" index=true show_copyright=true id="5fa978580b57c"> | ||
{{#ev:youtube|aSSmsETQARw|700}} | {{#ev:youtube|aSSmsETQARw|700}} | ||
</loop_media> | </loop_media> | ||
Zeile 50: | Zeile 50: | ||
<br /> | <br /> | ||
<p> | <p> | ||
<loop_index>Länge, virtuelle Adresse|Länge, physikalische Adresse|virtuelle Adresse, Länge|physikalische Adresse, Länge</loop_index> | <loop_index id="5fa978580b583">Länge, virtuelle Adresse|Länge, physikalische Adresse|virtuelle Adresse, Länge|physikalische Adresse, Länge</loop_index> | ||
Das im Video erläuterte Beispiel geht davon aus, dass in den betrachteten Rechner ein physikalischer Speicher (RAM) von 512 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|MiB]] eingebaut ist. Jedem Prozess wird vom Betriebssystem ein virtueller Speicher von 4 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|GiB]] zugewiesen. Aus diesen Voraussetzungen ergeben sich die Adresslängen: | Das im Video erläuterte Beispiel geht davon aus, dass in den betrachteten Rechner ein physikalischer Speicher (RAM) von 512 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|MiB]] eingebaut ist. Jedem Prozess wird vom Betriebssystem ein virtueller Speicher von 4 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|GiB]] zugewiesen. Aus diesen Voraussetzungen ergeben sich die Adresslängen: | ||
* Länge einer virtuelle Adresse: 32 Bit | * Länge einer virtuelle Adresse: 32 Bit | ||
Zeile 75: | Zeile 75: | ||
<p> | <p> | ||
<loop_figure title="Die im Video gezeigte Seitentabelle" description="" copyright="CC-BY" index=true show_copyright=true> | <loop_figure title="Die im Video gezeigte Seitentabelle" description="" copyright="CC-BY" index=true show_copyright=true id="5fa978580b58b"> | ||
[[Datei:Seitentabelle-4gb.jpg|700px]] | [[Datei:Seitentabelle-4gb.jpg|700px]] | ||
</loop_figure> | </loop_figure> | ||
Zeile 83: | Zeile 83: | ||
== Seitentabelleneintrag == | == Seitentabelleneintrag == | ||
<p> | <p> | ||
<loop_index>Seitentabelleneintrag</loop_index> | <loop_index id="5fa978580b592">Seitentabelleneintrag</loop_index> | ||
Jede Zeile der Seitentabelle nennt man einen sogenannten '''Seitentabelleneintrag'''. Nach dem bisherigen Kenntnisstand besteht ein Seitentabelleneintrag also aus einer Seitenrahmen-Nummer und dem Present-/Absent-Bit. | Jede Zeile der Seitentabelle nennt man einen sogenannten '''Seitentabelleneintrag'''. Nach dem bisherigen Kenntnisstand besteht ein Seitentabelleneintrag also aus einer Seitenrahmen-Nummer und dem Present-/Absent-Bit. | ||
</p> | </p> | ||
Zeile 100: | Zeile 100: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Eine Seitentabelle hat es in sich"> | <loop_task title="Eine Seitentabelle hat es in sich" id="5fa978580b59a"> | ||
<p> | <p> | ||
Betrachte die [[Einstufige_Seitentabellen#Beispiel_einer_Seitentabelle|Seitentabelle aus der vorangegangenen Abbildung]]. | Betrachte die [[Einstufige_Seitentabellen#Beispiel_einer_Seitentabelle|Seitentabelle aus der vorangegangenen Abbildung]]. | ||
Zeile 125: | Zeile 125: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Nur 64 KiB RAM"> | <loop_task title="Nur 64 KiB RAM" id="5fa978580b5a1"> | ||
<p> | <p> | ||
Ein Rechnersystem besitzt einen physikalischen Speicher (RAM) von 64 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|KiB]]. Das Betriebssystem weist jedem Prozess einen virtuellen Speicher von 128 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|KiB]] zu. | Ein Rechnersystem besitzt einen physikalischen Speicher (RAM) von 64 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|KiB]]. Das Betriebssystem weist jedem Prozess einen virtuellen Speicher von 128 [[GiB,_MiB,_KiB_im_Vergleich_zu_GB,_MB,_KB|KiB]] zu. | ||
Zeile 159: | Zeile 159: | ||
<br /> | <br /> | ||
<p> | <p> | ||
<cite>Mandl+2013</cite> zeigt in Kap. 7.2.1, Abb 7-14, ein Beispiel für eine Adressumsetzung mit Hilfe einer einstufigen Seitentabelle. Die folgende Aufgabe fordert Ähnliches: | <cite id="5fa978580b5a8">Mandl+2013</cite> zeigt in Kap. 7.2.1, Abb 7-14, ein Beispiel für eine Adressumsetzung mit Hilfe einer einstufigen Seitentabelle. Die folgende Aufgabe fordert Ähnliches: | ||
</p> | </p> | ||
Zeile 166: | Zeile 166: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Du bist jetzt die MMU"> | <loop_task title="Du bist jetzt die MMU" id="5fa978580b5af"> | ||
<p> | <p> | ||
Betrachte die [[Einstufige_Seitentabellen#Beispiel_einer_Seitentabelle|einstufige Seitentabelle oben]]. | Betrachte die [[Einstufige_Seitentabellen#Beispiel_einer_Seitentabelle|einstufige Seitentabelle oben]]. |
Damit die Hintergründe zu einstufigen Seitentabellen verstanden werden können, sind zunächst einige Umrechnungen nötig. Dies geschieht in der folgenden Aufgabe:
Ein Computersystem arbeitet mit der virtuellen Speicherverwaltung. Es gelten folgende Voraussetzungen:
Berechne:
Die bei den Umrechnungen ermittelten Werte werden in dem folgenden Video wieder aufgegriffen. Es erklärt die Hintergründe einer einstufigen Seitentabelle und wie die MMU diese nutzt.
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Das im Video erläuterte Beispiel geht davon aus, dass in den betrachteten Rechner ein physikalischer Speicher (RAM) von 512 MiB eingebaut ist. Jedem Prozess wird vom Betriebssystem ein virtueller Speicher von 4 GiB zugewiesen. Aus diesen Voraussetzungen ergeben sich die Adresslängen:
Basiert das betrachtete Rechnersystem auf anderen (physikalischen und virtuellen) Speichergrößen, so ändern sich auch die Adresslängen!
(Siehe Aufgabe 3 unten.)
In der folgenden Abbildung sieht man die im Video gezeigte Seitentabelle. Sie besitzt insgesamt 65.536 Zeilen.
Jede Zeile der Seitentabelle nennt man einen sogenannten Seitentabelleneintrag. Nach dem bisherigen Kenntnisstand besteht ein Seitentabelleneintrag also aus einer Seitenrahmen-Nummer und dem Present-/Absent-Bit.
In der Praxis besteht ein Seitentabelleneintrag üblicherweise noch aus einigen weiteren Informationen. Bildlich gesprochen enthält die Seitentabelle also noch weitere Spalten. Wir kommen später darauf zurück.
Betrachte die Seitentabelle aus der vorangegangenen Abbildung.
Ein Rechnersystem besitzt einen physikalischen Speicher (RAM) von 64 KiB. Das Betriebssystem weist jedem Prozess einen virtuellen Speicher von 128 KiB zu.
Hinweis:
Wenn du schon ein gewisses Verständnis für dieses Thema entwickelt hast, dann hast du bereits bemerkt, dass innerhalb dieser Aufgabe eine wichtige Vorraussetzung nicht genannt wurde. In dem Video ist sie hingegen genannt!
Denke erst nach, schaue dir das Video nochmals an, und diskutiere in deiner Lerngruppe. Dann brauchst du den folgenden Tipp sicher nicht.
Mandl 2013 zeigt in Kap. 7.2.1, Abb 7-14, ein Beispiel für eine Adressumsetzung mit Hilfe einer einstufigen Seitentabelle. Die folgende Aufgabe fordert Ähnliches:
Betrachte die einstufige Seitentabelle oben.
Rechne mit Hilfe der Seitentabelle die folgenden virtuellen Adressen in physikalische Adressen um:
Hinweis:
Gehe davon aus, dass die Zeilen in der Seitentabelle von unten nach oben durchnummeriert sind:
Wie bereits erwähnt können alternativ zu einstufigen Seitentabellen auch mehrstufige Seitentabellen zum Einsatz kommen.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png