When a process enters in waiting state and process cannot change waiting state then that situation is known as deadlock. In other words we can say that it is undesirable condition of process. In multiprogramming environment there are multiple processes and multiple resources some processes acquire some resources and this processes needs more resources which are allocated by another processes. If there is cycle between acquired edge and request edge then this condition is known as deadlock.
Necessary and Sufficient Condition To Deadlock
There are four necessary and sufficient conditions for deadlock to occur.
- Mutual Exclusion
- Hold and wait
- No preemption
- Circular wait
- Mutual Exclusion – In mutual exclusion only one process can use at a time.
- Hold and wait – In hold and wait a process holds all resources in starting or waits all resources but not both.
- No preemption (more…)
This content is restricted to site members. If you are an existing user, please log in. New users may register below.