Prof. Dr. R. Schrader SS 2003 Ch. Hagemeier
1. ¨ Ubung zur Vorlesung Betriebssysteme
Ubungstermin: 08.05.2003, 16:15 Uhr, H¨orsaal des MI¨
Aufgabe 1: (Prozesse)
a) Erl¨autern Sie die Begriffe Prozess und Thread. Gehen Sie dabei auf deren Gemein- samkeiten und Unterschiede ein.
b) Wie k¨onnen sich verschiedene Threads gegenseitig negativ beeinflussen?
c) Wann ist es sinnvoll, nebenl¨aufige Programmteile mit Hilfe von Threads anstatt von Prozessen zu implementieren?
d) Welche Vorteile bieten User–Level–Threads gegen¨uber den Kernel–Level–Threads?
Gibt es auch Nachteile?
Aufgabe 2: (’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 in der Vorlesung vorgestellte ’Round–Robin’–Verfahren und beginnen Sie mit der Abarbeitung der Prozesse in numerisch aufsteigender Reihenfolge. Stellen Sie Ihr Ergebnis der f¨ur sequentielle Abarbeitung ben¨otigten Zeit gegen¨uber.
Aufgabe 3: (CPU–Scheduling)
Beschreiben Sie zwei andere Verfahren, die sich zum CPU–Scheduling neben dem in der Vorlesung beschriebenen ’Round–Robin’–Verfahren noch sinnvoll, d. h. Ressourcen scho- nend, verwenden ließen.
Aufgabe 4: (Einf¨uhrung Deadlocks)
Betrachten Sie folgendes Problem und entwerfen Sie eine m¨oglichst simple L¨osungsregel:
Dining philosophers problem:
p Philosophen sitzen um einen Tisch mit alternierend gedeckten p gef¨ullten Tellern mit p
Gabeln. Die Philosophen denken eine gewisse Zeit, bevor sie hungrig werden und von dem genau vor ihnen platzierten Teller essen m¨ochten. Zum Essen ben¨otigt ein Philosoph aber zwei Gabeln, da es sich um schwer zu konsumierende Spaghetti handelt. Erst nach dem Essen legt ein Philosoph die von ihm benutzten Gabeln wieder an ihren Platz und beginnt erneut zu denken, bis er wieder Hunger bekommt, usw. (Nachf¨ullung der Teller wie auch andere T¨atigkeiten der Philosophen seien hier vernachl¨assigt)
Wie kann die (Deadlock-)Situation vermieden werden, in der jeder Philosoph genau ein Besteck h¨alt und alle zum Verhungern verdammt sind?
Gehen Sie bei Ihrer L¨osung auch kurz darauf ein, was Sie unter einer Deadlock–Situation im Allgemeinen verstehen.
Begr¨unden Sie außerdem, warum diese Situation bei Ihrer Strategie verhindert wird!