3.3.2.2.3.5 Working Set Algorithmus

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
<p>
<p>
* Wird ein Prozess auf der CPU ausgeführt, so werden seine Befehle der Reihe nach von Steuerwerk und Rechenwerk verarbeitet. Jeder Befehl stammt aus einer bestimmten virtuellen Seite aus dem Adressraum des Prozesses.
* Wird ein Prozess auf der CPU ausgeführt, so werden seine Befehle der Reihe nach von Steuerwerk und Rechenwerk verarbeitet. Jeder Befehl stammt aus einer bestimmten virtuellen Seite aus dem Adressraum des Prozesses.
* Der jeweils nächste zu verarbeitende Befehl stammt ebenfalls aus einer virtuellen Seite. In vielen Fällen wird es sogar dieselbe virtuelle Seite wie beim Befehl zuvor sein.
* Der jeweils nächste zu verarbeitende Befehl stammt ebenfalls aus einer virtuellen Seite. In vielen Fällen wird es sogar dieselbe virtuelle Seite wie beim Befehl zuvor sein, denn die Befehle werden in den meisten Fällen sequentiell abgearbeitet.
* Zum Beispiel bei Sprüngen kann ein Befehl zur Ausführung kommen, der aus einer anderen virtuellen Seite stammt. Werden danach weitere Befehle sequentiell abgearbeitet, so stammen diese mit hoher Wahrscheinlichkeit wieder alle von derselben virtuellen Seite.
</p>
</p>
<p>
<p>
- to do -
Insgesamt ist damit erkennbar, dass bei vielen nacheinander auf der CPU ausgeführten Befehlen nur relativ wenig verschiedene virtuelle Seiten angesprochen werden. Genau diese Seiten bilden nun das '''Working Set''' des betrachteten Prozesses.
</p>
<p>
Der Working Set Algorithmus versucht nun, alle zum Working Set eines Prozesses gehörende Seiten ständig im Hauptspeicher zu halten.
</p>
<p>
Optimalerweise sollte der Algorithmus dabei sogar noch einen Schritt weiter gehen: Halte '''für alle Prozesse''' auch '''alle zum jeweiligen Working Set gehörigen virtuellen Seiten''' stets in einem Seitanrahmen eingelagert.
</p>
<p>
Sofern dies gelingt, kann man ein System erwarten, welches nur noch eine sehr kleine Zahl an Seitenfehlern produziert.
</p>
</p>



Version vom 6. Dezember 2013, 15:03 Uhr

{{#index:Working Set Seitenersetzungsalgorithmus}} Der Working Set Seitenersetzungsalgorithmus basiert auf interessanten Erkenntnissen:

  • Wird ein Prozess auf der CPU ausgeführt, so werden seine Befehle der Reihe nach von Steuerwerk und Rechenwerk verarbeitet. Jeder Befehl stammt aus einer bestimmten virtuellen Seite aus dem Adressraum des Prozesses.
  • Der jeweils nächste zu verarbeitende Befehl stammt ebenfalls aus einer virtuellen Seite. In vielen Fällen wird es sogar dieselbe virtuelle Seite wie beim Befehl zuvor sein, denn die Befehle werden in den meisten Fällen sequentiell abgearbeitet.
  • Zum Beispiel bei Sprüngen kann ein Befehl zur Ausführung kommen, der aus einer anderen virtuellen Seite stammt. Werden danach weitere Befehle sequentiell abgearbeitet, so stammen diese mit hoher Wahrscheinlichkeit wieder alle von derselben virtuellen Seite.

Insgesamt ist damit erkennbar, dass bei vielen nacheinander auf der CPU ausgeführten Befehlen nur relativ wenig verschiedene virtuelle Seiten angesprochen werden. Genau diese Seiten bilden nun das Working Set des betrachteten Prozesses.

Der Working Set Algorithmus versucht nun, alle zum Working Set eines Prozesses gehörende Seiten ständig im Hauptspeicher zu halten.

Optimalerweise sollte der Algorithmus dabei sogar noch einen Schritt weiter gehen: Halte für alle Prozesse auch alle zum jeweiligen Working Set gehörigen virtuellen Seiten stets in einem Seitanrahmen eingelagert.

Sofern dies gelingt, kann man ein System erwarten, welches nur noch eine sehr kleine Zahl an Seitenfehlern produziert.




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