Skip to main content.

Navigation:

4. theoretisches Aufgabenblatt

  1. Was ist ein Deadlock und welche Bedingungen müssen erfüllt sein, damit ein Deadlock auftreten kann? (3 Pkt.)
  2. Nenne zwei Beispiele für das Auftreten von Deadlocks, die nicht aus dem Bereich der Informatik stammen. Begründe deine Aussage. (3 Pkt.)
  3. Besteht die Möglichkeit einer Verklemmung bei nur einem Prozess? Begründe deine Aussage. (2 Pkt.)
  4. Was sind sichere bzw. unsichere Zustände im Zusammenhang mit Deadlocks? (2 Pkt.)
  5. Was versteht man unter dem Erzeuger-Verbraucher Problem? (3 Pkt.)
  6. Beschreibe die zur Synchronisation verwendeten Algorithmen von Dekker und Peterson. Worin bestehen die Unterschiede zwischen diesen beiden Ansätzen? (3 Pkt.)
  7. Welche Funktion hat ein Monitor im Zusammenhang mit dem Thema Synchronisation und wie funktioniert ein solcher Monitor? (2 Pkt.)
  8. Durch welche Mechanismen kann eine Interprozesskommunikation umgesetzt werden und worauf ist bei der Umsetzung zu achten? (2 Pkt.)
  9. Was sind Semaphoren und wie funktionieren sie? (3 Pkt.)
  10. 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:
    void nachHintertupfingen ()         void nachKleinkleckersdorf ()
    {                                   {
      fahre ("Hintertupfingen");          fahre ("Kleinkleckersdorf");
    }                                   }
    
    Wie sehen die Prozesse void nachHintertupfingen() und void 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.)
  11. 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.)