GATE | GATE-CS-2001 | Question 47

Consider Peterson’s algorithm for mutual exclusion between two concurrent processes i and j. The program executed by process is shown below.

      flag [i] = true; 
      turn = j; 
      while ( P ) do no-op; 
      Enter critical section, perform actions, then exit critical 
      flag [ i ] = false; 
      Perform other non-critical section actions. 
   until false; 

For the program to guarantee mutual exclusion, the predicate P in the while loop should be.
(A) flag[j] = true and turn = i
(B) flag[j] = true and turn = j
(C) flag[i] = true and turn = j
(D) flag[i] = true and turn = i

Answer: (B)

Explanation: See question 2 of

Quiz of this Question

My Personal Notes arrow_drop_up
Article Tags :


Please write to us at to report any issue with the above content.