nWe need a semaphore S to perform mutual exclusion on the buffer: only 1 process at a time can access
the buffer
nWe need another semaphore N to synchronize producer and consumer on the number N (= in - out) of
items in the buffer
uan item can be consumed only after it has been created