Consider the following policies for preventing deadlock in a system with…
2015
Consider the following policies for preventing deadlock in a system with mutually exclusive resources.
I. Processes should acquire all their resources at the beginning of execution. If any resource is not available, all resources acquired so far are released
II. The resources are numbered uniquely, and processes are allowed to request for resources only in increasing resource numbers
III. The resources are numbered uniquely, and processes are allowed to request for resources only in decreasing resource numbers
IV. The resources are numbered uniquely. A process is allowed to request only for a resource with resource number larger than its currently held resources
Which of the above policies can be used for preventing deadlock?
- A.
Any one of I and III but not II or IV
- B.
Any one of I, III, and IV but not II
- C.
Any one of II and III but not I or IV
- D.
Any one of I, II, III, and IV
Attempted by 200 students.
Show answer & explanation
Correct answer: D
Key ideas: prevent deadlock by breaking one of the Coffman conditions.
Policy I — Acquire all resources at the beginning (or release and retry): breaks the hold-and-wait condition because a process does not hold some resources while waiting for others.
Policies II and III — Use a consistent global numbering and require requests in increasing or in decreasing order: prevent circular wait because resource-request edges follow the global order, so cycles cannot form.
Policy IV — Require that each new request has a larger resource number than any currently held: this is effectively a specific form of a global ordering (like II) and likewise prevents circular wait.
Conclusion: Each listed policy breaks at least one Coffman condition (I breaks hold-and-wait; II/III/IV break circular wait), so any one of the four can be used to prevent deadlock.
A video solution is available for this question — log in and enroll to watch it.