Outline for 1/21/98


Mars Pathfinder Example


Dealing with Deadlock


Deadlock Theory

State of resource allocation captured in Resource Graph

State transitions by operations:

Deadlock defined on graph:

Cycle in graph is a necessary condition

No deadlock iff graph is completely reducible


Deadlock Detection Algorithm

Let U be the set of processes that have yet to be reduced. Initially U = P. Consider only reusable resources.

while (there exist unblocked processes in U)
	{ Remove unblocked Pi from U; 
	   Cancel Pi’s outstanding requests;
	   Release Pi’s allocated resources; 
	    /* possibly unblocking other Pk in U */}
if ( U != l) signal deadlock;


Consumable Resources


Deadlock Detection & Recovery