30.12.2013 Aufrufe

Präsenz¨ubung 7 - Universität Paderborn

Präsenz¨ubung 7 - Universität Paderborn

Präsenz¨ubung 7 - Universität Paderborn

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!