3.2.10.2.5 Priority Scheduling

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(11 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>
{{#index:Priority Scheduling|PS|Scheduling, PS}}
Hast du dein Beispiel erstellt? Prima. Dann führen wird das Gedankenspiel noch einmal in eine entgegengesetzte Richtung:
Dieses Thema wird in der weiterführenden Literatur behandelt:
</p>
</p>
<br />
== Aufgabe 4 ==
<p>
<p>
<loop_area type="notice">'''Weiterführende Literatur'''<br>
<loop_area type="task">
<cite>Mandl+2013</cite> erläutert dieses Thema in Kapitel 5.2 (Scheduling-Verfahren). Die Lektüre dieser Quelle sei ausdrücklich empfohlen.<br />
<loop_task title="Herauf statt herunter!" id="5fa9786e32d9b">
<small>
<p>
<p>
Studierende sind oftmals berechtigt, eine PDF-Version dieses Buches ohne entstehende Kosten [[Hinweise für Studierende#Downloadbare Bücher von Springerlink|über ihre Hochschulen von Springerlink zu beziehen.]]
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>
</small>
</loop_task>
</loop_area>
</loop_area>
</p>
</p>

Aktuelle Version vom 10. November 2020, 13:46 Uhr

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.


Aufgabe 1

Aufgabe

Wie soll der Scheduler vorgehen, wenn es mehrere Prozesse mit gleicher Priorität gibt? Z.B. mehrere Prozesse mit höchster Priorität?


Weiterführende Literatur

PS wird u.a. behandelt bei:

und kann dort - je nach Verfügbarkeit der Quellen - nachgelesen werden.


Aufgabe 2

Aufgabe

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?


Aufgabe 3

Aufgabe

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?

  • Erläutere die Auswirkungen anhand eines selbstgewählten Beispiels!
  • Orientiere dein Beispiel an den Beispielen der bekannten Animation. Denke dabei an die Angabe der Prioritäten.


Hast du dein Beispiel erstellt? Prima. Dann führen wird das Gedankenspiel noch einmal in eine entgegengesetzte Richtung:


Aufgabe 4

Aufgabe

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?



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