next up previous contents
Next: Seitenersetzungsalgorithmen Up: Memory Management System Previous: Memory Management System   Contents

Paging

Eine mögliche Problemlösung ist es, einen sogenannten virtuellen Speicher einzuführen. Das heißt man erlaubt Zugriffe auf einen fast beliebigen Adressraum unabhängig davon, wieviel physikalischen Speicher der Rechner zur Verfügung stellt.

Die CPU enthält eine Memory Management Unit (MMU) , die die virtuellen Adressen in physikalische Adressen umrechnet. Für diesen Vorgang wird der virtuelle Speicher in gleichgroße Seiten aufgeteilt. Falls nun die CPU auf eine Adresse zugreifen will, sendet sie diese Anforderung an die MMU. Die MMU stellt fest in welcher virtuellen Seite sich diese Adresse befindet und errechnet die zugehörige physikalische Seite (vergleiche Abbildung [*]).

Figure: Seitentabelle
\begin{figure}\index{Seitentabelle}
\begin{center}
\epsfxsize8cm
\epsfbox{Seitentabelle}
\end{center}\end{figure}

Nun ist es natürlich möglich, dass sich die Adresse auf einer Seite befindet, die nicht im physikalischen Speicher liegt (z.B. 8497 in Abbildung [*]). In einem solchen Fall wird ein Zugriff auf die Festplatte nötig. Zunächst produziert die MMU einen Interrupt Seitenfehler (vergleiche Kapitel [*]), der den laufenden Prozess unterbricht und ins Betriebssystem verzweigt. Das Betriebssystem muss nun die angefragte Seite in den physikalischen Speicher einlagern. Dies kann nur passieren, wenn entweder im physikalischen Speicher noch Platz ist oder eine bisher eingelagerte Seite gelöscht und vorher möglicherweise ausgelagert wird. Auslagern ist nötig, wenn seit dem letzten Einlagern der Seite eine Speicherstelle verändert wurde. Der physikalische Speicher stellt also eine bestimmte Anzahl von Seitenrahmen zur Verfügung, in die verschiedene Seiten des virtuellen Speichers eingelagert werden können. Es gibt verschiedene Algorithmen die das Ein- und Auslagern von Seiten durchführen.

Bevor wir auf die Algorithmen eingehen, betrachten wir zunächst die Einträge in die Seitentabelle. In der Seitentabelle wird die Zuordnung der Seiten im virtuellen Speicher zu den Seitenrahmen des physikalischen Speichers festgelegt.

Einträge in die Seitentabelle sind in hohem Maße rechnerabhängig, haben aber in der Regel einen folgenden Aufbau:

12cm Eintrag

Die wichtigste Komponente ist die Seitennummer im physikalischen Speicher. Das ist die eigentliche Zuordnung von virtuellem und physikalischen Speicher. Das Bit ein-/ausgelagert zeigt an, ob eine Seite im physikalischen Speicher eingelagert ist. Das Schutzbit zeigt an, welcher Zugriff erlaubt ist (lesen oder lesen und schreiben). Das M-Bit wird gesetzt, wenn ein Schreibevorgang auf die Seite erfolgt ist. Das R-Bit schließlich wird gesetzt, wenn die ein Schreibe- oder Lesevorgang auf die Seite erfolgt ist.

Nun können wir die uns den Seitenersetzungsalgorithmen zuwenden.



Subsections
next up previous contents
Next: Seitenersetzungsalgorithmen Up: Memory Management System Previous: Memory Management System   Contents
Prof. Dr. Pluemicke 2003-05-10