Operating System: Critical Regions
10 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Was ist der Hauptzweck eines Monitors bei der Programmierung synchronisierter Prozesse?

  • Um den Zugriff auf interne Variablen zu beschränken.
  • Um die Programmierung synchronisierter Prozesse zu vereinfachen. (correct)
  • Um die Ausführung von Funktionen zu beschleunigen.
  • Um mehrere Prozesse gleichzeitig im Monitor aktiv zu halten.
  • Wie viele Prozesse können maximal gleichzeitig im Monitor aktiv sein?

  • Alle Prozesse
  • Kein Prozess
  • Mehrere Prozesse
  • Ein Prozess (correct)
  • Was passiert, wenn ein Prozess die wait-Operation auf eine Zustandsvariable ausführt?

  • Der Prozess wird zum nächsten Prozess in der Warteschlange gewechselt.
  • Der Prozess wird beendet und der Monitor wird freigegeben.
  • Der Prozess wird blockiert und ein anderer Prozess kann den Monitor betreten. (correct)
  • Der Prozess wird in den Zustand 'sleep' versetzt.
  • Was ist der Zweck der signal-Operation?

    <p>Ein Signal an den auf die entsprechende Zustandsvariable wartenden Prozess zu senden.</p> Signup and view all the answers

    Was ist die Hauptaufgabe der insert-Funktion in einem Monitor?

    <p>Ein Element in den Puffer zu speichern.</p> Signup and view all the answers

    Wie viele Elemente können maximal im Puffer gespeichert werden?

    <p>N Elemente</p> Signup and view all the answers

    Was passiert, wenn ein Prozess versucht, ein Element in den bereits vollen Puffer zu speichern?

    <p>Der Prozess wartet auf ein Signal auf die Zustandsvariable 'full'.</p> Signup and view all the answers

    Was ist die Aufgabe der remove-Funktion in einem Monitor?

    <p>Ein Element aus dem Puffer zu entfernen.</p> Signup and view all the answers

    Was ist der Zweck der Zustandsvariable 'empty'?

    <p>Um anzuzeigen, dass der Puffer leer ist.</p> Signup and view all the answers

    Wie kommunizieren Prozesse miteinander über den Monitor?

    <p>Über die Zustandsvariablen im Monitor.</p> Signup and view all the answers

    Study Notes

    Kritische Regionen

    • Vier Bedingungen für wechselseitigen Ausschluss:
      • Kein Prozess soll gleichzeitig in zwei kritischen Regionen sein
      • Keine Annahmen über Geschwindigkeiten oder Anzahl von CPUs
      • Kein Prozess außerhalb seiner kritischen Region soll einen anderen Prozess blockieren
      • Kein Prozess soll ewig auf den Zugriff zu seiner kritischen Region warten müssen
    • Kritische Regionen werden definiert als Programmteile, die auf gemeinsam genutzte Ressourcen zugreifen
    • Zu jedem Zeitpunkt darf nur ein Prozess Zugriff auf eine exklusiv verwendbare Ressource haben

    Wechselseitiger Ausschluss mit kritischen Regionen

    • Prozesse A und B, die jeweils in ihre kritische Region eintreten wollen
    • Prozess A betritt seine kritische Region vor Prozess B und blockiert dessen Versuch
    • Erst nach Austritt von Prozess A erhält Prozess B Zugriff zu seiner kritischen Region

    Trugschlüsse

    • Idee "Unterbrechungen sperren" scheitert, weil der rechnende Prozess nicht alle Unterbrechungen sperren darf
    • Idee "Sperrvariable einführen" scheitert, weil dies zu einer zusätzlichen kritischen Region führt

    Wechselseitiger Ausschluss mit Busy Waiting

    • Peterson's Lösung für wechselseitigen Ausschluss:
      • Jeder Prozess meldet sein Interesse in einem gemeinsamen Feld an
      • Nur wenn der andere Prozess kein Interesse meldet, darf der Prozess in seine kritische Region eintreten
    • Spinlocks nennt man Sperren, die durch aktives Warten realisiert werden
    • Hardware-Unterstützung erleichtert den wechselseitigen Ausschluss

    TSL-Instruktion

    • Entering and leaving a critical region using the TSL instruction
    • Unterstützung in der Hardware durch eine spezielle, unteilbare ISA-Instruktion namens TestAndSetLock (TSL)
    • Die TSL-Instruktion ist unteilbar, d.h. keine Unterbrechung zwischen Speicherzelle auslesen, Wert prüfen und neuen Wert zurück schreiben
    • Der Speicherbus ist gesperrt, sodass kein DMA-Transfer möglich ist und keine andere CPU auf den Speicher zugreifen kann

    Sleep and Wakeup

    • Producer-Consumer-Problem mit fataler Rassebedingung
    • Lösung mit Sperren für Prozesse, die ihre kritische Region nicht betreten können
    • Die down-Operation prüft, ob der Zähler > 0 ist und reduziert ihn um 1; bei Zähler = 0 blockiert sie den Prozess
    • Die up-Operation prüft, ob der Zähler 0 ist und weckt einen wartenden Prozess; bei > 0 wird der Zähler weiter erhöht

    Mutex

    • Zur Realisierung von gegenseitigem Ausschluss können binäre Semaphoren eingesetzt werden, die dann als Mutex bezeichnet werden
    • Mutexe dienen rein dem gegenseitigen Ausschluss und zählen nicht im Gegensatz zu Semaphoren
    • Die beiden Operationen mutex_lock und mutex_unlock arbeiten ähnlich wie down und up bei Semaphoren

    Monitore

    • Programmierung mit Semaphoren ist eine anspruchsvolle Aufgabe und kleine Fehler haben große Wirkung
    • Zur Vereinfachung der Programmierung korrekt synchronisierter Prozesse und Threads wurde ein höherstufiger Synchronisationsmechanismus namens Monitor eingeführt
    • Ein Monitor ist eine Sammlung von Funktionen und nur über diese Funktionen zugängliche interne Variablen
    • Ein Monitor zeichnet sich dadurch aus, dass zu jedem Zeitpunkt maximal ein Prozess im Monitor aktiv sein kann

    Wait und Signal

    • Wartet auf ein Signal auf die Zustandsvariable, blockiert den Prozess im Monitor und ermöglicht einem anderen Prozess das Betreten des Monitors
    • Signal sendet ein Signal an den auf die entsprechende Zustandsvariable wartenden Prozess

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    This quiz covers the concept of critical regions in operating systems, including the four conditions for mutual exclusion and preventing deadlocks.

    More Like This

    Use Quizgecko on...
    Browser
    Browser