Prüfung SS 2000 Fach: Teilprüfung I3 (SEE, GRS, BTS) BTS Tag: Bearbeitungszeit: 4.7.2000 4 Stunden Name: ............................................................... Matr.Nr.: ................................................................ Punkte: .............. Hilfsmittel: Note: .................. Vorlesungsskripte und Lehrbücher Betriebssysteme Hinweise: Die Aufgaben sind auf den vorgelegten Aufgabenblätter zu lösen. Die Aufgabenblätter sind vollständig abzugeben. Bitte nicht mit Bleistift schreiben! Ich habe zusätzlich zu den Aufgabenblättern ......... Blätter abgegeben. Unterschrift: ................................................................ Aufgabe Punkte BTS 01 02 03 04 05 i3ss00 Aufgabe 01: (Allgemeines und Vermischtes) 10 = 3 + 3 + 2 +2 Punkte Name :....................................... 2 a) Vergleichen und erläutern Sie die Begriffe (bitte kurz und prägnant) Programm, Prozess (Task) und Thread. b) Was ist der Unterschied zwischen Blockieren, Verklemmen und Verhungern(Behinderung)? c) Erläutern Sie den Ablauf (Systemdienstes) unter UNIX. des Aufrufes einer Systemfunktion d) Worin liegt der Unterschied zwischen aktivem und passivem Warten? Aufgabe 02: (Dispatcher) 13 = 5 + 2 + 2 + 4 Punkte Name: ............................................... 3 a) Erweitern Sie das Prozesszustandsdiagramm, so dass Swapping mit eingeschlossen wird (Bitte bildlich darstellen). b) Welche Aufgabe hat der Nullprozess oder Leerlaufprozess? c) Welche Zustände im Prozesszustandsdreieck kann der Nullprozess einnehmen? d) Welche Komponenten und Teile besitzt der Prozesskontrollblock (PCB). Aufgabe 03: (Synchronisation) 18 = 4 + 4 + 5 + 5 Punkte Name :....................................... 4 a) Fügen Sie bei den folgenden beiden Endlosprozessen Ha und Tschi Semaphoroperationen P und V ein, so dass die Prozesse endlos Hatschi, Hatschi, Hatschi.... ausgeben. Geben Sie bitte auch die Initialisierung der Semaphoren an. task Ha is begin loop task Tschi is begin loop print( „Ha“); end loop; end Ha; print(„tschi, “); end loop; end Tschi; -- Initialisierung der Semas s_init ..... b) Lösen Sie das Problem unter a) mit Hilfe von bedingten kritischen Regionen. task Ha is begin loop task Tschi is begin loop printf( „Ha“); end loop; end Ha; printf(„tschi, “); end loop; end Tschi; c) Lösen Sie das Problem unter a) mit Hilfe von Monitorprozeduren. Geben Sie dazu den Monitor an. d) Lösen Sie das Problem unter a) mit Hilfe des Ada Rendezvous’. Aufgabe 04: (Scheduling) 6 = 4 + 2 Punkte a) Fünf Stapelaufträge treffen in einem Computer fast zur gleichen Zeit ein. Sie Name: ............................................... 5 besitzen die geschätzte Ausführungszeiten von 10, 6, 4, 2 und 8 Minuten und die Prioritäten 3, 5, 2, 1 und 4, wobei 5 die höchste Priorität ist. Geben Sie für jeden der folgenden Schedulingalgorithmen graphisch die Abarbeitungsreihenfolge an und berechnen sie die Turnaroundzeiten. Vernachlässigen Sie dabei die Zeiten für einen Prozesswechsel. a) b) c) d) Round Robin (RR) mit Zeitquantum q = 2 min. Priority Scheduling (P) First Come First Served (FCFS) (Reihenfolge 10, 6, 4, 2, 8) Shortest Job First (SJF) b) Die Prozessumschaltzeit sei t. Wie groß in Abhängigkeit von t muss das Zeitquantum q bei der Round Robin Strategie gewählt werden, so dass der Overhead des Betriebssystems für die Prozessumschaltung weniger als 50 Prozent ausmacht? Aufgabe 05: (Verwaltung des Swapbereiches einer Platte) 9 = 5 + 4 Punkte a) Diskutieren sie den Vor- und Nachteile und vergleichen Sie die Unterteilung des Swap-Bereiches (Swap-Partition) einer Platte Name :....................................... 6 a1) in gleich lange Stücke, a2) in variabel lange Stücke. Diskutieren Sie unter a2) hauptsächlich die verschiedenen möglichen Allokationstrategien für freie Bereiche in der Swappartition und deren Vor- und Nachteile. b) Diskutieren Sie die Vor- und Nachteile der beiden Strategien: Beim ersten Einlagern eines Prozesses in den Hauptspeicher bekommt der Prozess in dem Swapbereich Speicher zugewiesen für eine spätere Auslagerung. Beim ersten Einlagern eines Prozesses in den Hauptspeicher bekommt der Prozess im Swapspeicher keinen Speicher zugewiesen, sondern der Speicher im Swapbereich wird erst beim Auslagern (swap out) beschafft.