Skip to main content.

Navigation:

4. theoretisches Aufgabenblatt

  1. Was sind atomare Operationen? (2 Pkt.)
  2. Was ist unter Betriebsmitteln zu verstehen? (2 Pkt.)
  3. Was ist ein Deadlock und welche Bedingungen müssen erfüllt sein, damit ein Deadlock auftreten kann? (3 Pkt.)
  4. Nenne zwei Beispiele für das Auftreten von Deadlocks, die nicht aus dem Bereich der Informatik stammen. Begründe deine Aussage. (3 Pkt.)
  5. Besteht die Möglichkeit einer Verklemmung bei nur einem Prozess? Begründe deine Aussage. (3 Pkt.)
  6. Worin besteht das Philosophenproblem und wie kann es gelöst werden? (3 Pkt.)
  7. Was versteht man unter dem Erzeuger-Verbraucher Problem? (3 Pkt.)
  8. Was sind Semaphoren und wie funktionieren sie? (3 Pkt.)
  9. Was sind sichere bzw. unsichere Zustände im Zusammenhang mit Deadlocks? (2 Pkt.)
  10. Beschreibe die zur Interprozesskommunikation genutzten Mechanismen Mailbox und Port. Wann werden sie verwendet und worin unterscheiden sie sich? (2 Pkt.)
  11. 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.)