3.3.1.2 Seitentabellen

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 68: Zeile 68:
</p>
</p>
<p>
<p>
Die folgende Abbildung zeigt die im [http://youtu.be/aSSmsETQARw Video] gezeigte Seitentabelle:
In der folgenden Abbildung sieht man die im [http://youtu.be/aSSmsETQARw Video] gezeigte Seitentabelle:
</p>
</p>


Zeile 83: Zeile 83:
<loop_task title="Eine Seitentabelle hat es in sich">
<loop_task title="Eine Seitentabelle hat es in sich">
<p>
<p>
Warum besitzt die in der Abbildung gezeigte Seitentabelle genau 65.536 Zeilen?
Betrachte die [http://vfhcab.oncampus.de/mediawiki/images/vfhcab/3/39/Seitentabelle-4gb.jpg Seitentabelle aus der vorangegangenen Abbildung].
</p>
</p>
<p>
<p>
 
* Warum besitzt die Tabelle genau 65.536 Zeilen?
</p>
<p>
* Unter welchen Umständen ist es erlaubt, dass eine Seitenrahmen-Nr. mehrfach in der Tabelle vorkommt? <small>(Siehe ''0 0000 0000 0000'', es wären aber auch andere doppelte Nummern denkbar.)</small>
</p>
<p>
* In der Spalte mit dem Present-/Absent-Bit: Wieviele Einsen könnten in dieser Spalte maximal auftreten? Warum nicht mehr?
</p>
<p>
* Wie realistisch ist es in der Praxis, dass in der Spalte mit dem Present-/Absent-Bit tatsächlich einmal die Maximalzahl an Einsen auftritt? Erläutere!
</p>
</p>
</loop_task>
</loop_task>
Zeile 128: Zeile 137:
</p>
</p>


<p>
<br />
<loop_figure title="Umrechnung einer virtuellen in eine physikalische Adresse" description="" copyright="CC-BY" index=true show_copyright=true>
[[Datei:Mmu_und_seitentabelle.JPG|700px]]
</loop_figure>
</p>
 
<p>
<p>
<cite>Mandl+2013</cite> Kap. 7.2.1, Abb 7-14.
<cite>Mandl+2013</cite> Kap. 7.2.1, Abb 7-14.

Version vom 27. November 2013, 18:02 Uhr

Seitentabellen werden benötigt, damit die MMU die Umrechnung einer virtuellen Adresse in eine physikalische Adresse vornehmen kann. Da der Begriff Seitentabellen hier bereits in der Mehrzahl benutzt wird, deutet dies darauf hin, dass es nicht nur eine einzige, sondern mehrere Seitentabellen gibt.


Viele Seitentabellen existieren gleichzeitig

Für jeden einzelnen vom Betriebssystem zu verwaltenden virtuellen Adressraum gibt es jeweils eine zugehörige Seitentabelle. Anders ausgedrückt besitzt jeder Prozess seine eigene Seitentabelle, da ja auch jeder Prozess seinen eigenen virtuellen Adressraum besitzt.

Je nach Betriebssystem kommen entweder einstufige Seitentabellen oder mehrstufige Seitentabellen zum Einsatz.


Einstufige Seitentabellen

Damit die Hintergründe zu einstufigen Seitentabellen verstanden werden können, sind zunächst einige Umrechnungen nötig. Dies geschicht in der folgenden Aufgabe:


Aufgabe 1

Aufgabe

Ein Computersystem arbeitet mit der virtuellen Speicherverwaltung. Es gelten folgende Voraussetzungen:

  • Physikalischer Adressraum:
    Der (in den Rechner eingebaute) physikalische Speicher habe eine Größe von 512 MiB.
  • Virtueller Adressraum:
    Der (jedem Prozesess zugeordnete) virtuelle Speicher habe eine Größe von 4 GiB.
  • Ein Seitenrahmen (Pageframe) habe eine Größe von 64 KiB.
  • Eine (virtuelle) Seite hat per Definition die gleiche Größe wie ein Seitenrahmen, also auch 64 KiB.

Berechne:

  • Aus wievielen Seiten besteht der physikalische Adressraum?
    Gib die Antwort sowohl als Dezimalzahl, als auch als 2er-Potenz an!

  • Aus wievielen Seitenrahmen besteht der virtuelle Adressraum?
    Gib die Antwort sowohl als Dezimalzahl, als auch als 2er-Potenz an!

  • Wieviele Byte ergeben 64 KiB umgerechnet?
    Gib die Antwort sowohl als Dezimalzahl, als auch als 2er-Potenz an!


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.


Das im Video erläuterte Beispiel geht davon aus, dass in den betrachteten Rechner ein physikalischer Speicher (RAM) von 512 KiB eingebaut ist. Jedem Prozess wird vom Betriebssystem ein virtueller Speicher von 4 GiB zugewiesen. Aus diesen Voraussetzungen ergeben sich die Adresslängen:

  • virtuelle Adresse: 32 Bit
  • physikalische Adresse: 29 Bit

Basiert das betrachtete Rechnersystem hingegen auf anderen Speichergrößen, so ändern sich auch die Adresslängen (siehe Aufgabe 3 unten).

In der folgenden Abbildung sieht man die im Video gezeigte Seitentabelle:

Seitentabelle-4gb.jpg


Aufgabe 2

Aufgabe

Betrachte die Seitentabelle aus der vorangegangenen Abbildung.

  • Warum besitzt die Tabelle genau 65.536 Zeilen?

  • Unter welchen Umständen ist es erlaubt, dass eine Seitenrahmen-Nr. mehrfach in der Tabelle vorkommt? (Siehe 0 0000 0000 0000, es wären aber auch andere doppelte Nummern denkbar.)

  • In der Spalte mit dem Present-/Absent-Bit: Wieviele Einsen könnten in dieser Spalte maximal auftreten? Warum nicht mehr?

  • Wie realistisch ist es in der Praxis, dass in der Spalte mit dem Present-/Absent-Bit tatsächlich einmal die Maximalzahl an Einsen auftritt? Erläutere!


Aufgabe 3

Aufgabe

Ein Rechnersystem besitzt einen physikalischen Speicher (RAM) von 64 KiB. Das Betriebssystem weist jedem Prozess einen virtuellen Speicher von 128 KiB zu.

  • Welche Länge hat eine physikalische Adresse?
  • Welche Länge hat eine virtuelle Adresse?
  • Wie ist die einstufige Seitentabelle in diesem Fall aufgebaut?
  • Wie viele Zeilen besitzt die Seitentabelle?
  • Erkläre an einem Beispiel, wie die Umrechnung einer virtuellen in eine physikalische Adresse funktioniert.
  • Gehe in deinem Beispiel davon aus, dass das zehnte Byte innerhalb der betreffenden virtuellen Seite adressiert wird.

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 Kap. 7.2.1, Abb 7-14.


Mehrstufige Seitentabellen

Mandl 2013 Kap. 7.2.1, Abb 7-15, Abb 7-16.


Seitentabelleneintrag: Mandl 2013 Kap. 7.2.1, Abb 7-17.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png