Paging: Grundlagen der Speicherverwaltung erklärt
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 3,36 KB
Paging: Grundlagen der Speicherverwaltung
Das Paging (Seitenverwaltung) unterteilt den physischen Speicher in Abschnitte fester Größe, sogenannte Frames, und den logischen Speicher in gleich große Abschnitte, die als Seiten (Pages) bezeichnet werden.
Das Seitensystem löst das Problem der Zuordnung von Blöcken gleicher Größe, indem es den physischen Speicher in Seiten-Frames unterteilt.
Ein Seitenfehler (Page Fault) tritt auf, wenn auf eine Seite zugegriffen wird, die nicht im Arbeitsspeicher geladen ist.
Ein Seitenaustausch (Page Replacement) ist erforderlich, wenn der virtuelle Adressraum aller Prozesse die Größe des physischen Speichers überschreitet.
Funktionale Anforderungen
- Administration des Adressraums
- Adressübersetzung (Address Translation)
- Management des physischen Speichers
- Speicherschutz (Memory Protection)
- Gemeinsam genutzter Speicher (Shared Memory)
- Load-Monitoring-System
- Mapping von Dateien in den Speicher, Programmausführung auf entfernten Knoten, dynamische Verlinkung zu Laufzeitbibliotheken, Swap-Bereich
- Effizienter Seitenaustausch
Struktur des virtuellen Adressraums
Der virtuelle Adressraum eines Prozesses kann in verschiedene Segmente unterteilt werden:
- Text (Code)
- Initialisierte Daten
- Nicht initialisierte Daten
- Geänderte Daten
- Stack
- Heap
- Shared Memory
- Shared Libraries
Seitenaustausch-Strategien
Diese Maßnahmen bestimmen, welche Seite aus dem Speicher verdrängt wird. Es gibt zwei Techniken:
- Lokal: Die ausgewählte Seite gehört zum Prozess, der den Fehler verursacht hat.
- Global: Die ausgewählte Seite kann von einem beliebigen Prozess stammen.
Das Working Set (Arbeitsmenge) ist die Menge der Seiten, die aktuell im Speicher gehalten werden, da sie in naher Zukunft benötigt werden.
Das Lokalitätsprinzip besagt, dass ein Prozess dazu neigt, in einer bestimmten Teilmenge von Seiten zu arbeiten, und sich diese Teilmenge nur langsam ändert.
MMU (Memory Management Unit)
Die MMU fungiert als Schnittstelle zwischen CPU und Hauptspeicher und ist meist im Mikroprozessor integriert. Ihre Hauptaufgabe ist die Übersetzung von virtuellen Adressen in reale (physische) Adressen.
Multilevel-Paging
Ziele: Vermeidung von sehr großen Seitentabellen im Speicher.
Lösung: Aufteilung der Tabelle in Untertabellen, wobei nur die aktuell benötigten Teile im Speicher gehalten werden.
Effektive Speicherzugriffszeit (APR)
Die Zeit für einen effektiven Speicherzugriff in einem mononivellierten Paging-System berechnet sich wie folgt:
Tae = tb + (1 - p) * t_access + p * t_fallo
- tb: Suchzeit in der Seitentabelle.
- p: Wahrscheinlichkeit eines Seitenfehlers.
- t_access: Speicherzugriffszeit.
- t_fallo: Zeit zur Behebung eines Seitenfehlers.
90/10-Regel: Ein Prozess verbringt 90 % seiner Zeit mit dem Zugriff auf 10 % seines Speichers.