blatt7 - uri=userpages.uni

Werbung
Übungen zu
Grundlagen der Betriebssysteme
Wintersemester 2012/2013
Prof. Hannes Frey / Frank Bohdanowicz
Übungsblatt 7
Abgabe bis Sonntag, den 13.01.2013, 23:59 Uhr,
als PDF via SVN
Gruppenname:
Name
Aufgabe 1
@Uni-Kennung
(4 Punkte)
Nennen Sie die 4 (notwendigen und hinreichenden) Bedingungen zur Entstehung eines
Deadlocks und erläutern Sie diese mit wenigen Worten!
Aufgabe 2
(6 Punkte)
Gegeben sei eine Menge von Prozessen {P1, P2, P3} und eine Menge von exklusiv
benutzbaren, und nicht entziehbaren Betriebsmitteln {R1, R2, R3}. Die Notation <Pi,Rj>
bezeichnet die Anforderung des Betriebsmittels Rj durch den Prozess Pi. Geben Sie an,
welche der unten angegebenen Anforderungsfolgen in einen Deadlock münden.
Zeichnen Sie zu jeder Anforderungsfolge den Betriebsmittelbelegungsgraphen und den
Prozesswartegraphen. Begründen Sie Ihre Entscheidung, ob eine Deadlocksituation
vorliegt oder nicht, an Hand Ihrer Graphen. Zu Beginn jeder Anforderungsfolge seien alle
Betriebsmittel unbelegt.
Grundlagen der Betriebssysteme – WS 2012/13 – Blatt 7
2/4
(a) <P1,R3>, <P2,R2>, <P3,R1>, <P3,R2>, <P2,R1>, <P1,R1>
(b) <P1,R2>, <P2,R2>, <P1,R3>, <P3,R3>, <P1,R1>, <P2, R3>, <P3,R2>
(c) <P1,R1>, <P2,R2>, <P3,R3>, <P1,R2>, <P1,R3>, <P3,R2>
Aufgabe 3
(8 Punkte)
Gegeben ist ein System mit 5 Prozessen (P1, P2, P3, P4, P5) und 4 Betriebsmitteln (A, B,
C, D). Ein Teil der vorhandenen Betriebsmittel sei bereits belegt.
Die Belegung ist wie folgt:
Prozesse
A
B
C
D
P1
0
0
1
2
P2
1
0
0
0
P3
1
3
5
4
P4
0
6
3
2
P5
0
0
1
4
Die Maximalanforderungen der einzelnen Prozesse sind ebenfalls bekannt.
Prozesse
A
B
C
D
P1
0
0
1
2
P2
1
7
5
0
P3
2
3
5
6
P4
0
6
5
2
P5
0
6
5
6
Von den Betriebsmitteln A,B,C und D stehen jeweils noch die folgenden Einheiten zur
Verfügung.
A
B
C
D
1
5
2
0
Grundlagen der Betriebssysteme – WS 2012/13 – Blatt 7
3/4
Beantworten Sie die folgenden Fragen und wenden Sie dabei den Banker-Algorithmus an.
a) Wie viele Einheiten an Betriebsmitteln (A,B,C,D) besitzt das System jeweils insgesamt?
A
B
C
D
b) Ermitteln Sie die ausstehenden Restanforderungen an Betriebsmittel der einzelnen
Prozesse !
Prozesse
A
B
C
D
P1
P2
P3
P4
P5
c) Befindet sich das System in einem sicheren Zustand? Begründen Sie!
d) Prozess P2 stellt eine Anfrage nach weiteren Betriebsmittel (A,B,C,D) über (0,4,2,0).
Überprüfen Sie, ob die Anfrage vom System erfüllt werden kann.
Aufgabe 4
(4 Punkte)
Gegeben sei ein Swapping System, dessen Speicher folgende Lochgrössen aufweist,
diese sind in der angegebenen Reihenfolge Lokalisiert: 10KB, 4KB, 20KB, 18KB, 7KB,
9KB, 12KB, 15KB. Geben Sie die Größe der freien Speicherblöcke an, wenn folgende
Speicherblöcke sukzessive (in der hier angegegebenen Reihenfolge) angefordert werden:
12KB, 10KB, 15KB. Betrachten Sie folgende Algorithmen: Best-fit, Next-fit, First-fit und
Worst-fit.
Löcher
Best-fit
Next-fit
First-fit
Worst-fit
10KB
4KB
20KB
18KB
7KB
9KB
12KB
15KB
Grundlagen der Betriebssysteme – WS 2012/13 – Blatt 7
Aufgabe 5
4/4
(8 Punkte)
Gegeben ist das C-Programm matrix.c und zwei Textdateien test1.txt und test2.txt, welche
Sie auf der Webseite der Übung finden. Das Programm matrix.c öffnet eine angegebene
Datei (test1.txt), welche eine 3x3 Matrix enthalten sollte und gibt diese anschließend auf
der Konsole aus. Laden Sie das Programm matrix.c und die Dateien test1.txt und test2.txt
in die Linux-Umgebung ihrer Bearbeitungsgruppe. Kompilieren Sie das Programm dort mit
„gcc -o matrix matrix.c“ und starten Sie es mit „./matrix test1 &“. Das Programm beendet
sich nicht, sondern läuft im Hintergrund weiter (zusehen über „ps -elf“).
a) Das Linux Programm lsof (list open files) zeigt Informationen über geöffnete Dateien im
Betriebssystem Linux an. Welche Informationen bekommen sie angezeigt, wenn sie nach
dem Start von „./matrix test1 &“ den Befehl „lsof test1.txt“ eingeben? Geben Sie die
Ausgabe mit einer kurzen Erläuterung der wichtigsten Informationen hier an.
b) Erweitern Sie das Programm matrix.c zu matrixmul.c. Dabei sollen zwei Textdateien
(test1.txt und test2.txt) eingelesen werden. Die beiden Dateien enthalten jeweils eine 3x3
Matrix welche miteinander multipliziert werden sollen. Die Ergebnismatrix soll in eine neue
Datei mit Namen result.txt geschrieben werden.
Herunterladen