Präsenz¨ubung 7 - Universität Paderborn
Präsenz¨ubung 7 - Universität Paderborn
Präsenz¨ubung 7 - Universität Paderborn
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Universität</strong> <strong>Paderborn</strong><br />
Fachgebiet Rechnernetze<br />
SoSe 2013<br />
Konzepte und Methoden der Systemsoftware<br />
Präsenzübung 7<br />
2013-06-03 bis 2013-06-07<br />
Aufgabe 1: Betriebsmittelgraphen und Verklemmung<br />
In dieser Aufgabe widmen wir uns der Vergabe von mehreren Betriebsmitteln. Gegeben sind<br />
die vier Betriebsmittel CPU (4), Drucker (1), Speicher (1) und Netzwerkkarte (1) mit der maximal<br />
verfügbaren Menge der Ressource in Klammern. Die gestrichelten Linien entsprechen<br />
offenen Anforderungen, die durchgezogenen sind gewährte Anforderungen.<br />
CPU<br />
P1<br />
0 P<br />
Drucker<br />
Speicher<br />
Netzwerk<br />
P2<br />
P3<br />
(a) Erläutern Sie anhand des o.g. Beispiels die vier Bedingungen für Verklemmungen bei (0 P)<br />
der Betriebsmittelvergabe.<br />
Lösung:<br />
• mutual exclusion: Drucker, Speicher und Netzwerkkarte sind nur ungeteilt verfügbar.<br />
• circular wait: Die Prozesse P 1 und P 3 bilden einen Kreis (diese Bedingung gilt<br />
nur bei Einexemplar-BM!)<br />
• Teilung der Anfragen (hold-and-wait): Da die Prozesse P 1 und P 3 ihre Anfragen<br />
geteilt haben, haben sie eingehende und ausgehende Kanten. So entsteht ein Kreis<br />
(circular wait) von P 1 →Netzwerk→ P 3 →Speicher→ P 1<br />
• no pre-emption: Durch Zurücksetzen von P 1 oder P 3 würde der Kreis und somit<br />
die Verklemmung aufgelöst werden können.<br />
(b) Nehmen Sie nun an, der Speicher hätte eine maximal verfügbare Kapazität von 4. Reduzieren<br />
Sie den oben gegebenen<br />
(0 P)<br />
Betriebsmittelgraphen.<br />
Lösung:<br />
Musterlösung KMS SoSe 2013 Präsenzübung 7 1/5
CPU<br />
P1<br />
CPU<br />
P1<br />
Drucker<br />
Drucker<br />
P2<br />
P2<br />
Speicher<br />
Speicher<br />
Netzwerk<br />
P3<br />
Netzwerk<br />
P3<br />
Ausgangssituation<br />
CPU<br />
P1<br />
1. Schritt<br />
CPU<br />
P1<br />
Drucker<br />
Drucker<br />
P2<br />
P2<br />
Speicher<br />
Speicher<br />
Netzwerk<br />
Netzwerk<br />
2. Schritt 3. Schritt<br />
CPU<br />
P1 CPU<br />
P1<br />
Drucker<br />
Drucker<br />
Speicher<br />
Speicher<br />
Netzwerk<br />
Netzwerk<br />
4. Schritt 5. Schritt<br />
Diese Aufgabe wurde benutzt: neu im SS 2013<br />
Aufgabe 2: Queueing bei der Betriebsmittelvergabe<br />
In dieser Aufgabe betrachten wir die Betriebsmittelverwaltung anhand eines Beispiels. Nehmen<br />
Sie an, auf einer Party hat der Veranstalter vergessen genug Becher zu kaufen. An der<br />
Theke kommen nun einige Gäste an, die für sich und andere Getränke haben wollen. Es sind<br />
insgesamt 10 Gläser vorhanden. Die Gäste haben in folgender Reihenfolge die Theke erreicht<br />
und warten auf ihre Bestellung. In Klammern ist die Zeit angegeben, die sie brauchen, um<br />
die leeren Gläser zurückzugeben (nehmen sie an, dass der Barkeeper die Gläser sofort wieder<br />
sauber hat).<br />
0 P<br />
Gast Becher Dauer<br />
A 5 4<br />
B 2 8<br />
C 7 7<br />
D 3 2<br />
E 4 3<br />
F 6 3<br />
G 1 2<br />
Musterlösung KMS SoSe 2013 Präsenzübung 7 2/5
(a) Geben Sie nach der dem FCFS-Verfahren an, wie die Gäste ihre Bestellungen erhalten. (0 P)<br />
Nutzen Sie dazu ein Diagramm mit den Achsen Zeit und Anzahl der Betriebsmittel.<br />
Lösung:<br />
(b) Geben Sie nach der Fenstermethode mit dynamischer Größe (initiale und maximale Größe (0 P)<br />
4) im Best-Fit-Verfahren an, wie die Gäste ihre Bestellungen erhalten.<br />
Lösung:<br />
(c) Geben Sie nach der Fenstermethode mit dynamischer Größe (initiale und maximale Größe (0 P)<br />
4) im First-Fit-Verfahren an, wie die Gäste ihre Bestellungen erhalten.<br />
Lösung:<br />
Musterlösung KMS SoSe 2013 Präsenzübung 7 3/5
(d) Geben Sie zu jedem der drei Verfahren die Durchführungszeit und die durchschnittliche (0 P)<br />
Auslastung an.<br />
Lösung:<br />
• Auslastung =<br />
∑<br />
Kunden Becher i∗Zeit i<br />
Dauer∗10<br />
• FCFS: Dauer = 16 , Auslastung = 123<br />
Dauer∗10 = 123<br />
160 ≈ 76.875%<br />
• Best-Fit Fenster: Dauer = 14 , Auslastung = 123<br />
Dauer∗10 = 123<br />
140 = 87.857%<br />
• First-Fit Fenster: Dauer = 14 , Auslastung = 123<br />
Dauer∗10 = 123<br />
140 = 87.857%<br />
(e) Führen Sie das Fenster-Verfahren mit Best-Fit nun erneut aus, allerdings mit der Fenstergröße<br />
von 2. Geben Sie wiederum die Durchführungszeit und die durchschnittliche<br />
(0 P)<br />
Auslastung an. Diskutieren Sie die Auswirkungen der Wahl einer größeren oder kleineren<br />
Fenstergröße auf die BM-Auslastung und die Laufzeit des Auswahlalgorithmus.<br />
Lösung:<br />
Dauer = 16 , Auslastung = 123<br />
Dauer∗10 = 123<br />
160<br />
= 76, 857%<br />
Je größer das initiale und maximale Fenster, desto einfacher ist es, ein gut passendes<br />
Element zu finden, wodurch die mittlere Auslastung verbessert werden kann. Wird das<br />
Musterlösung KMS SoSe 2013 Präsenzübung 7 4/5
Fenster kleiner gewählt, können eher keine “gut” passenden Elemente gefunden werden<br />
und die durchschnittliche Auslastung sinkt. Somit wäre an sich ein größeres Fenster<br />
vorzuziehen, aber:<br />
Zu beachten ist bei der Wahl der Fenstergröße die Laufzeit des Auswahlalgorithmus:<br />
Je größer das Fenster, desto mehr Elemente müssen pro Auswahl betrachtet werden.<br />
Im worst-case würde dabei immer das erste Element des Fensters gewählt werden. So<br />
würde das Fenster immer auf L max bleiben und so jeder Durchlauf (bis auf die letzten<br />
L max − 1 Durchläufe) jeweils Θ(L max ) Zeitschritte kosten.<br />
Es muss also je nach Anwendungsfall abgewogen werden, ob eine eventuell hohe Laufzeit<br />
hinnehmbar ist für eine bessere Auslastung.<br />
Diese Aufgabe wurde benutzt: neu im SS 2013<br />
Aufgabe 3: Der Bankier-Algorithmus<br />
Unter der Bedingung, dass jeder Prozess seine Maximalforderungen kennt, können wir mit<br />
dem Bankieralgorithmus bestimmen, ob in einem bestimmten Zustand eine Anfrage gewährt<br />
werden kann oder ob sie zurückgestellt werden muss. Gegeben seien vier Betriebsmittel: a<br />
(Anzahl 100), b (Anzahl 20), c (Anzahl 8) und d (Anzahl 1). Es sind drei Prozesse aktiv, die<br />
folgende Belegungen besitzen:<br />
⎛<br />
⎞ ⎛<br />
⎞<br />
80 5 2 0 80 5 3 1<br />
B = ⎝ 5 2 2 1⎠ G = ⎝10 2 2 1⎠<br />
8 6 1 0 28 6 5 0<br />
(a) Nehmen Sie nun an, ein neuer Prozess bewirbt sich um maximale 10 a, 7 b und ein (0 P)<br />
d. Davon würde er 2 a und 5 b sofort erhalten wollen. Stellen Sie die Belegungs- und<br />
Restanforderungsmatrix, sowie den f-Vektor auf.<br />
Lösung:<br />
⎛<br />
⎞ ⎛<br />
⎞<br />
80 5 2 0 0 0 1 1<br />
B = ⎜ 5 2 2 1<br />
⎟<br />
⎝ 8 6 1 0⎠ R = ⎜ 5 0 0 0<br />
⎟<br />
⎝20 0 4 0⎠<br />
2 5 0 0 8 2 0 1<br />
f = ( 5 2 3 0 )<br />
(b) Benutzen Sie nun den Bankier-Algorithmus schrittweise um zu testen, ob dem neuen Prozess<br />
seine Forderung gewährt werden darf, ohne dass es zu einer Verklemmung kommen<br />
(0 P)<br />
kann.<br />
Lösung:<br />
Es wäre sicher die Anfrage zu bewilligen, folgende Abfolge zeigt einen Ablauf ohne<br />
Verklemmung:<br />
P 2 : ( 5 0 0 0 ) ≤ ( 5 2 3 0 ) ⇒ f 1 = ( 10 4 5 1 )<br />
P 1 : ( 0 0 1 1 ) ≤ ( 10 4 5 1 ) ⇒ f 2 = ( 90 9 7 1 )<br />
P 3 : ( 20 0 4 0 ) ≤ ( 90 9 7 1 ) ⇒ f 3 = ( 98 15 8 1 )<br />
P 4 : ( 8 2 0 1 ) ≤ ( 98 15 8 1 ) ⇒ f 4 = ( 100 20 8 1 )<br />
0 P<br />
Diese Aufgabe wurde benutzt: neu im SS 2013<br />
Musterlösung KMS SoSe 2013 Präsenzübung 7 5/5