Deadlock Prevention


Restrain the ways request can be made

Mutual Exclusion
 not required for sharable resources; must hold for nonsharable resources


Hold and Wait
 must guarantee that whenever a process requests a resource, it does not hold any other resources
 Require process to request and be allocated all its resources before it begins execution, or allow process to request resources only when the process has none
 Low resource utilization; starvation possible


No Preemption
 If a process that is holding some resources requests another resource that cannot be immediately allocated to it, then all resources currently being held are released
 Preempted resources are added to the list of resources for which the process is waiting
 Process will be restarted only when it can regain its old resources, as well as the new ones that it is requesting


Circular Wait
 impose a total ordering of all resource types, and require that each