GATE CS 2016 Set 1 — Question 60
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67HardRace Conditions & Critical SectionProcess SynchronizationOperating System
Operating System → Process Synchronization → Race Conditions & Critical Section
Last updated
Question
Consider the following proposed solution for the critical section problem. There are processes: . In the code, function Which one of the following is TRUE about the above solution?
pmax returns an integer not smaller than any of its arguments. For all , t[i] is initialized to zero.Code for :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);
Correct answer
(A) At most one process can be in the critical section at any time
Solution
The code resembles the Bakery Algorithm but uses the condition
t[j] <= t[i] instead of the lexicographical check (t[j], j) < (t[i], i). 1.Deadlock: If two processes and read the same
pmax value and assign t[i] = t[j] = k, they will both enter the checking loop. checks t[j] <= t[i] (True) and waits. checks t[i] <= t[j] (True) and waits. This leads to a deadlock. Thus, (D) is false.2.Progress: Since deadlock is possible (where no process enters the critical section), the progress condition is violated. Thus, (C) is false.
3.Bounded Wait: Since processes can deadlock and wait indefinitely, bounded waiting is not satisfied. Thus, (B) is false.
4.Mutual Exclusion: The condition
t[j] <= t[i] is stricter than necessary. If t values are distinct, the logic holds. If t values are equal, both wait (deadlock), meaning 0 processes enter the critical section. In all cases, the number of processes in the critical section is . Thus, mutual exclusion is satisfied.Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Process Synchronization
2026 Set 2 Q23Which one of the following CPU scheduling algorithms cannot be preemptive?2026 Set 1 Q29With respect to deadlocks in an operating system, which of the following statements is/are FALSE?2026 Set 1 Q31In the context of relational database normalization, which of the following statements is/are true?2026 Set 1 Q35Consider a system consisting of instances of a resource , being shared by 5 processes.…2026 Set 2 Q51Consider three processes P1, P2, and P3 running identical code, as shown in the pseudocode below. A…