write my assignment 5683
Consider the following code for solving the Producer-Consumer problem, assuming the buffer is unbounded:
Initialization:
S.count = 1;
N.count = 0
in = 0;
out = 0;
**********************
Producer:
repeat
produce v;
wait(S);
append(v);
signal(S);
signal(N);
forever
*****************
Consumer:
repeat
wait(N);
wait(S);
w = take();
signal(S);
consume(w)
forever
**************
a.Will this code still work satisfactorily if we reverse the order of the two signal() calls in the Producer? Briefly explain why or why not.
b.Will this code still work satisfactorily if we reverse the order of the two wait() calls in the Consumer? Briefly explain why or why not.