nHence, in fact, a semaphore is a record
(structure):
n
type semaphore = record
count: integer;
queue: list of process
end;
var S: semaphore;
nWhen
a process must wait for a semaphore S, it is blocked and put on the semaphore’s
queue
nThe
signal operation removes (acc. to a fair policy like FIFO) one process from the
queue and
puts it in the list of ready processes