3.3.2.2.3.5 Working Set Algorithmus

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 20: Zeile 20:
<p>
<p>
Sofern dies gelingt, kann man ein System erwarten, welches nur noch eine sehr kleine Zahl an Seitenfehlern produziert.
Sofern dies gelingt, kann man ein System erwarten, welches nur noch eine sehr kleine Zahl an Seitenfehlern produziert.
</p>
<br />
==== Aufgabe 1 ====
<p>
<loop_area type="task">
<loop_task title="Die 80/20-Regel und das Working Set">
<p>
Du kennst sicher die 80/20-Regel:<br />
''80 Prozent der von einer Software bereitgestellten Funktionen werden höchstens von 20 Prozent der Nutzer tatsächlich eingesetzt.''
</p>
<p>
Erläutere <small>(unter der Voraussetzung, dass die Regel zutrifft)</small>:<br />
Wie unterstützt diese Regel den Working Set Algorithmus bei seinem Ziel, möglichst wenig Seitenfehler entstehen zu lassen?
</p>
</loop_task>
</loop_area>
</p>
</p>



Version vom 6. Dezember 2013, 15:16 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 geht der Algorithmus dabei sogar noch einen Schritt weiter:
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.


Aufgabe 1

Aufgabe

Du kennst sicher die 80/20-Regel:
80 Prozent der von einer Software bereitgestellten Funktionen werden höchstens von 20 Prozent der Nutzer tatsächlich eingesetzt.

Erläutere (unter der Voraussetzung, dass die Regel zutrifft):
Wie unterstützt diese Regel den Working Set Algorithmus bei seinem Ziel, möglichst wenig Seitenfehler entstehen zu lassen?




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