1. Processes compete for physical and logical resources in the system.
2. A process requests a resources.
3. If the resources are not available at that time, a process enters into the wait state.
4. It may happen that waiting processes will never change the state again, because the resources requested by the process are occupied by some other process.
5. And this situation leads to Deadlock.
6. Deadlocks affects the progress of processes by causing indefinite delays in resource allocation.
7. Deadlocks are a set of blocked processes each holding a resource and waiting to acquire a resource held by another process.

Image:

Contributor's Info

0Comment

In multiprogramming system, when a waiting process is never able to get resources to complete its execution because the resources it has requested are held by another waiting process. This situation is called deadlock. This process can not proceed because of cyclic waiting of resources.

Each process utilizes a resource using request, use and release. Each resource type Ri has Wi instances.

When a process request a resource; it is made through a system call. If resource is not available or it held by another process, then process must have to wait for resource. A process releases the resources through system call. Process can use a resource if it is available to use.

Processes always represented with circles and resources represented with rectangles in RAG as following: