Question 5

P- und V-Operationen bei Semaphoren

Die P- (Proberen) und V-Operationen (Verhogen) sind atomar, das heißt:
Sie werden ununterbrechbar als Einheit ausgeführt und können nicht durch andere Threads unterbrochen werden.

P-Operation (Wartet / dekrementiert)

  • Verringert den Zählerwert um 1.

  • Wenn der neue Wert < 0 ist:

    ➜ Der ausführende Thread wird blockiert und in die Warteschlange aufgenommen.

  • Wenn der Wert ≥ 0 bleibt:

    ➜ Der Thread kann weiterlaufen.

V-Operation (Freigabe / inkrementiert)

  • Erhöht den Zählerwert um 1.

  • Wenn der neue Wert ≤ 0 ist:

    ➜ Ein wartender Thread wird aus der Warteschlange entnommen und freigegeben.

Atomarität

Atomare Operationen sind nicht unterbrechbar und werden entweder vollständig ausgeführt oder gar nicht.

➡️ Bei Semaphoren bedeutet das:

Das Ändern des Zählers und das Blockieren oder Freigeben eines Threads passieren immer zusammen – ohne Zwischenzustand oder Eingriff anderer Threads.