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

Paging

Eine mögliche Problemlösung ist es, einen sogenannten virtuellen Speicher   einzuführen. Das heißt man erlaubt Zugriffe auf einen fast beliebigen Adreßraum unabhängig davon, wieviel physikalischen   Speicher der Rechner (durch RAM und ROM) 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 4.1).

  figure385
Figure 4.1: Seitentabelle

Nun ist es natürlich möglich, daß sich die Adresse auf einer Seite befindet, die nicht im physikalischen Speicher liegt (z.B. 8497 in Abbildung 4.1). In einem solchen Fall wird ein Zugriff auf die Festplatte nötig. Zunächst produziert die MMU einen Interupt Seitenfehler   (vergleiche Kapitel 3), der den laufenden Prozeß unterbricht und ins Betriebssystem verzweigt. Das Betriebssystem muß 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 festgelgt.

Einträge in die Seitentabelle sind in hohem Maße rechnerabhänig, 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.


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

Martin Plümicke
Don Okt 28 12:48:30 MEST 1999