Swapping


Swapping

In der Informatik beschreibt Swapping [swɐpɪŋ] (engl. für Umlagerung; von englisch to swap, ‚austauschen‘) innerhalb der Speicherpyramide das Auslagern von Daten einer höheren in eine tiefere Ebene oder das entgegengesetzte Laden. Mit dem Swapping wird beabsichtigt, die Vorteile höherer Ebenen, also höhere Geschwindigkeit, und tieferer Ebenen, nämlich höhere Kapazität und kostengünstigerer Speicher, quasi gleichzeitig nutzbar zu machen. Dies wird erkauft durch den Zeitbedarf des Swappens. Üblicherweise bezieht man sich auf die Datenverschiebung zwischen Arbeitsspeicher und Festplatte.

Gerade nicht benötigte Daten werden ausgelagert, um Platz im Arbeitsspeicher zu schaffen. Werden sie wieder benötigt, müssen sie wieder geladen werden (und etwas anderes muss dafür weichen). Dieser Vorgang ist Teil der Segmentierung, einer speziellen Art der Speicherverwaltung in Betriebssystemen. Das für diese Zwecke eingesetzte, im Hintergrund arbeitende Computerprogramm wird auch als Swapper bezeichnet.[1]

Swapping ist ein Vorläufer des Paging, welches von den meisten modernen Betriebssystemen als Basis für Virtuelle Speicherverwaltung verwendet wird.

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 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öße 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, während bei Betriebssystemen, die Paging unterstützen, alle ausgelagerten Speicherseiten die Auslagerungsdatei bilden.

Swapping versus Paging

Moderne Betriebssysteme unterstützen typischerweise das Konzept des page cache, so dass virtueller Speicher und Festplatten-Caching über denselben Mechanismus abgearbeitet werden. "Page in" bezeichnet den Transfer von einer Datei in den Arbeitsspeicher, "page out" den Transfer vom Arbeitsspeicher in das Dateisystem. "Swap in" und "swap out" bezieht sich nur auf den Transfer zwischen dem Arbeitsspeicher und dediziertem Swap-Speicherplatz, nicht jedoch auf den Transfer anderer Dateieninhalte.

Beispiele

  • Ein Programm mit Speicherleck verbraucht mehr Speicher, als dem System physisch zur Verfügung steht. Das System hat eine Swap-Datei und einige Speicherseiten des Programms werden dorthin ausgelagert. Man spricht hier von Swapping, da die Swap-Datei die einzige involvierte Datei ist.
  • Ein Programm öffnet eine Datei, ohne die Option für direkte Ein- und Ausgabe zu verwenden. Die Datei wird in den Dateisystem-Cache geladen. Hier spricht man von page in, da der Swap-Speicherplatz nicht berührt ist.

Einzelnachweise

  1. What is swapper daemon in unix ?

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Swapping —   [dt. »Vertauschen«], allgemein das Vertauschen zweier Daten. In Verbindung mit dem Hauptspeicher eines Computers bedeutet Swapping das Vertauschen von Daten im Hauptspeicher mit solchen auf einem externen Speicher, meist einem vom Computer… …   Universal-Lexikon

  • Swapping — can mean: * Paging or thrashing in computer systems * Swapping (barter) * Hot swapping * Book swappingee also * Swap …   Wikipedia

  • swapping — SWÁPPING SUA PING/ s. n. înlocuire în memoria unui ordinator a unui program cu altul. (< engl. swapping) Trimis de raduborza, 15.09.2007. Sursa: MDN …   Dicționar Român

  • swapping — [swapiŋ] n. m. ÉTYM. 1975; mot angl., de to swap « échanger ». ❖ ♦ Anglic. Techn. Action de substituer (dans la mémoire d un ordinateur) un programme à un autre …   Encyclopédie Universelle

  • swapping —    The process of exchanging one item for another. In a virtual memory system, swapping occurs when a program requests a virtual memory location that is not currently in memory. Swapping may also refer to changing floppy or compact disks as… …   Dictionary of networking

  • Swapping — Swap Swap, v. t. [imp. & p. p. {Swapped}; p. pr. & vb. n. {Swapping}.] [OE. swappen to strike; cf. E. to strike a bargain; perh. akin to E. sweep. Cf. {Swap} a blow, {Swap}, v. i.] [Written also {swop}.] 1. To strike; with off. [Obs. or Prov. Eng …   The Collaborative International Dictionary of English

  • swapping — sukeitimas statusas T sritis automatika atitikmenys: angl. swap; swapping vok. abwechselndes Ein und Auslagern, n; Austauschen, n rus. обмен, m; перекачка, f pranc. l échange, m …   Automatikos terminų žodynas

  • swapping — Synonyms and related words: agency, backscratching, barter, bartering, brokerage, buying and selling, colossal, dealing, doing business, enormous, even trade, exchange, giant, gigantic, give and take, horse trading, immense, interchange, jobbing …   Moby Thesaurus

  • Swapping — paarweise Tauschen , bei der Speicherverwaltung Verfahren, um einen Speicherüberlauf dadurch zu umgehen, dass (kurzfristig) nicht benutzte, aber belegte Speicherseiten auf externen Speicher abgelegt werden …   Acronyms

  • swapping — ● ►en n. m. Technique mettant en œuvre un swapper selon la première définition …   Dictionnaire d'informatique francophone


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.