[gesichtete Version] | [gesichtete Version] |
Kwastg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<loop_index id="5fa9788ba92c3">Working Set Seitenersetzungsalgorithmus</loop_index> | |||
<loop_index>Working Set Seitenersetzungsalgorithmus</loop_index> | |||
Der '''Working Set Seitenersetzungsalgorithmus''' basiert auf interessanten Erkenntnissen: | Der '''Working Set Seitenersetzungsalgorithmus''' basiert auf interessanten Erkenntnissen: | ||
</p> | </p> | ||
Zeile 26: | Zeile 25: | ||
== Lokalitätseffekt == | == Lokalitätseffekt == | ||
<p> | <p> | ||
<loop_index>Lokalitätseffekt</loop_index> | <loop_index id="5fa9788ba92d0">Lokalitätseffekt</loop_index> | ||
Der Working Set Algorithmus nutzt den sogenannten Lokalitätseffekt von Prozessen, der nach <cite>Glatz+2010</cite> wie folgt umschrieben werden kann: | Der Working Set Algorithmus nutzt den sogenannten Lokalitätseffekt von Prozessen, der nach <cite id="5fa9788ba92d9">Glatz+2010</cite> wie folgt umschrieben werden kann: | ||
</p> | </p> | ||
<p> | <p> | ||
Zeile 38: | Zeile 37: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Die 80/20-Regel und das Working Set"> | <loop_task title="Die 80/20-Regel und das Working Set" id="5fa9788ba92e1"> | ||
<p> | <p> | ||
Du kennst sicher die 80/20-Regel:<br /> | Du kennst sicher die 80/20-Regel:<br /> | ||
Zeile 55: | Zeile 54: | ||
<p> | <p> | ||
Eine detailliertere Auseinandersetzung mit dem Working Set Algorithmus findet sich u.a. bei: | Eine detailliertere Auseinandersetzung mit dem Working Set Algorithmus findet sich u.a. bei: | ||
* <cite>Glatz+2010</cite>, Kapitel 7.5.2 | * <cite id="5fa9788ba92e9">Glatz+2010</cite>, Kapitel 7.5.2 | ||
* <cite>Mandl+2013</cite>, Kapitel 7.2.3 | * <cite id="5fa9788ba92f1">Mandl+2013</cite>, Kapitel 7.2.3 | ||
* <cite>Strelen+2012</cite>, Kapitel 6.6.1 | * <cite id="5fa9788ba9307">Strelen+2012</cite>, Kapitel 6.6.1 | ||
* <cite>Tanenbaum+2009</cite>, Kapitel 3.4.8 | * <cite id="5fa9788ba930e">Tanenbaum+2009</cite>, Kapitel 3.4.8 | ||
</p> | </p> | ||
<p> | <p> |
Der Working Set Seitenersetzungsalgorithmus basiert auf interessanten Erkenntnissen:
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örenden 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 Seitenrahmen eingelagert.
Sofern dies gelingt, kann man ein System erwarten, welches nur noch eine verhältnismäßig kleine Zahl an Seitenfehlern produziert.
Der Working Set Algorithmus nutzt den sogenannten Lokalitätseffekt von Prozessen, der nach Glatz 2010 wie folgt umschrieben werden kann:
Der Lokalitätseffekt bezeichnet die Idee, dass innerhalb größerer Zeiträume immer nur ein Teil des gesamten Codeumfangs eines Prozesses ausgeführt wird.
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?
Eine detailliertere Auseinandersetzung mit dem Working Set Algorithmus findet sich u.a. bei:
und kann dort - je nach Verfügbarkeit der Quellen - nachgelesen werden.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png