Prof. Dr. R. Schrader SS 2003 Ch. Hagemeier
2. ¨ Ubung zur Vorlesung Betriebssysteme
Ubungstermin: 21.05.2003, 9:15 Uhr, H¨orsaal Pohligstraße¨
Bitte beachten Sie den kurzfristig ge¨ anderten Termin der n¨ achsten ¨ Ubung!
Aufgabe 5: (’Round–Robin’–Scheduling)
In der Vorlesung wurde Multitasking als vorteilhaft dargestellt. Verifizieren Sie diese Aus- sage anhand von folgendem kleinen Rechenbeispiel:
Gegeben seien 3 Prozesse, die folgende Ausf¨uhrungszeiten R und Wartezeiten W ben¨otigen:
P1 : R3, W22, R5, W37, R2, W8, R7 P2 : R4, W12, R3, W8, R1, W26, R6 P3 : R1, W16, R9, W45, R5, W18, R2
Verwenden Sie das vorgestellte ’Round–Robin’–Verfahren mit einer Zeitscheibenl¨ange von q = 5 und beginnen Sie mit der Abarbeitung der Prozesse in numerisch aufsteigen- der Reihenfolge. Stellen Sie Ihr Ergebnis der f¨ur sequentielle Abarbeitung der Prozesse ben¨otigten Zeit gegen¨uber.
Aufgabe 6: (Deadlocks)
Vergegenw¨artingen Sie sich das Dining philosophers problem aus Aufgabe 4.
a) Versuchen Sie den im Internet unter der Adresse
www.zaik.de/AFS/teachings/ss03/Betriebssysteme/uebungen/loes a4.htmlvor- gestellten L¨osungsvorschlag f¨ur den ersten Fall nachzuvollziehen.
b) Erstellen Sie einen entsprechenden Korrektheitsbeweis der vorgeschlagenen Strategie f¨ur den zweiten Fall. Gehen Sie dabei analog zum ersten Fall mittels Fallunterschei- dungen vor.
Aufgabe 7: (Zustandsdiagramm f¨ur Prozesse)
Betrachten Sie das Diagramm auf der folgenden Seite.
a) Beschreiben Sie kurz die Ihnen bekannten Zust¨ande in der Abbildung.
Nicht
existent Nicht
aktiv Bereit
(ready) Rechnend
(running) Wartend (waiting, blocked) ausgelagert wartend ausgelagert
bereit
Existent
Erzeugen
Löschen Deaktivieren
Aktivieren Zuordnen Aufgeben
Blockieren Deblockieren
Einlagern Aktiv
Deblockieren
Auslagern Ausgelagert
Abbildung 1: Erweitertes Zustandsdiagramm f¨ur Prozesse
b) Das Diagramm wurde um einen Bereich
”Ausgelagert“erweitert. Dies bedeutet, daß ein Prozess aus dem Hauptspeicher ausgelagert wird, wenn er l¨angere Zeit im Zu- stand
”Wartend“ist. Sein Programmcode und sein Adressraum werden dazu aus dem Hauptspeicher entfernt und auf eine Festplatte ausgelagert, wobei sein Prozesskon- trollblock nat¨urlich im Hauptspeicher verbleibt.
Beschreiben die eingezeichneten Zustands¨uberg¨ange.
Aufgabe 8: (Banker’s Algorithmus)
Auf einem Rechner laufen vier Prozesse und f¨unf zuordnungsf¨ahige Ressourcen. Die mo- mentane Zuordnung und die maximalen Bed¨urfnisse sind wie folgt:
Zuordnung Maximum Verf¨ugbar Prozeß A 1 0 2 1 1 1 1 2 1 3 0 0 x 1 1 Prozeß B 2 0 1 1 0 2 2 2 1 0
Prozeß C 1 1 0 1 0 2 1 3 1 0 Prozeß D 1 1 1 1 0 1 1 2 2 1
Geben Sie den minimalen Wert f¨urx an, f¨ur den das ein sicherer Zustand ist.
Aufgabe 9: (Graphentheorie) Gegeben sei ein gerichteter Graph G= (V, E). Geben Sie einen Algorithmus an, der in G einen gerichteten Kreis findet und begr¨unden Sie dessen Korrektheit.