Consider the following code for solving the Producer-Consumer problem, assuming the buffer is unbounded: Initialization:count = 1; N.count = 0 in =…

 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.