StreakPeaked· Practice

ExamsGATETechnical

Consider the following proposed solution for the critical section problem. There are n processes: P0,...,Pn-1. In the code, function pmax returns an integer not smaller than any of its arguments. For all i, t[i] is initialized to zero. Code for Pi: do { c[i]=1; t[i] = pmax(t[0],...,t[n-1])+1; c[i]=0; for every j != i in {0,...,n-1} { while (c[j]); while (t[j] != 0 && t[j]<=t[i]); } Critical Section; t[i]=0; Remainder Section; } while (true); Which one of the following is TRUE about the above solution?

  1. At most one process can be in the critical section at any time
  2. The bounded wait condition is satisfied
  3. The progress condition is satisfied
  4. It cannot cause a deadlock

Correct answer: At most one process can be in the critical section at any time

Solution

The solution ensures that only one process can enter the critical section by using the timestamp mechanism, where each process waits for others to finish based on their timestamps. This guarantees mutual exclusion, as a process will only enter the critical section when it has the highest timestamp among all processes.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →