Consider the procedure below for the Producer-Consumer problem which uses…
GATE · 2014 · CS · Set 2 · Computer Science & IT
Consider the procedure below for the Producer-Consumer problem which uses semaphores:
semaphore n = 0;
semaphore s = 1;
void producer() {
while (true) {
produce();
semWait(s);
addToBuffer();
semSignal(s);
semSignal(n);
}
}
void consumer() {
while (true) {
semWait(s);
semWait(n);
removeFromBuffer();
semSignal(s);
consume();
}
}Which one of the following is TRUE?
- A.
The producer will be able to add an item to the buffer, but the consumer can never consume it
- B.
The consumer will remove no more than one item from the buffer.
- C.
Deadlock occurs if the consumer succeeds in acquiring semaphore s when the buffer is empty.
- D.
The starting value for the semaphore n must be 1 and not 0 for deadlock-free operation.
Attempted by 186 students.
Sign up free to check your answer
Sign up freeLoading lesson…