GATE | GATE CS 2010 | Question 45
The following program consists of 3 concurrent processes and 3 binary semaphores.The semaphores are initialized as S0 = 1, S1 = 0, S2 = 0.
How many times will process P0 print ‘0’?
(A) At least twice
(B) Exactly twice
(C) Exactly thrice
(D) Exactly once
Explanation: Initially only P0 can go inside the while loop as S0 = 1, S1 = 0, S2 = 0.
Minimum no. of time 0 printed is twice when execute in this order (p0 -> p1 -> p2 -> p0)
Maximum no. of time 0 printed is thrice when execute in this order (p0 -> p1 -> p0 -> p2 -> p0).
Watch GeeksforGeeks Video Explanation :