-
Consider the procedure below for the Producer-Consumer problem which uses semaphores :
semaphore n = 0;
semaphore s = 1;
Which one of the following is TRUE ?
-
- The producer will be able to add an item to the buffer, but the consumer can never consume it.
- The consumer will remove no more than one item from the buffer.
- Deadlock occurs if the consumer succeeds in acquiring semaphore s when the buffer is empty.
- The starting value for the semaphore n must be 1 and not 0 for deadlock-free operation.
- The producer will be able to add an item to the buffer, but the consumer can never consume it.
Correct Option: C
Consumer executes wait (S), then wait (n) and goes to sleep by decreasing n value.
After the consumer sleep, producer goes to the sleep by executing wait (s).
Dead lock occurs if the consumers succeeds in aquiring semaphore S when the buffer is empty.