What is Deadlock and how it occurs?

Deadlock

  • Deadlock is the state of the system in which a process is waiting for a resource which is occupied by another process which is waiting for another process to release the resource and the cycle continues.
  • In a deadlock, processes never finish executing, and system resources are tied up, preventing other jobs from starting.

The four necessary conditions for deadlock to occur :

  1. Mutual exclusion : At least one resource must be held in a non-sharable mode; that is, only one process at a time can use the resource. If another process requests that resource, the requesting process must be delayed until the resource has been released.
  2. Hold and wait : A process must be holding at least one resource and waiting to acquire additional resources that are currently being held by other processes.
  3. No preemption : Resources cannot be preempted, that is, a resource can be released only voluntarily by the process holding it, after that process has completed its task.
  4. Circular wait : A set {P0, P1, …, Pn} of waiting processes must exist such that P0 is waiting for a resource held by P1, P1 is waiting for a resource held by P2, …, Pn−1 is waiting for a resource held by Pn, and Pn is waiting for a resource held by P0.

Leave a Reply

Your email address will not be published. Required fields are marked *