Swapping

Aus Mikiwiki
Version vom 8. Februar 2010, 18:00 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Swapping (dt. "Umlagerung") beschreibt in der Informatik das Schreiben von Daten, die sich im schnellen, aber kleinen Arbeitsspeicher des Rechners befinden, auf den langsamen, aber grossen Hintergrundspeicher (z. B. eine Festplatte) und umgekehrt das Laden solcher Daten aus dem Hintergrund- in den Arbeitsspeicher. Dieser Vorgang ist Teil der Segmentierung, einer speziellen Art der Speicherverwaltung in Betriebssystemen.

Meist findet das Swapping statt, wenn der Prozess-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 Arbeitsspeicher enthalten. Diese Eigenschaft unterscheidet das Swapping vom Paging, bei dem nur einzelne Speicherseiten aus- und eingelagert werden. Dies führt dazu, dass Programme, die mehr Arbeitsspeicher benötigen als vorhanden ist, nicht ausgeführt werden können. Ausserdem ist das Auslagern und Einlesen von vollständigen Prozessen vergleichsweise zeitaufwendig. Der Vorteil zur statischen Partitionierung des Arbeitsspeichers liegt darin begründet, dass sich beim Swapping die Grössen der einzelnen Teilbereiche verändern können.

Beim Swapping müssen zwei Probleme gelöst werden:

  1. Die Speicheradressen der lokalen Variablen können sich zwischen Auslagerung und erneutem Einlesen verändern, wenn sich die Grösse des Speichersegmentes ändert. Dies wird durch Relokation der Variablen umgangen, indem die Speicheradressen der Variablen bei jedem Einlesen neu berechnet werden.
  2. 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.
  • Bei Betriebssystemen, die Paging unterstützen, bilden alle ausgelagerten Speicherseiten die Auslagerungsdatei.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger Swappingwbm Enzyklopädischer Artikel