- Swap space
-
Umlagerung, englisch = Swapping [swɐpɪŋ] (kommt von to swap, deutsch = austauschen) beschreibt in der Informatik das Schreiben von Daten, die sich im schnellen, aber kleinen Hauptspeicher (RAM) des Computers befinden, auf den langsamen, aber großen Hintergrundspeicher (wie z. B. eine Festplatte) und umgekehrt das Laden solcher Daten aus dem Hintergrund- in den Hauptspeicher. Dieser Vorgang ist Teil der Segmentierung, einer speziellen Art der Speicherverwaltung in Betriebssystemen.
Meist findet das Swapping statt, wenn der Scheduler einen anderen Prozess aktiviert. Das Datensegment des neu aktivierten Prozesses wird in den Arbeitsspeicher geladen, während das Datensegment des abgelösten Prozesses auf den Hintergrundspeicher geschrieben wird.
Beim Swapping sind die Daten eines Prozesses entweder vollständig ausgelagert oder vollständig im Hauptspeicher enthalten. Diese Eigenschaft unterscheidet das Swapping vom Paging, bei dem nur einzelne Speicherseiten aus- und eingelagert werden. Dies führt dazu, dass Programme, welche mehr Arbeitsspeicher benötigen als vorhanden ist, nicht ausgeführt werden können. Außerdem ist das Auslagern und Einlesen von kompletten Prozessen relativ zeitaufwendig. Der Vorteil zur statischen Partitionierung des Arbeitsspeichers liegt darin begründet, dass sich beim Swapping die Größen der einzelnen Teilbereiche verändern können.
Beim Swapping müssen zwei Probleme gelöst werden:
- Die Speicheradressen der lokalen Variablen können sich zwischen Auslagerung und erneutem Einlesen verändern, wenn sich die Größe des Speichersegmentes ändert. Dies wird durch Relokation der Variablen umgangen, indem die Speicheradressen der Variablen bei jedem Einlesen neu berechnet werden.
- der Speicherschutz des verwaltenden Betriebssystems, der verhindert, dass Programme den ihnen zugewiesenen Speicherbereich zum Lesen oder Schreiben verlassen können.
Bei Betriebssystemen, die nur Segmentierung unterstützen, bilden alle ausgelagerten Speichersegmente in ihrer Gesamtheit die Auslagerungsdatei, während bei Betriebssystemen, die Paging unterstützen, alle ausgelagerten Speicherseiten die Auslagerungsdatei bilden.
Wikimedia Foundation.