Lösung Anzahl der aktiven Prozesse reduzieren

Swapping-Strategie:

  • ggf. Prozesse auswählen, die länger inaktiv signed
  • (wenige) große Prozesse auswählen, schafft viel Platz

Zustände

Seiten Größe

Link to original

Zeitpunkt des Nachladens von Seiten

Residente Seiten

Bestimmte Seiten sollten nicht verdrängt werden können

z.B .

  • wichtige Betriebssysteminfos
  • gerade zu füllende Ein-/Ausgabepuffer
Link to original

Page-Tabelle im Hauptspeicher?



Feste Seiten-Größen ⇒ keine logische Aufteilung des Adressraums


Virtuelle Adressräume und Prozesserzeugung

  • fork() erzeugt (fast) Kopie des Vaterprozesses (inkl. Adressraum)

  • (Zunächst) keine Kopie der Seiten erforderlich
    ⇒ Kopie der Page-Tabelle ausreichend

  • Sobald auf eine Seite geschrieben wird
    ⇒ Copy-on-write (Page Fault ⇒ Betriebssystem kopiert)

Variante: vfork()

  • Auch Page-Tabelle wird nicht kopiert
  • Vater legt sich schlafen, bis Kind exec() oder exit() aufruft
    Kind leiht Adressraum aus, kann ihn auch verändern