System Deadlocks

  title={System Deadlocks},
  author={Edward G. Coffman and M. J. Elphick and Arie Shoshani},
  journal={ACM Comput. Surv.},
A problem of increasing importance in the design of large multiprogramming systems is the, so-called, deadlock or deadly-embrace problem. In this article we survey the work that has been done on the treatment of deadlocks from both the theoretical and practical points of view. 

Figures from this paper

Concurrency in database systems: a simulation study
A simulation model of concurrent updates in a database system is presented. This model is used, to answer the following questions: How frequent are deadlocks in certain environments? What about
A practical deadlock avoidance algorithm for data base systems
A new algorithm is presented for avoiding system deadlocks that has little dependence on the number of lockable resources and is particularly well suited to use in data base systems which may have millions of individually lockable records.
The Deadlock Problem: An Overview
This comprehensive study of deadlock-handling techniques introduces a method for on-line detection in distributed data bases for deadlock prevention in terminal-oriented systems.
Deadlock Checking by Data Race Detection
This tutorial jumps right in to the power of statically analyzing program code to spot sources of potential deadlocks and provides a simple, straightforward and efficient way to do this.
A polynomial-time test for the deadlock-freedom of computer systems
  • T. Kameda
  • Computer Science
    Theoretical Computer Science
  • 1977
We call a system of n processes sharing m reusable resources deadlock-free, if and only if the allocation policy which automatically grants any request that can be granted with currently free
Models and algorithms for deadlock in computer systems
This note introduces a conceptually simple graph model that unifies much of the previous work on deadlock, leads to fast deadlock detection and prevention algorithms, and is suitable for teaching purposes.
Preventing deadlock with dynamic message scheduling
The theory and practice of a system that allows us to limit deadlock to situations in which there are true circular data dependences or failure of processes that compute data needed at other processes is described.
Prevention of Deadlocks in Packet-Switched Data Transport Systems
In this paper, necessary and sufficient conditions are given and proven for the use of process ordering and generalized resource ordering techniques to avoid deadlocks in arbitrary systems of interacting processes.
On the probability of deadlock in computer systems
As the number of processes and resources increases within a computer system, does the probability of that system's being in deadlock increase or decrease? This paper introduces Probabilistic Automata
Deadlock detection in distributed systems
An up-to-date and comprehensive survey of deadlock detection algorithms is presented, their merits and drawbacks are discussed, and their performances are compared.


Avoiding Deadlock in Multitasking Systems
System designers must be constantly alert to the deadlock possibilities of any proposed design, and once a deadlock situation has been recognized, it can probably be circumvented by one of the techniques described.
On deadlock in computer systems
A system is said to be in "deadlock" whenever it is stuck in a state where each part of the system is waiting for some event that can only be caused/triggered by another part of the system. (which is
The structure of the “THE”-multiprogramming system
A multiprogramming system is described in which all activities are divided over a number of sequential processes, in each of which one or more independent abstractions have been implemented.
Sequencing Tasks in Multiprocess Systems to Avoid Deadlocks
This paper assumes that advance information about future resource requirements of jobs is available and that jobs are represented as a sequence of "job steps" during which the resource usage remains constant.
Prevention of system deadlocks
Algorithms are presented which examine a request in the light of the current allocation of resources and determi whether or not the granting of the request will introduce the possibility of a deadlock.
Resource allocation with interlock detection in a multi-task system
In a multiprogramming environment, special care must be taken to insure that, for a given physical record on a data set, only one task at a time is involved in the following sequence: 1) Read the
Programming semantics for multiprogrammed computations
The semantics are defined for a number of meta-instructions which perform operations essential to the writing of programs in multiprogrammed computer systems. These meta-instructions relate to
Synchronization in a parallel-accessed data base
The following problem is considered: Given a data base which can be manipulated simultaneously by more than one process, what are the rules for synchronization which will maximize the amount of
Theory and practice in operating system design
This paper tries to explore the provinces of the two needs of theoretical insight and horse sense, suggesting places where one thinks horse sense will always be needed, and some other places where better theoretical understanding than the authors now have would seem both possible and helpful.
A resource-allocation scheme for multi-user on-line operation of a small computer
  • A. Reiter
  • Computer Science
    AFIPS '67 (Spring)
  • 1967
Recently a great deal of interest has been evident in on-line information retrieval systems in which the retrieval search involves real-time man computer interaction. The advantages of such systems