4. theoretisches Aufgabenblatt
- Was ist ein Deadlock und welche Bedingungen müssen erfüllt sein, damit ein Deadlock auftreten kann? (3 Pkt.)
- Nenne zwei Beispiele für das Auftreten von Deadlocks, die nicht aus dem Bereich der Informatik stammen. Begründe deine Aussage. (3 Pkt.)
- Besteht die Möglichkeit einer Verklemmung bei nur einem Prozess? Begründe deine Aussage. (2 Pkt.)
- Was sind sichere bzw. unsichere Zustände im Zusammenhang mit Deadlocks? (2 Pkt.)
- Was versteht man unter dem Erzeuger-Verbraucher Problem? (3 Pkt.)
- Beschreibe die zur Synchronisation verwendeten Algorithmen von Dekker und Peterson. Worin bestehen die Unterschiede zwischen diesen beiden Ansätzen? (3 Pkt.)
- Welche Funktion hat ein Monitor im Zusammenhang mit dem Thema Synchronisation und wie funktioniert ein solcher Monitor? (2 Pkt.)
- Durch welche Mechanismen kann eine Interprozesskommunikation umgesetzt werden und worauf ist bei der Umsetzung zu achten? (2 Pkt.)
- Was sind Semaphoren und wie funktionieren sie? (3 Pkt.)
-
Die zweigleisige Eisenbahnstrecke zwischen Kleinkleckersdorf und
Hintertupfingen soll endlich saniert werden. Dazu müssen die
Züge aus beiden Orten einen Teil der Strecke auf einem Gleis
zurücklegen.
Weil der Weichenwärter am Fernstudium der Informatik teilnimmt,
weiß er, da er Kollisionen und Entgleisungen verhindern kann,
wenn er die eingleisige Teilstrecke mit einer Semaphorvariablen
schützt.
Zunächst aber beschreibt er das Verhalten der Züge mit den
folgenden Funktionen:
Wie sehen die Prozessevoid nachHintertupfingen () void nachKleinkleckersdorf () { { fahre ("Hintertupfingen"); fahre ("Kleinkleckersdorf"); } }
void nachHintertupfingen()
undvoid nachKleinkleckersdorf()
aus, wenn die eingleisige Teilstrecke mit einer Semaphorvariablen geschützt wird? (Anmerkung: die Stellung der Weichen ergibt sich unmittelbar daraus, welcher Zug die eingleisige Strecke befährt und muss nicht extra beschrieben werden.) (4 Pkt.) - In einer Speicherverwaltung sind folgende freie Speicherblöcke nach aufsteigenden Adressen sortiert: 10KB, 4KB, 20KB, 18KB, 7KB, 9KB, 12KB und 15KB. Welche dieser Speicherblöcke wählen FirstFit, BestFit, WorstFit und NextFit jeweils aus, wenn nacheinander Speichersegmente von 12KB, 10KB und 9KB angefordert werden? (3 Pkt.)