Klassische Semaphoren

  • Im Wartefall Einreihen in eine FIFO-Queue
    Abarbeitung in Ankunftsreihenfolge

Counting Semaphore

  • Semaphor enthält Zähler (vorinitialisiert mit n)

  • Blockiert, wenn bereits n Prozesse im „krit. Abschnitt“ und n+1. will rein

    • n=1: Schutz eines kritischen Abschnitts
    • n=0: Einseitige Synchronisation
    • n>1: Verwaltung von n gleichartigen Betriebsmitteln
  • Zähler wird bei Eintritt dekrementiert, bei Austritt inkrementiert

  • Semaphor blockiert bei Zählerstand = 0

Beispiele

Erzeuger Verbraucher

Speisende Philosophen