ACM Computing Surveys (CSUR)
Some Deadlock Properties of Computer Systems
ACM Computing Surveys (CSUR)
Comments on prevention of system deadlocks
Communications of the ACM
Compact finite difference schemes for ocean models: 1. Ocean waves
Journal of Computational Physics
Additional comments on a problem in concurrent programming control
Communications of the ACM
Solution of a problem in concurrent programming control
Communications of the ACM
The Logical Design of Operating Systems
The Logical Design of Operating Systems
Operating Systems Theory
On deadlock in computer systems
On deadlock in computer systems
Hi-index | 0.00 |
The purpose of this paper is to clear up misconceptions about deadlock and present a cohesive treatment suitable for use in class. First some historical examples are given. This is followed by a formal definition and some examples. Second, the concept of a "joint progress diagram" is introduced and explained and examples of progress trajectories are presented. Within the diagram the complexities of process progression are illustrated. This provides a convenient visualization for the three resource management policies that combine to permit deadlock. Also using the joint progress diagram, the four approaches to dealing with deadlock can be differentiated in a convenient pictorial fashion. Once that is complete, each of the four approaches can be studied in detail. Third the four approaches (prevent, avoid, detect/recover, and ignore) are described and differentiated. The characteristics and usage patterns of resources are described. Then, one policy is chosen for elimination. Once the policy is chosen, there are three different ways to eliminate that policy. These the relative performance of these three choices are compared. The fourth, fifth and sixth topics are deadlock prevention, deadlock avoidance, and deadlock detection. The key concept in avoidance is that even though resources may be available, they should not be allocated if it is imprudent to do so. A simple avoidance algorithm is presented and practical problems with deadlock avoidance are discussed. In detection recovery, the detection algorithm is shown to be similar to the avoidance algorithm and the recovery algorithms are shown to be complex. The paper concludes by offering suggestions on the important points to cover when teaching deadlock.