© Thomas Kunz 2000
SCE 574
212
   Semaphores
äHence, in fact, a semaphore is a record (structure):
type semaphore = record
                   count: integer;
                   queue: list of process
                 end;
var S: semaphore;
äWhen a process must wait for a semaphore S, it is blocked and put on the semaphore’s queue äThe signal operation removes (according to a fair policy like FIFO) one process from the queue and puts it in the list of ready processes