StreakPeaked· Practice

ExamsGATETechnical

Consider the following two-process synchronization solution. Process 0 -------- Entry: loop while (turn == 1); (critical section) Exit: turn = 1; Process 1 -------- Entry: loop while (turn == 0); (critical section) Exit: turn = 0; The shared variable turn is initialized to zero. Which one of the following is TRUE?

  1. This is a correct two-process synchronization solution.
  2. This solution violates mutual exclusion requirement.
  3. This solution violates progress requirement.
  4. This solution violates bounded wait requirement.

Correct answer: This solution violates progress requirement.

Solution

The solution violates the progress requirement because if one process enters its critical section, the other process may be indefinitely delayed if it keeps waiting for the turn variable to change, leading to a situation where neither process can proceed.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →