2.3.2.2 Swapping: Aus- und Einlagern von kompletten Prozessen

Nachdem nun bekannt ist, dass es mit Hilfe des Basisregisters möglich ist, mehrere Programme zur gleichen Zeit im Hauptspeicher zu halten, ist weiterhin vorstellbar, dass so viele Programme gleichzeitig in den Hauptspeicher aufgenommen werden sollen, dass der verfügbare Hauptspeicher nicht mehr ausreicht.

Eine Praxissituation, in der dieser Umstand in früheren Jahren aufgetreten sein könnte, ist:

Beispiel

Kurz vor Feierabend lässt der Operateur eines Großrechners diesen viele Programme mit ihren zugehörigen Daten einlesen. Die Programme sollen anschließend nacheinander ablaufen und ihre Daten verarbeiten. Dies geschieht während der Nacht. Am nächsten Morgen zu Dienstbeginn prüft dann der Operateur die Ergebnisse. Damit der Großrechner möglichst die ganze Nacht ausgelastet ist, werden entsprechend viele Programme und Daten von Lochkarten eingelesen. Diese passen in ihrer Gesamtheit nicht in den Hauptspeicher, einige werden deshalb ausgelagert und erst im Verlaufe der Nacht automatisch wieder eingelagert.

Auch hier kann man fragen:
Wer oder was lagert Prozesse aus oder ein?
Die Antwort ist wieder:

Hinweis

Wir brauchen ein Betriebssystem!

Und eine der Aufgaben des Betriebssystems wird das Aus- und Einlagern von Prozessen sein.

Das folgende Video erläutert die Zusammenhänge:

video

Definition

Definition: Swapping

{{#index:Swapping}}

Unter Swapping versteht man das Aus- bzw. Einlagern eines kompletten Prozesses.

Entscheidend ist hier der Begriff kompletter Prozess, also sowohl der Programmtext, als auch alle zugehörigen Daten. Dabei sind nicht nur die Daten aus dem Datensegment im Hauptspeicher zu berücksichtigen, sondern insbesondere auch alle zu diesem Prozess gehörigen Daten aus den Registern der CPU.

Aufgabe

Im Video ist zu sehen, dass "Prozess C" vor dem Auslagern einen anderen Teil des Hauptspeichers belegt, als nach dem Wiedereinlagern. Erläutere wie dieses in Zusammenhang mit dem Basisregister steht!

Aufgabe

Am Ende des Videos ist ein fragmentierter Hauptspeicher zu erkennen.

  • Recherchiere: Was versteht man unter einem fragmentierten Hauptspeicher?
  • Erläutere: Welche Vor- oder Nachteile hat diese Fragmentierung?



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png