3.3.2 Swapping und Paging

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 62: Zeile 62:
</p>
</p>


 
<br />
==== Aufgabe 1 ====
<p>
<loop_area type="task">
<loop_task title="Swapping vs. Paging">
<p>
Erläutere die Unterschiede zwischen Swapping und Paging!
* Wann kommt welche Technik zum Einsatz?
* Wie funktioniert die jeweilige Technik?
* Was hat der [[DMA-Controller]] damit zu tun?
</p>
</loop_task>
</loop_area>
</p>


<br />
<br />

Version vom 3. Dezember 2013, 11:05 Uhr

Der Begriff Swapping ist bereits aus einem vorangegangenen Kapitel bekannt. Seine Definition sei hier kurz wiederholt:


Definition: Swapping

{{#index:Swapping}}

Definition

Unter Swapping versteht man das Aus- bzw. Einlagern eines kompletten Prozesses.


Es soll an dieser Stelle klar werden, dass Swapping rein gar nichts mit der virtuellen Speicherverwaltung zu tun hat.

Kommt in einem Betriebssystem die virtuelle Speicherverwaltung mit Hilfe der MMU zum Einsatz, so gibt es eine alternative Technik, das sogenannte Paging, welches wesentlich flexibler als Swapping agiert.


Definition: Paging

{{#index:Paging}}

Definition

Unter Paging versteht man das Ein- bzw. Auslagern von Teilen eines Prozesses.


Aus den vorangegangenen Kapiteln ist ja bereits bekannt, dass man es bei der virtuellen Speicherverwaltung mit (virtuellen) Seiten bzw. (physikalischen) Seitenrahmen zu tun hat.

Eine Seite enthält einen bestimmten Teil eines Prozesses. Die Gesamtheit aller Seiten eines Prozesses repräsentiert somit den kompletten Prozess.

Eine (virtuelle) Seite kann einerseits in einem (physikalischen) Seitenrahmen eingelagert sein. Dann befindet sich die Seite im RAM und der zugehörige Prozess kann auf die Befehle und/oder Daten innerhalb der Seite zugreifen. Zum Einsatz kommt hier die Adressumrechnung mit Hilfe von MMU und Seitentabelle.

Andererseits kann eine (virtuelle) Seite auf einen Hintergrundspeicher (wie beispielsweise die Festplatte) ausgelagert sein. In diesem Fall steht die Seite nicht im RAM zur Verfügung, ein Zugriff des zugehörigen Prozesses auf Befehle/Daten schlägt fehl, es kommt zu einem sogenannten Page fault (Seitenfehler).

Die ausgelagerte Seite muss nun zunächst vom Hintergrundspeicher in einen Seitenrahmen eingelagert werden. Anschließend kann die Adressumrechnung mit Hilfe von MMU und Seitentabelle erfolgreich durchgeführt werden.

Wenn in der Definition des Begriffs Paging oben von Teilen eines Prozesses die Rede ist, dann ist klar, dass:


Hinweis

Beim Paging werden virtuelle Seiten in einen physikalischen Seitenrahmen eingelagert, oder aus diesem in den Hintergrundspeicher ausgelagert.


Aufgabe 1

Aufgabe

Erläutere die Unterschiede zwischen Swapping und Paging!

  • Wann kommt welche Technik zum Einsatz?
  • Wie funktioniert die jeweilige Technik?
  • Was hat der DMA-Controller damit zu tun?



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png