Models and algorithms for deadlock in computer systems

A major problem in multiprogramming systems in which processes may wait for resources is the prevention or detection of deadlocks. Deadlock is the situation in which one or more processes are blocked forever waiting for resources which can never become available. This problem has received considerable attention recently (see for example [1, 3, 4, 5, 6, 8, 9].) This note introduces a conceptually simple graph model; this model unifies much of the previous work on deadlock, leads to fast deadlock detection and prevention algorithms, and is suitable for teaching purposes.