<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Swapping</id>
	<title>Swapping - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Swapping"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Swapping&amp;action=history"/>
	<updated>2026-05-22T09:24:26Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Swapping&amp;diff=172905&amp;oldid=prev</id>
		<title>2A02:8109:9A0B:8600:90AB:5A22:8ED8:835C: Komma ergänzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Swapping&amp;diff=172905&amp;oldid=prev"/>
		<updated>2024-10-26T18:22:24Z</updated>

		<summary type="html">&lt;p&gt;Komma ergänzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Redundanztext&lt;br /&gt;
|3=Datenblock&lt;br /&gt;
|4=Speicherseite&lt;br /&gt;
|5=Swapping|6=Virtuelle Speicherverwaltung|2=Mai 2023|1=[[Spezial:Beiträge/141.30.244.2|141.30.244.2]] 00:30, 14. Mai 2023 (CEST)}}&lt;br /&gt;
In der [[Informatik]] beschreibt &amp;#039;&amp;#039;&amp;#039;Swapping&amp;#039;&amp;#039;&amp;#039; [{{IPA|swɐpɪŋ}}] (englisch für &amp;#039;&amp;#039;&amp;#039;Umlagerung&amp;#039;&amp;#039;&amp;#039;; von englisch &amp;#039;&amp;#039;to swap&amp;#039;&amp;#039;, ‚austauschen‘) innerhalb der [[Speicherhierarchie]] das Auslagern von [[Daten]] einer höheren in eine tiefere [[Hierarchisches Speichermanagement|Ebene]] oder das entgegengesetzte Laden. Durch Swapping sollen 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 gemacht werden. Üblicherweise bezieht der Begriff sich auf die Datenverschiebung zwischen [[Arbeitsspeicher]] und [[Massenspeicher|Festplatte]].&lt;br /&gt;
&lt;br /&gt;
Swapping ist meist in Form einer [[#Auslagerungsdatei|Auslagerungsdatei]] oder einer [[#Swap-Partition|Swap-Partition]] praktisch umgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Arbeitsweise ==&lt;br /&gt;
[[Datei:Swapping Aus- und Einlagern von kompletten Prozessen.webm|alt=Video mit Tonspur.|mini|Ein- und Auslagern kompletter Prozesse]]&lt;br /&gt;
Ist kein freier Arbeitsspeicher mehr verfügbar, um eine Anfrage zu bedienen, so werden gerade nicht benötigte Daten &amp;#039;&amp;#039;ausgelagert&amp;#039;&amp;#039;, um Platz im Arbeitsspeicher zu schaffen. Werden sie wieder benötigt, müssen sie wieder geladen werden (und etwas anderes muss dafür weichen). Die für diese Zwecke eingesetzte, im [[Hintergrundprozess|Hintergrund arbeitende Software-Routine]] wird auch als &amp;#039;&amp;#039;&amp;#039;Swapper&amp;#039;&amp;#039;&amp;#039; bezeichnet.&lt;br /&gt;
Swapping wurde zunächst kombiniert mit der [[Segmentierung (Speicherverwaltung)|Segmentierung]], einer speziellen Art der [[Speicherverwaltung]] in [[Betriebssystem]]en.&lt;br /&gt;
Swapping gab es schon vor dem [[Paging]], das von den meisten modernen Betriebssystemen als Basis für [[Virtuelle Speicherverwaltung]] verwendet wird. Swapping und Paging werden heute meist miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
Häufig findet Swapping statt, wenn der [[Prozess-Scheduler|Scheduler]] einen anderen [[Prozess (Informatik)|Prozess]] aktiviert, da der andere Prozess nun seine Daten benötigt, während auf die des vorherigen nun länger nicht mehr zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
Beim Swapping müssen zwei Probleme gelöst werden:&lt;br /&gt;
&lt;br /&gt;
# Die [[Speicheradresse]]n der [[Lokale Variable|lokalen Variablen]] können sich zwischen Auslagerung und erneutem Einlesen verändern, wenn sich die Größe des Speichersegmentes ändert. Bei Speicherverwaltung mittels Segmentierung wird das durch [[Relokation]]&amp;lt;ref&amp;gt;{{Internetquelle |autor=[[Wolfram Burgard]] |url=http://ais.informatik.uni-freiburg.de/teaching/ws16/systems1/slides/kap08-speicherverwaltung-1.pdf |titel=Systeme I: Betriebssysteme |titelerg=Kapitel 8: Speicherverwaltung |werk=ais.informatik.uni-freiburg.de |seiten=14 ff |datum=2016-12-21 |format=PDF; 561&amp;amp;nbsp;kB |sprache=de |abruf=2023-03-16}}&amp;lt;/ref&amp;gt; der Variablen umgangen, indem die Speicheradressen der Variablen bei jedem Einlesen neu berechnet werden. Bei Paging geschieht dies über die Abbildung [[Virtuelle Adresse|virtueller Adressen]] auf reale Adressen mittels der [[Seitentabelle]].&lt;br /&gt;
# Der [[Speicherschutz]] des verwaltenden Betriebssystems, der verhindert, dass Programme den ihnen zugewiesenen Speicherbereich zum Lesen oder Schreiben verlassen können.&lt;br /&gt;
Beide Probleme lassen sich auch durch Kombination von Swapping mit [[Virtuelle Speicherverwaltung|virtueller Speicherverwaltung]] lösen.&lt;br /&gt;
&lt;br /&gt;
Bei Betriebssystemen, die nur Segmentierung unterstützen, bilden alle ausgelagerten Speichersegmente in ihrer Gesamtheit die [[#Auslagerungsdatei|Auslagerungsdatei]], während bei Betriebssystemen, die Paging unterstützen, alle ausgelagerten Speicherseiten die Auslagerungsdatei bilden.&lt;br /&gt;
&lt;br /&gt;
== Swapping versus Paging ==&lt;br /&gt;
[[Virtueller Speicher]] und Festplatten-[[Caching]] können prinzipiell über denselben Mechanismus abgearbeitet werden, was moderne Betriebssysteme typischerweise unterstützen. Eine geöffnete Datei kann als Teil des Adressraums eingeblendet werden – tatsächlich eingelesen („swap-in“) werden nur jene Bereiche, auf die die Anwendung tatsächlich zugreift. Umgekehrt wird „Speichern“ einfach zu einem „swap out“-Vorgang.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird sprachlich abgegrenzt, dass „swap in“ und „swap out“ sich nur auf den Transfer zwischen dem Arbeitsspeicher und dediziertem Swap-Speicherplatz beziehen würde, nicht jedoch auf den Transfer anderer Dateieninhalte, wohingegen „page in“ einen beliebigen Transfer von einer Datei in den Arbeitsspeicher, „page out“ einen (beliebigen) Transfer vom Arbeitsspeicher in das Dateisystem bezeichne.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Ein Programm öffnet eine Datei, ohne die Option für direkte Ein- und Ausgabe zu verwenden. Die Datei wird in den &amp;#039;&amp;#039;Dateisystem-Cache&amp;#039;&amp;#039; geladen. Hier spricht man von „page in“, da der &amp;#039;&amp;#039;Swap-Speicherplatz&amp;#039;&amp;#039; nicht berührt ist.&lt;br /&gt;
&lt;br /&gt;
== Anwendungspraxis ==&lt;br /&gt;
&lt;br /&gt;
=== Auslagerungsdatei ===&lt;br /&gt;
Das Betriebssystem jedes Computers verwaltet einen Speicherbereich, in dem die Daten, die der Rechner gerade benötigt, abgelegt werden. Diesen Bereich nennt man RAM ([[Random Access Memory]]). In bestimmten Situationen kann es je nach Größe des Arbeitsspeichers vorkommen, dass nicht alle diese Daten im RAM Platz finden, etwa weil besonders speicherintensive Programme verwendet werden. In diesem Fall wird der adressierbare Systemspeicher erweitert und dieser zusätzliche Adressraum in eine Auslagerungsdatei umgeleitet.&lt;br /&gt;
&lt;br /&gt;
Einige Programme oder Betriebssysteme wie etwa [[Microsoft Windows|Windows]] greifen aber auch dann auf die Auslagerungsdatei zu, wenn noch ausreichend RAM vorhanden ist. So wird unter bestimmten Versionen von Windows beispielsweise der einem Programm zugewiesene Arbeitsspeicher in die Auslagerungsdatei umgeleitet, wenn es vom Benutzer minimiert wird. Dadurch wird mehr Arbeitsspeicher für die momentan aktiven Programme verfügbar.&lt;br /&gt;
&lt;br /&gt;
Der Zugriff auf den zusätzlichen Speicher der Auslagerungsdatei ist aus technischen Gründen wesentlich langsamer als der direkte Zugriff auf den RAM. Daher kommt es je nach Geschwindigkeit des verwendeten Massenspeichermediums zu Geschwindigkeitseinbußen, wenn größere Datenmengen aus der Auslagerungsdatei gelesen beziehungsweise in die Auslagerungsdatei geschrieben werden. Je höher die Übertragungsrate und vor allem je niedriger die Zugriffszeit des Massenspeichermediums ist, desto geringer sind die zu erwartenden Geschwindigkeitseinbußen.&lt;br /&gt;
&lt;br /&gt;
Je nachdem, ob die Speicherverwaltung reine [[Segmentierung (Speicherverwaltung)|Segmentierung]], reines [[Paging]] im Rahmen einer [[Virtuelle Speicherverwaltung|virtuellen Speicherverwaltung]] oder eine Kombination aus beidem anwendet, enthält die Auslagerungsdatei Segmente, [[Speicherseite]]n oder beides. Der Arbeitsspeicher, die Auslagerungsdatei und eventuell gemappte Sekundärspeicherseiten (Paging) bilden zusammen den belegten Teil des [[Virtueller Speicher|virtuellen Speichers]].&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
Der Begriff Auslagerungsdatei ist hauptsächlich durch das Betriebssystem [[Microsoft Windows|Windows]] geprägt. Dieses verwaltet die Auslagerungsdatei selbstständig und passt sie dynamisch den Anforderungen an. Wird für die Ausführung eines Prozesses mehr Speicherplatz benötigt, wird die Auslagerungsdatei größer; wird später wieder weniger Speicherplatz gebraucht, wird sie verkleinert. Die minimale und maximale Größe der Auslagerungsdatei kann weitestgehend frei gewählt werden. Auf Computern mit mehreren internen Festplatten ist es möglich, die Auslagerungsdatei auf eine beliebige Festplatte (vorzugsweise schnelle [[Solid-State-Drive|SSDs]]) zu verschieben oder auch auf mehrere Festplatten zu verteilen.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Markus Kasanmascheff |url=https://www.netzwelt.de/anleitung/180586-windows-10-auslagerungsdatei-optimal-einstellenso-gehts.html |titel=Windows 10 und Windows 11: Auslagerungsdatei optimal einstellen – So geht’s |werk=netzwelt.de |datum=2022-01-06 |sprache=de |abruf=2023-03-16}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;pcwelt_pagefile&amp;quot;&amp;gt;{{Internetquelle |autor=Panagiotis Kolokythas |url=https://www.pcwelt.de/article/1168921/windows-pagefile-sys-verschieben-aendern-loeschen.html |titel=Windows: Pagefile.sys verschieben, ändern, löschen |werk=pcwelt.de |datum=2020-01-12 |sprache=de |abruf=2023-03-16}}&amp;lt;/ref&amp;gt; Eine Unterscheidung zwischen dem physischen Arbeitsspeicher und der Auslagerungsdatei findet aus Sicht der Anwendungen nicht statt. Die Anwendungen verwenden den virtuellen Speicher vollkommen [[Transparenz (Computersystem)|transparent]]. Unter Betriebssystemen der [[Microsoft Windows NT|Windows-NT-Familie]] heißt die Auslagerungsdatei standardmäßig &amp;#039;&amp;#039;pagefile.sys&amp;#039;&amp;#039;.&amp;lt;ref name=&amp;quot;pcwelt_pagefile&amp;quot; /&amp;gt; Es ist auch möglich, die Auslagerungsdatei zu deaktivieren, was jedoch nur sinnvoll ist, wenn der physische Speicher nie vollständig aufgebraucht wird und seine Nutzung auch nicht durch Lizenzmodelle eingeschränkt wird (z.&amp;amp;nbsp;B. MS SQL Server Express).&lt;br /&gt;
&lt;br /&gt;
[[ReadyBoost]] ist eine von [[Microsoft]] unter [[Microsoft Windows Vista|Windows Vista]] eingeführte Technologie, die es erlaubt, auf einem schnellen [[Flash-Speicher]] (z.&amp;amp;nbsp;B. einem [[USB-Stick]]) Dateien (damit unter anderem die Auslagerungsdatei) zwischenzuspeichern und dadurch den Zugriff zu beschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Swap-Partition ===&lt;br /&gt;
==== Linux ====&lt;br /&gt;
Andere Betriebssysteme, wie z.&amp;amp;nbsp;B. [[Linux]], verwenden ähnliche Speicherverwaltungsmechanismen, jedoch anstelle der Auslagerungsdatei meist eine dafür zugewiesene (oder &amp;#039;&amp;#039;dedizierte&amp;#039;&amp;#039;) [[Partition (Datenträger)|Partition]], der Auslagerungsbereich (englisch &amp;#039;&amp;#039;{{lang|en|swap partition}}&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;{{lang|en|swap space}}&amp;#039;&amp;#039;). Dieser Bereich kann auch auf einem eigenen Massenspeicher liegen. Die Verwendung einer Partition statt einer Auslagerungsdatei hat den Vorteil, dass die dadurch zu erwartende [[Fragmentierung (Dateisystem)|Fragmentierung]] in dem Dateisystem, auf dem die Auslagerungsdatei angelegt würde, vermieden werden kann sowie umgekehrt dass eine bei Anlegen des Bereichs bereits bestehende Fragmentierung der übrigen Daten sich nicht auf die Auslagerung auswirkt. Nachteilig kann die feste Größe der Partition und somit auch des verfügbaren Speichers sein. Unter Linux ist es möglich, während des Betriebs weitere Auslagerungspartitionen hinzuzufügen beziehungsweise vorhandene zu entfernen. Außerdem können auch reguläre Dateien zum Auslagern genutzt werden, aber auch hier ist die Dateigröße fest.&amp;lt;ref&amp;gt;{{Literatur |Autor=Konrad Heuer, Reinhard Sippel |Titel=UNIX-Systemadministration: Linux, Solaris, AIX, FreeBSD, Tru64-UNIX |Verlag=Springer |Datum=2004 |ISBN=3-642-18945-8 |Seiten=76 |Sprache=de |Online={{Google Buch |BuchID=xa8iBgAAQBAJ}} |DOI=10.1007/978-3-642-18945-6}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Literatur |Autor=Evi Nemeth, Garth Snyder, Trent Hein |Titel=Linux-Administrations-Handbuch |Verlag=Addison-Wesley |Datum=2007 |ISBN=978-3-8273-2822-9 |Seiten=226 |Sprache=de |Online={{Google Buch |BuchID=-bmCLFdcot8C}}}}&amp;lt;/ref&amp;gt; Der Auslagerungsspeicher kann auch als Zwischenspeicher während des [[Ruhezustand]]es verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.acc.umu.se/~bosse/ SwapFs] (englisch) – Treiber zum Speichern der Windows-Auslagerungsdatei auf einer Linux-Swappartition&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Speicherverwaltung]]&lt;br /&gt;
[[Kategorie:Wikipedia:Artikel mit Video]]&lt;/div&gt;</summary>
		<author><name>2A02:8109:9A0B:8600:90AB:5A22:8ED8:835C</name></author>
	</entry>
</feed>