521 views

3 Answers

2 votes
2 votes
Here P=0 S=1;

P1:                                 P2

wait(P)                            wait(S)

use R1                             use R1

use R2                             signal(P)

signal(S)                          wait(S)

wait(P)                             use R2

use R3                             use R3

use R4                              signal(P)

signal(S)                            wait(S)

                                          Use R4
1 votes
1 votes
multiple ways are possible , one of the way is as follow

say 2 semaphores R=0 , S=0

     P1:                                                                  P2:

 wait(R)                                                             USE R1

                                                                        signal(R)

USE R1

USE R2

signal(S)                                                          wait(S)

                                                                      USE R2

                                                                      USE R3

wait(R)                                                             signal(R)

USE R3

USE R4                  

signal(S)                                                          wait(S)

                                                                       USE R4
0 votes
0 votes

P->wait, v->signal

P1(){

R2.p()

R4.p()

Critical section

R4.v()

R2.v()

}

​Similar with P1, replacing R2, R4-> R1,R3

Related questions

0 votes
0 votes
1 answer
2
Mrityudoot asked Jan 27
230 views
Can a counting semaphore acquire a negative value?S = 2;15 P operations done, should the semaphore be 0 or -13
1 votes
1 votes
1 answer
3
0 votes
0 votes
1 answer
4
Na462 asked Jul 19, 2018
568 views