[gesichtete Version] | [gesichtete Version] |
(Die Seite wurde neu angelegt: „{{#index:Priority Scheduling|PS|Scheduling, PS}} <p> Dieses Thema wird in der weiterführenden Literatur behandelt: </p> <p> <loop_area type="notice">'''Weiter…“) |
Kwastg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<loop_index id="5fa9786e32d6b">Priority Scheduling</loop_index><loop_index id="5fa9786e72369">PS</loop_index><loop_index id="5fa9786e72374">Scheduling, PS</loop_index> | |||
Beim Priority Scheduling (kurz: PS) wird jedem Prozess eine Priorität zugewiesen. Der Prozess mit der höchsten Priorität bekommt als erstes die CPU. | |||
</p> | |||
<br /> | |||
== Aufgabe 1 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title="Verschiedene Prozesse mit gleicher Priorität" id="5fa9786e32d73"> | |||
<p> | |||
Wie soll der Scheduler vorgehen, wenn es mehrere Prozesse mit gleicher Priorität gibt? Z.B. mehrere Prozesse mit höchster Priorität? | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<br /> | |||
== Weiterführende Literatur == | |||
<p> | |||
PS wird u.a. behandelt bei: | |||
* <cite id="5fa9786e32d78">Eisenhardt+et.al.+2007</cite>, Kapitel 9.2.3 | |||
* <cite id="5fa9786e32d7e">Glatz+2010</cite>, Kapitel 3.4.3 (siehe dort unter ''ML-Strategie'') | |||
* <cite id="5fa9786e32d83">Mandl+2013</cite>, Kapitel 5.2 | |||
* <cite id="5fa9786e32d88">Strelen+2012</cite>, Kapitel 4.1 | |||
* <cite id="5fa9786e32d8d">Tanenbaum+2009</cite>, Kapitel 2.4.3 | |||
</p> | |||
<p> | |||
und kann dort - je nach Verfügbarkeit der Quellen - nachgelesen werden. | |||
</p> | |||
<br /> | |||
== Aufgabe 2 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title="Was passiert bei niedriger Priorität?" id="5fa9786e32d91"> | |||
<p> | |||
Auf einem System warten mehrere Prozesse mit hoher Priorität, mehrere mit mittlerer Priorität und auch mehrere mit niedriger Priorität auf die Zuteilung der CPU. | |||
</p> | |||
<p> | |||
Solange sich mindestens ein Prozess mit hoher Priorität im Zustand ''[[Prozesszustände|Bereit]]'' befindet: welche Auswirkungen hat dies auf die CPU-Zuteilung für Prozesse mit mittlerer und niedriger Priorität? | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<br /> | |||
== Aufgabe 3 == | |||
<p> | |||
<loop_area type="task"> | |||
<loop_task title="Erweitere PS" id="5fa9786e32d97"> | |||
<p> | |||
Erweitere das PS-Verfahren um folgende Tätigkeit: | |||
</p> | |||
<p> | |||
Bei jedem Kontextwechsel wird die Priorität des von der CPU scheidenden Prozesses um eine Stufe herabgesetzt (sofern er sich nicht bereits in der niedrigsten Stufe befindet). | |||
</p> | |||
<p> | |||
Welche Auswirkungen auf alle Prozesse mit unterschiedlichen Prioritäten ergeben sich jetzt? | |||
* Erläutere die Auswirkungen anhand eines selbstgewählten Beispiels! | |||
* Orientiere dein Beispiel an den Beispielen der [http://www.utdallas.edu/~ilyen/animation/cpu/program/prog.html bekannten Animation]. Denke dabei an die Angabe der Prioritäten. | |||
</p> | |||
</loop_task> | |||
</loop_area> | |||
</p> | |||
<br /> | |||
<p> | <p> | ||
Hast du dein Beispiel erstellt? Prima. Dann führen wird das Gedankenspiel noch einmal in eine entgegengesetzte Richtung: | |||
</p> | </p> | ||
<br /> | |||
== Aufgabe 4 == | |||
<p> | <p> | ||
<loop_area type=" | <loop_area type="task"> | ||
< | <loop_task title="Herauf statt herunter!" id="5fa9786e32d9b"> | ||
<p> | <p> | ||
Statt die Prioritäten von Prozessen dynamisch herabzusetzen, könnte man sie auch heraufsetzen. Überlege, recherchiere und diskutiere in deiner Lerngruppe: | |||
* Wessen Priorität wird heraufgesetzt? | |||
* Wann genau passiert das? | |||
* Wie groß ist der Aufwand im Vergleich zur oben beschriebenen Strategie mit dem Herabsetzen von Prioritäten? | |||
</p> | </p> | ||
</ | </loop_task> | ||
</loop_area> | </loop_area> | ||
</p> | </p> |
Beim Priority Scheduling (kurz: PS) wird jedem Prozess eine Priorität zugewiesen. Der Prozess mit der höchsten Priorität bekommt als erstes die CPU.
Wie soll der Scheduler vorgehen, wenn es mehrere Prozesse mit gleicher Priorität gibt? Z.B. mehrere Prozesse mit höchster Priorität?
PS wird u.a. behandelt bei:
und kann dort - je nach Verfügbarkeit der Quellen - nachgelesen werden.
Auf einem System warten mehrere Prozesse mit hoher Priorität, mehrere mit mittlerer Priorität und auch mehrere mit niedriger Priorität auf die Zuteilung der CPU.
Solange sich mindestens ein Prozess mit hoher Priorität im Zustand Bereit befindet: welche Auswirkungen hat dies auf die CPU-Zuteilung für Prozesse mit mittlerer und niedriger Priorität?
Erweitere das PS-Verfahren um folgende Tätigkeit:
Bei jedem Kontextwechsel wird die Priorität des von der CPU scheidenden Prozesses um eine Stufe herabgesetzt (sofern er sich nicht bereits in der niedrigsten Stufe befindet).
Welche Auswirkungen auf alle Prozesse mit unterschiedlichen Prioritäten ergeben sich jetzt?
Hast du dein Beispiel erstellt? Prima. Dann führen wird das Gedankenspiel noch einmal in eine entgegengesetzte Richtung:
Statt die Prioritäten von Prozessen dynamisch herabzusetzen, könnte man sie auch heraufsetzen. Überlege, recherchiere und diskutiere in deiner Lerngruppe:
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png