Speicherverwaltung durch
Swapping
Referat vom 19.11.2003
BIT Proseminar
Jakob Berger
Speicherverwaltungsprozesse
 Es gibt verschiedene Arten von
Speicherverwaltungsprozessen:


Einprogrammbetrieb
Mehrprogrammbetrieb
Mit SWAPPING
 Mit PAGING

Swapping
 Es gibt im Normalfall mehr Benutzer als Speicher,
um ihre Prozesse abzuarbeiten. Es ist also
notwendig, die übrigen Prozesse auf Platte
auszulagern. Um sie abzuarbeiten müssen sie
wieder in den Arbeitsspeicher gebracht werden. Das
verschieben von kompletten Prozessen vom
Hauptspeicher auf Platte und ungekehrt nennt man
Swapping.
Variable Partitionen
 Man könnte Programme immer fixen
Partitionen im Arbeitsspeicher zuweisen.
 Um den Speicher effizienter zu nutzen
werden Programme im Arbeitsspeicher
variablen Partitionen zugewiesen.
Speicher mit Variablen
Partitionen
Wachsende Prozesse
 Wenn Prozesse im Speicher wachsen wollen,
aber kein angrenzendes Speicherloch
existiert, müssen andere Prozesse ausgelagert
werden.
 Wenn auch der Swap-Bereich auf der
Festplatte belegt ist, muss der Prozess
warten, oder abgebrochen werden.
Verschiedene Arten der
Speicherverwaltung
 Mit Bitmaps
 Mit verknüpften Listen
 Mit dem Buddy-System
Bitmaps
 Mit Bitmaps wird der Speicher in wenige Kilobyte
große Allokationseinheiten unterteilt.
 Belegter Speicher wird auf der Bitmap mit 1
gekennzeichnet – freier Speicher mit 0.
 Wenn ein k großer Prozess in den Speicher
eingelagert werden soll, muss also die Bitmap auf
eine zusammenhängende Folge von k Nullbits
untersucht werden.
Speicherbild
 Bitmap-Beispiel:
Verknüpfte Listen (1)
 Durch Angabe der Startadresse und der
Länge des Segments wird der Speicher in
einer Liste dargestellt.
 Die Einträge werden entweder als P
(Prozess) oder L (Loch) spezifiziert.
Verknüpfte Listen (2)
 Es gibt Verschiedene Algorithmen:





First Fit
Next Fit
Best Fit
Worst Fit
Quick Fit
Das Buddy-System
 Die Speicherblöcke werden in Listen von
Zweierpotenzen aufgeteilt
 Die Speicherblöcke werden immer halbiert.
Die entstandenen Hälften heißen Buddies.
 Vorteil: Schnelle Zugriffszeit
 Nachteil: Uneffiziente Speichernutzung
aufgrund der Zweierpotenz-Aufteilung
Paging (1)
 Die Swapping-Technik ist heute nur noch
wenig im Gebrauch, aufgrund der oben
genannten Nachteile und aufgrund des
Problemes, dass die durch Swapping
ausgelagerten Programme nicht mehr
lauffähig sind. Heutige Virtuelle Speicher
Arbeiten nach dem Paging Prinzip.
Paging (2)
 Paging ist ein Mechanismus zur
Speicherverwaltung, bei dem der
physikalische Adressraum eines Prozesses
nicht mehr zusammenhängend sein muss.
 Von Paging spricht man, wenn man Blöcke
fester Größe zwischen Arbeitsspeicher und
Festplatte austauscht. Die Blöcke werden
auch als Seiten (engl. page) bezeichnet.
Paging (Bild)
FIN

Speicherverwaltung durch Swapping