« »

Präemptives Scheduling

a)

Level 2: Verstehen

Wie könnte eine präemptive Version des Verfahrens Shortest Process Next aussehen?

Lösung
  • Shortest Process Next (ohne Unterbrechung, en. run to completion):
    • Prozesse mit der kürzesten Abarbeitungszeit werden bevorzugt
    • setzt kooperierende Prozesse voraus
    • Entscheidung über einen Prozesswechsel nur, wenn ein Prozess beendet wurde
  • Shortest Time-to-Completion First (mit Unterbrechung, en. preemptive):
    • nach jeder Zeiteinheit wird entschieden, welcher Prozess aktuell die geringste verbleibende Laufzeit hat
    • zwei Optionen: aktuellen Prozess fortsetzen oder einen anderen laden
    • benötigt nach verbleibender Laufzeit sortierte Liste der lauffähigen Prozesse

b)

Level 3: Anwenden

Die folgende Tabelle gibt die Ankunfts- und Rechenzeit von fünf Prozessen an.

ProzessAnkunftszeitRechenzeit
A060
B1510
C3035
D4510
E6010

Geben Sie an, in welcher Reihenfolge die Prozesse bei der Zuteilung berücksichtigt werden, wenn Ihre präemptive Variante von Shortest Process Next zum Einsatz kommt. Das Zeitquantum beträgt fünf Zeiteinheiten. Nehmen Sie vereinfachend an, dass der Kontextwechsel keine Latenz verursacht.

Lösung

Jeder einmal eingelagerte Prozess wird für ein Zeitquantum von 5 Zeiteinheiten ausgeführt, bevor entschieden wird, ob er erneut die Zuteilung erhält oder gegen einen anderen Prozess ausgetauscht wird. Wir notieren darum einen Prozess je Zeitquantum, identifiziert über den zugehörigen Buchstaben:

Periode0001020304050607080910
Beginn0005101520253035404550
ProzessAAABBACCCDD
Periode1112131415161718192021
Beginn556065707580859095100105
ProzessCEECCCAAAAA
Periode222324252627282930
Beginn110115120125130135140145150
ProzessAAA

Wird nur die Reihenfolge verlangt, genügt die Angabe aller Prozesse in der Form AAABBACCCDD….

c)

Level 3: Anwenden

Listen Sie die Prozesse aus der Tabelle in Scheduling-Reihenfolge unter Verwendung von präemptiven Round-Robin-Scheduling auf. Das Zeitquantum beträgt fünf Zeiteinheiten. Nehmen Sie vereinfachend an, dass der Kontextwechsel keine Latenz verursacht.

Diese Aufgabe war Teil der Klausur im Sommersemester 2025 (Ersttermin).

Lösung
Periode0001020304050607080910
Beginn0005101520253035404550
ProzessAAABABCACDA
Periode1112131415161718192021
Beginn556065707580859095100105
ProzessCDEACEACACA
Periode222324252627282930
Beginn110115120125130135140145150
ProzessCAA

Lernziele

In dieser Aufgabe …

  • entwickeln und simulieren die Studierenden ein eigenes, präemptives Scheduling-Verfahren.
  • erweitern die Studierenden ihr Verständnis der Zuteilung auf Zeitquanten, die mehrere Zeiteinheiten umfassen.
  • üben die Studierenden die Anwendung des Round-Robin-Verfahrens.