3.2.10.2.5 Priority Scheduling

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