The Difference Between Deadlock Prevention and Deadlock Avoidance
Deadlock Prevention:
- Preventing deadlocks by constraining how requests for resources can be made in the system and how they are handled (system design).
- The goal is to ensure that at least one of the necessary conditions for deadlock can never hold.
Deadlock Avoidance:
- The system dynamically considers every request and decides whether it is safe to grant it at this point,
- The system requires additional apriori information regarding the overall potential use of each resource for each process.
- Allows more concurrency.
Similar to the difference between a traffic light
and a police officer directing traffic.