Thursday, August 20, 2009

Deadlock Characterization

A deadlock can occur if the following four conditions hold
simultaneously:

1. Mutual exclusion: at least one resource must be held in a
nonsharable mode.

2. Hold and wait: a process must be holding at least one
resource and waiting to acquire additional resources held by
other processes.

3. No preemption: resources can’t be preempted.

4. Circular wait: there exists a set {P0, P1, …, Pn} of waiting
processes such that P0
is waiting for a resource that is held by

P1, P1 is waiting for a resource that is held by P2, …, Pn–1 is
waiting for a resource that is held by Pn, and Pn is waiting for a
resource that is held by P0.

No comments: