-
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?
-
- At most one process can be in the critical section at any time.
- The bounded wait condition is satisfied.
- The progress condition is satisfied.
- It cannot cause a deadlock.
- At most one process can be in the critical section at any time.
Correct Option: A
NA