(allgemeiner) Semaphor ist abstrakter Datentyp
mit Zustand
S∈ und atomaren Operationen:
Wait(S)
: wenn S > 0 dann S : = S - 1,
sonst blockiere
Signal(S)
: wenn es Prozesse gibt, die auf S warten,
dann wecke einen davon auf, sonst S : = S + 1
binärer Semaphor: S∈{0, 1} und ...
Signal(S)
: ...sonst S : = 1
E. W. Dijsktra: Cooperating Sequential Processes,
4. The General Semaphore, TU Eindhoven 1965
http://www.cs.utexas.edu/~EWD/transcriptions/EWD01xx/EWD123.html