Question: Sleeping Barber Problem. Fill out the 7 tables on the right after each semaphore and then answer the questions as the bottom. 1. How many

Sleeping Barber Problem. Fill out the 7 tables on the right after each semaphore and then answer the questions as the bottom.

Sleeping Barber Problem. Fill out the 7 tables on the right after

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 stepthrough?

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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!