Conditions for Deadlock in Operating System

• Difficulty Level : Easy
• Last Updated : 29 Apr, 2022

Deadlock is a situation which involves the interaction of more than one resources and processes with each other. We can visualise the occurrence of deadlock as a situation where there are two people on a staircase. One is ascending the staircase while the other is descending. The staircase is so narrow that it can only fit one person at a time. As a result, one has to retreat while the other moves on and uses the staircase. Once that person has finished, the other one can use that staircase. But here, neither person is willing to retreat and waits for the other to retreat. None of them are able to use the staircase. The people here are the processes, and the staircase is the resource. When a process requests for the resource that is been held another process which needs another resource to continue, but is been held by the first process, then it is called a deadlock. There are four conditions necessary for the occurrence of a deadlock. They can be understood with the help of the above illustrated example of staircase:

1. Mutual Exclusion: When two people meet in the landings, they can’t just walk through because there is space only for one person. This condition allows only one person (or process) to use the step between them (or the resource) is the first condition necessary for the occurrence of the deadlock.
2. Hold and Wait: When the two people refuse to retreat and hold their ground, it is called holding. This is the next necessary condition for deadlock.
3. No Preemption: For resolving the deadlock one can simply cancel one of the processes for other to continue. But the Operating System doesn’t do so. It allocates the resources to the processors for as much time as is needed until the task is completed. Hence, there is no temporary reallocation of the resources. It is the third condition for deadlock.
4. Circular Wait: When the two people refuse to retreat and wait for each other to retreat so that they can complete their task, it is called circular wait. It is the last condition for deadlock to occur.

Note: All four conditions are necessary for deadlock to occur. If any single one is prevented or resolved, the deadlock is resolved.

My Personal Notes arrow_drop_up
Recommended Articles
Page :