PPT Slide
Deadlock
- Conditions necessary for deadlock to occur:
1. Resources are not preemptable.
2. Resources cannot be shared.
3. A process can hold one resource & request another.
4. Circular wait is possible (a cycle exists in the request/allocated graph)
Dealing with deadlocks (3 techniques)
- Prevention: place restrictions on resource requests so that deadlock cannot occur.
- Avoidance: Pretend to allocate the resource, run an avoidance algorithm that detects cycles, don’t permit the allocation if deadlock possible.
- Recovery: Let deadlock happen & recover from it.