Deadlock conditions: Four necessary conditions for deadlock are mutual exclusion, no-preemption, circular wait, and which additional condition?

Difficulty: Easy

Correct Answer: hold and wait

Explanation:


Introduction / Context:
Coffman’s conditions identify the four necessary prerequisites for a deadlock in resource allocation systems. Understanding them helps in designing prevention and avoidance strategies.



Given Data / Assumptions:

  • We already have mutual exclusion, no preemption, and circular wait.
  • We seek the fourth condition.
  • Resources are non-shareable and requested by processes over time.


Concept / Approach:

The four conditions are: mutual exclusion, hold and wait, no preemption, and circular wait. Hold and wait means processes currently holding resources also request additional resources and wait while holding what they already own—enabling circular dependency formation.



Step-by-Step Solution:

List known conditions.Recall the missing term is “hold and wait.”Confirm that this is indeed distinct from the other three.Choose “hold and wait.”


Verification / Alternative check:

Any OS text enumerates these four together. Breaking any one prevents deadlock; e.g., preventing hold-and-wait by forcing processes to request all resources at once.



Why Other Options Are Wrong:

  • Deadlock avoidance: a strategy, not a condition.
  • Race around condition and buffer overflow: different classes of problems.


Common Pitfalls:

Confusing avoidance/prevention techniques with conditions; mixing runtime bugs (race/overflow) with resource-allocation theory.


Final Answer:

hold and wait

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion