Auslagerungsdatei
Die Auslagerungsdatei (englisch swap file oder page file) bezeichnet eine Datei bzw. die Swap-Partition (englisch swap partition) eine Partition auf einem Massenspeichermedium eines Computers, die verschiedene Betriebssysteme im Rahmen ihrer Speicherverwaltung verwenden, um Prozessen einen größeren Adressraum zur Verfügung stellen zu können als durch den physisch vorhandenen Arbeitsspeicher eigentlich möglich wäre.
Beschreibung
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.
Einige Programme oder Betriebssysteme wie etwa 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.
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.
Je nachdem, ob die Speicherverwaltung reine Segmentierung, reines Paging im Rahmen einer virtuellen Speicherverwaltung oder eine Kombination aus beidem anwendet, enthält die Auslagerungsdatei Segmente, Speicherseiten oder beides. Der Arbeitsspeicher, die Auslagerungsdatei und eventuell gemappte Sekundärspeicherseiten (Paging) bilden zusammen den belegten Teil des virtuellen Speichers.
Windows
Der Begriff Auslagerungsdatei ist hauptsächlich durch das Betriebssystem 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. Auch ist es möglich, die Auslagerungsdatei auf eine beliebige fixe Größe (ab 2 MB) einzustellen, was unter Umständen zu einem Leistungsgewinn führen kann. Eine Unterscheidung zwischen dem physischen Arbeitsspeicher und der Auslagerungsdatei findet aus Sicht der Anwendungen nicht statt. Die Anwendungen verwenden den virtuellen Speicher vollkommen transparent. Unter Windows 2000, XP, Vista, 7 und 8 heißt die Auslagerungsdatei pagefile.sys. Dieser Name kann jedoch in der Registrierungsdatenbank geändert werden.[1] Es ist auch möglich, die Auslagerungsdatei zu deaktivieren, was jedoch nur sinnvoll ist, wenn der physische Speicher nie vollständig aufgebraucht wird.
ReadyBoost ist eine von Microsoft unter Windows Vista eingeführte Technologie, die es erlaubt, auf einem schnellen Flash-Speicher (z. B. einem USB-Stick) Dateien (damit unter anderem die Auslagerungsdatei) zu cachen und dadurch den Zugriff zu beschleunigen.
Linux
Andere Betriebssysteme, wie z. B. Linux, verwenden ähnliche Speicherverwaltungsmechanismen, jedoch anstelle der Auslagerungsdatei meist eine dafür zugewiesene (oder dedizierte) Partition, der Auslagerungsbereich (englisch swap partition oder swap space). Dieser Bereich kann auch auf einem eigenen Massenspeicher liegen. Die Verwendung einer Partition statt einer Auslagerungsdatei hat den Vorteil, dass keine Fragmentierung entstehen kann und 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.[2][3] Der Auslagerungsspeicher kann auch als Zwischenspeicher während des Ruhezustandes verwendet werden.
Weblinks
- SwapFs (englisch) – Treiber zum Speichern der Windows-Auslagerungsdatei auf einer Linux-Swappartition