Übungsblatt 5 - Professur Betriebssysteme

Professur
Betriebssysteme
5. Übung
Betriebssysteme
Dr. Peter Tröger
Aufgabe 1
Machen Sie sich mit dem Zweck und dem Aufbau eines Prozessstacks vertraut.
a) Was ist ein Stack? Wozu benötigt ein Prozess einen Stack? Wie wird der Prozessstack verwaltet?
b) Welche Daten werden auf dem Stack gespeichert?
c) Welche Daten werden nicht auf dem Prozessstack gespeichert und wieso?
Aufgabe 2
Betriebssysteme müssten heutzutage eine Vielzahl von Prozessen verwalten. Nicht immer ist es
möglich, alle Prozesse im Hauptspeicher zu halten. Aus diesem Grund müssen Prozesse auf andere
Massenspeichermedien ausgelagert werden. Entwerfen Sie ein Prozesszustandsmodell, was diesen
Sachverhalt in seiner Zustandsmenge berücksichtigt.
Aufgabe 3
Entwickeln Sie ein Programm mit folgender Semantik:
• Ein Elternprozess erzeugt einen Sohnprozess.
• Der Elternprozess soll eine einstellbare geringere Priorität als der Sohnprozess haben.
• Beide Prozesse arbeiten eine Schleife ab:
for (int cnt = 0; cnt < INT_MAX; cnt++);
Messen Sie jeweils die Zeit zum Abarbeiten der Zählschleife und geben Sie die benötigte Zeit beider
Prozesse aus. Vergleichen Sie die Werte in Abhängigkeit der Priorität des Elternprozesses.
Hinweise:
• Nutzen Sie für die Zeitmessung die Funktion gettimeofday().
• Nutzen Sie für die Einstellung der Priorität die Funktion setpriority(). Ein Wert des
Parameters prio zwischen 1 und 19 verringert die Priorität des Prozesses.
• Sorgen Sie bei Multi-Core-/Multi-CPU-Maschinen dafür, dass beiden Prozessen nur ein
Kern/CPU zur Verfügung steht (man taskset).
1
Aufgabe 4
Gegeben sei folgendes Prozess-Szenario. Der Wert p gibt die Priorität für die Strategie PRIO-P
an. Bei RR werden neue Prozesse am Ende der Warteschlange eingefügt. Betrachten Sie für RR
die Fälle τ = 1 s und τ = 3 s.
Prozess
A
B
C
D
E
Bedienzeit ts [s]
5
2
7
4
1
Ankunftszeit ta [s]
0
7
0
12
0
Priorität p
2
1
3
4
5
a) Erstellen Sie Gantt-Diagramme für die Verfahren LCFS-PR, RR, PRIO-P und SRTN.
b) Berechnen Sie für die Schedulingverfahren RR(1) und RR(3) die mittlere Wartezeit aller Prozesse.
2