[gesichtete Version] | [gesichtete Version] |
Zeile 156: | Zeile 156: | ||
</p> | </p> | ||
<p> | <p> | ||
Überführe diese Situation in den Kontext der Prozess-Synchronisation. Orientiere dich dabei an folgenden Fragen: | Überführe diese Situation in den Kontext der Prozess-Synchronisation mit Semaphoren. Orientiere dich dabei an folgenden Fragen: | ||
</p> | </p> | ||
<p> | <p> | ||
Zeile 162: | Zeile 162: | ||
* Was repräsentiert das/die Betriebsmittel? (Wieviele gibt es?) | * Was repräsentiert das/die Betriebsmittel? (Wieviele gibt es?) | ||
* Was muss synchronisiert werden? | * Was muss synchronisiert werden? | ||
* Ist dabei eine Reihenfolge wichtig? | |||
* Kann der Gast zweimal nacheinander das Glas austrinken, ohne dass der Barkeeper es zwischendurch wieder füllt? | |||
* Oder umgekehrt: Kann der Barkeeper das Glas zweimal nacheinander das Glas füllen, ohne dass der Gast es zwischendurch austrinkt? | |||
* Wieviele Semaphore brauchst du? | |||
* Wann wird jeweils die P()- und die V()-Operation ausgeführt? | |||
</p> | </p> | ||
</loop_task> | </loop_task> |
Was versteht man unter einem "kritischen Abschnitt"?
Um bei mehreren Prozessen mit gemeinsam genutzten Betriebsmitteln kritische Abschnitte so zu schützen, dass immer nur maximal ein Prozess zur Zeit diesen kritischen Abschnitt ausführen darf, soll das aktive Warten eingesetzt werden. Zur Realisierung des aktiven Wartens kann eine while-Schleife genutzt werden.
Gebe den für das aktive Warten nötigen Programmcode an, der zu Beginn bzw. am Ende eines kritischen Abschnitts ausgeführt werden muss.
Erläutere warum das aktive Warten einen zeitlichen Nachteil mit sich bringt, und unter welcher Bedingung dieser Nachteil in Kauf genommen werden kann.
Wofür steht die Abkürzung TSL (im Kontext der Prozesssynchronisation)?
Erläutere welche Aufgabe der TSL-Befehl bei der Ausführung auf einer CPU erfüllt.
Welches Problem löst der TSL-Befehl in Zusammenhang mit aktivem Warten?
Ein Semaphor ist eine Datenstruktur, welche aus zwei "Dingen" sowie zwei darauf definierten Funktionen besteht.
Was versteht man unter einem Mutex (im Kontext der Prozesssynchronisation)?
Erläutere anhand eines selbstgewählten Beispiels die Arbeitsweise eines Mutex. Welche Funktionsaufrufe werden rund um die kritischen Abschnitte getätigt?
Erläutere anhand eines selbstgewählten Beispiels die Arbeitsweise eines Zählsemaphors. Welche Funktionsaufrufe werden rund um die kritischen Abschnitte getätigt?
Wenn Semaphore zur Prozesssynchronisation eingesetzt werden, ist das dann auch "aktives Warten"? Erläutere!
In einer gemütlichen Feierabend-Kneipe ist nicht viel los. Dem Barkeeper sitzt lediglich ein Gast gegenüber. Dieser Gast jedoch hat gewaltigen Durst. Er trinkt ein Glas Schnaps nach dem anderen. Der Barkeeper füllt das leere Glas immer wieder sofort auf.
Überführe diese Situation in den Kontext der Prozess-Synchronisation mit Semaphoren. Orientiere dich dabei an folgenden Fragen:
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png