Question: Sleeping Barber Problem. Fill out the 7 columns on the right after each command then answer the four questions at the bottom. 1. How many
Sleeping Barber Problem. Fill out the 7 columns on the right after each command then answer the four questions at the bottom.

1. How many people/processes were involved with the barbershop?
2. How many people were completely done getting a haircut at the end of the code step through?
3. How many people were still waiting to get their hair cut?
4. How many people walked out? (Why?)
BR AZWRS A2WRS |Queue BR Queue CR Queue NFWRS Barber 1 Barber 2 Customer 1 Customer 2 Customer 3 Customer 4 sem Wait(A2WRS) semwait(A2WRS) sem Wait(CR) if(NFWRS>0) NFWRS -= 1; semSignal(CR) sem Wait(A2WRS) semWait(A2WRS) semSignal(A2WRS) if(NFWRS>0) NFWRS -= 1; sem Signal(CR) semSignal(A2WRS) if(NFWRS>0) NFWRS -= 1; semSignal(A2WRS) NFWRS+=1 sem Signal(BR) semSignal(A2WRS) sem Wait(A2WRS) if(NFWRS>0) NFWRS -= 1; semSignal(CR) semSignal(A2WRS) 20 21 semWait(CR) 22 sem Wait(A2WRS) 23 NFWRS+=1 24 semSignal(BR) 25 semSignal(A2WRS) sem Wait(BR) 26 27 sem Wait(BR) BR AZWRS A2WRS |Queue BR Queue CR Queue NFWRS Barber 1 Barber 2 Customer 1 Customer 2 Customer 3 Customer 4 sem Wait(A2WRS) semwait(A2WRS) sem Wait(CR) if(NFWRS>0) NFWRS -= 1; semSignal(CR) sem Wait(A2WRS) semWait(A2WRS) semSignal(A2WRS) if(NFWRS>0) NFWRS -= 1; sem Signal(CR) semSignal(A2WRS) if(NFWRS>0) NFWRS -= 1; semSignal(A2WRS) NFWRS+=1 sem Signal(BR) semSignal(A2WRS) sem Wait(A2WRS) if(NFWRS>0) NFWRS -= 1; semSignal(CR) semSignal(A2WRS) 20 21 semWait(CR) 22 sem Wait(A2WRS) 23 NFWRS+=1 24 semSignal(BR) 25 semSignal(A2WRS) sem Wait(BR) 26 27 sem Wait(BR)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
