« »

Prozesszuteilung

Um mehrere Prozesse auf demselben System auszuführen, kommen verschiedene Zuteilungsstrategien zum Einsatz. In dieser Aufgabe simulieren Sie die Verfahren Round Robin (RR), First-Come First-Served (FCFS) und Shortest Process Next (SPN) anhand eines Beispiels. Gegeben sind die folgenden Ankunfts- und Bearbeitungszeiten, vereinfachend bemessen in der fiktiven Einheit ZE (Zeiteinheit):

ProzessAnkunftszeitBenötigte Ausführungszeit $T_s$ [ZE]
A05
B03
C43
D51
E65
F74

a)

Level 1: Wissen

Simulieren Sie die Zuteilung mit allen drei Verfahren. Gehen Sie bei Round Robin von 3 Zeiteinheiten je Zeitscheibe aus.

Lösung

Round Robin

Zeitpunkt0001020304050607080910
ProzessAAABBBAACCC
Zeitpunkt1112131415161718192021
ProzessDEEEFFFEEF

First-Come First-Served

Zeitpunkt0001020304050607080910
ProzessAAAAABBBCCC
Zeitpunkt1112131415161718192021
ProzessDEEEEEFFFF

Shortest Process Next

Zeitpunkt0001020304050607080910
ProzessBBBAAAAADCC
Zeitpunkt1112131415161718192021
ProzessCFFFFEEEEE

b)

Level 3: Anwenden

Vergleichen Sie die normalisierte Laufzeit $\hat{T}$ des Prozesses E bei allen drei Verfahren. Die normalisierte Laufzeit $\hat{T}$ ist dabei das Verhältnis aus benötigter Ausführungszeit $T_s$ und beobachteter Laufzeit $T_r$:

$$ \hat{T} = \frac{T_r}{T_s} $$ Bei der beobachteten Laufzeit $T_r$ handelt es sich um die Zeitdauer von der erstmaligen Lauffähigkeit des Prozesses bis zur Beendigung des Prozesses.

Hinweis

Zum Verständnis stellen Sie sich als Analogie eine Autofahrt von Bamberg nach München vor. Die reine Fahrtdauer beträgt 2:40 h ($\sim$ benötigte Ausführungszeit). Zudem machen Sie eine Pause von 30 Minuten. Insgesamt benötigen Sie also 3:10 h ($\sim$ beobachtete Laufzeit).

Lösung

Normalisierte Laufzeit: $\hat{T} = T_r ÷ T_s$ mit benötigter Ausführungszeit $T_s$ (en. service time) und tatsächlicher Laufzeit $T_r$ (en. response time, auch „Antwortzeit“ insbesondere in Echtzeitsystemen)

  • RR: $\hat{T}$ = 14 ÷ 5 = 2.80
  • FCFS: $\hat{T}$ = 11 ÷ 5 = 2.20
  • SPN: $\hat{T}$ = 15 ÷ 5 = 3.00

c)

Level 1: Wissen

Kontextwechsel sind allerdings nicht kostenlos und benötigen ebenfalls Prozessorzeit. Wiederholen Sie Teilaufgabe (a) unter der Annahme, dass eine Kontextwechsel-Dauer von 1 ZE zu berücksichtigen ist. In dieser Zeit wird der aktuelle Prozess ausgelagert und der nächste Prozess eingelagert. Für das Einlagern des ersten Prozesses ist in dieser Aufgabe ebenfalls ein Kontextwechsel (en. Context Switch, kurz CS) zu berücksichtigen.

Hinweis: Werden zum gleichen Zeitpunkt mehrere Prozesse der Ready List hinzugefügt, nehmen wir vereinfachend an, dass dies in alphabetischer Reihenfolge geschieht.

Lösung

Round Robin (CS)

Zeitpunkt0001020304050607080910
ProzessCSAAACSBBBCSAA
Zeitpunkt1112131415161718192021
ProzessCSCCCCSDCSEEECS
Zeitpunkt2223242526272829303132
ProzessFFFCSEECSF

First-Come First-Served (CS)

Zeitpunkt0001020304050607080910
ProzessCSAAAAACSBBBCS
Zeitpunkt1112131415161718192021
ProzessCCCCSDCSEEEEE
Zeitpunkt2223242526272829303132
ProzessCSFFFF

Shortest Process Next (CS)

Zeitpunkt0001020304050607080910
ProzessCSBBBCSCCCCSDCS
Zeitpunkt1112131415161718192021
ProzessFFFFCSAAAAACS
Zeitpunkt2223242526272829303132
ProzessEEEEE

d)

Level 1: Wissen

Berechnen Sie erneut die normalisierten Laufzeiten des Prozesses E. Rechnen Sie die Dauer eines Kontextwechsels der Laufzeit des nach dem Kontextwechsel eingelagerten Prozesses an.

Lösung
  • RR (CS): $\hat{T}$ = 22 ÷ 5 = 4.40
  • FCFS (CS): $\hat{T}$ = 16 ÷ 5 = 3.20
  • SPN (CS): $\hat{T}$ = 21 ÷ 5 = 4.20

e)

Level 2: Verstehen

Welche Bedeutung hat eine normalisierte Laufzeit größer 1? Unter welchen Umständen könnte die normalisierte Laufzeit kleiner 1 sein?

Lösung
  • $\hat{T} > 1$:
    • Prozess benötigt mehr Echtzeit (en. Wall-Clock Time) als die benötigte prozessinhärente Ausführungszeit
    • oft nicht ideal, insbesondere wenn zeitnahe Antwort des Prozesses erwünscht
  • $\hat{T} < 1$:
    • möglich, wenn mehrere Prozessoren Prozesse parallel bearbeiten

Lernziele

In dieser Aufgabe …

  • wiederholen und simulieren die Studierenden Funktionsweisen von Zuweisungsverfahren aus der Vorlesung.
  • üben die Studierenden die Berechnung und Interpretation von Laufzeiten.
  • wenden die Studierenden ihr Wissen über präemptive Zuweisungsverfahren an.