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