4.5.3 Aufgaben zur Synchronisation

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=Aufgaben zur Synchronisation=
=Aufgaben zur Synchronisation=
<br />
== Aufgabe 1 ==
<p>
<loop_area type="task">
<loop_task title="Kritischer Abschnitt">
<p>
Was versteht man unter einem "kritischen Abschnitt"?</p>
</loop_task>
</loop_area>
</p>


<br />
<br />
Zeile 10: Zeile 21:
Zur Realisierung des aktiven Wartens kann eine while-Schleife genutzt werden. </p>
Zur Realisierung des aktiven Wartens kann eine while-Schleife genutzt werden. </p>
<p>
<p>
Geben Sie den für das aktive Warten nötigen Programmcode an, der zu Beginn bzw. am Ende eines kritischen Abschnitts ausgeführt werden muss.
Gebe den für das aktive Warten nötigen Programmcode an, der zu Beginn bzw. am Ende eines kritischen Abschnitts ausgeführt werden muss.
</p>
</loop_task>
</loop_area>
</p>
</p>
<br />
== Aufgabe 2 ==
<p>
<loop_area type="task">
<loop_task title="Nachteil des aktiven Wartens">
<p>
<p>
Erläutern Sie warum das aktive Warten einen zeitlichen Nachteil mit sich bringt, und unter welcher Bedingung dieser Nachteil in Kauf genommen werden kann.
Erläutere warum das aktive Warten einen zeitlichen Nachteil mit sich bringt, und unter welcher Bedingung dieser Nachteil in Kauf genommen werden kann.
</p>
</p>
</loop_task>
</loop_task>
Zeile 37: Zeile 57:
<loop_task title="Aufgabe des TSL-Befehls">
<loop_task title="Aufgabe des TSL-Befehls">
<p>
<p>
Erläutern Sie, welche Aufgabe der TSL-Befehl bei der Ausführung auf einer CPU erfüllt.
Erläutere welche Aufgabe der TSL-Befehl bei der Ausführung auf einer CPU erfüllt.
</p>
</p>
</loop_task>
</loop_task>

Version vom 31. Januar 2015, 17:34 Uhr

Aufgaben zur Synchronisation


Aufgabe 1

Aufgabe

Was versteht man unter einem "kritischen Abschnitt"?


Aufgabe 1

Aufgabe

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.


Aufgabe 2

Aufgabe

Erläutere warum das aktive Warten einen zeitlichen Nachteil mit sich bringt, und unter welcher Bedingung dieser Nachteil in Kauf genommen werden kann.


Aufgabe 2

Aufgabe

Wofür steht die Abkürzung TSL (im Kontext der Prozesssynchronisation)?


Aufgabe 3

Aufgabe

Erläutere welche Aufgabe der TSL-Befehl bei der Ausführung auf einer CPU erfüllt.


Aufgabe 4

Aufgabe

Welches Problem löst der TSL-Befehl in Zusammenhang mit aktivem Warten?


Aufgabe 5

Aufgabe

Ein Semaphor ist eine Datenstruktur, welche aus zwei "Dingen" sowie zwei darauf definierten Funktionen besteht.

Welche beiden "Dinge" sind gemeint?
Welche Aufgabe erfüllen die beiden Funktionen?


Aufgabe 6

Aufgabe

Was versteht man unter einem Mutex (im Kontext der Prozesssynchronisation)?


Aufgabe 7

Aufgabe

Erläutere anhand eines selbstgewählten Beispiels die Arbeitsweise eines Mutex. Welche Funktionsaufrufe werden rund um die kritischen Abschnitte getätigt?


Aufgabe 8

Aufgabe

Erläutere anhand eines selbstgewählten Beispiels die Arbeitsweise eines Zählsemaphors. Welche Funktionsaufrufe werden rund um die kritischen Abschnitte getätigt?


Aufgabe 9

Aufgabe

Wenn Semaphore zur Prozesssynchronisation eingesetzt werden, ist das dann auch "aktives Warten"? Erläutere!