An efficient deadlock avoidance algorithm
Information Processing Letters
Journal of the ACM (JACM)
Some Deadlock Properties of Computer Systems
ACM Computing Surveys (CSUR)
Compact finite difference schemes for ocean models: 1. Ocean waves
Journal of Computational Physics
Introduction to Operation Systems Design
Introduction to Operation Systems Design
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Coalition Formation: From Software Agents to Robots
Journal of Intelligent and Robotic Systems
Gadara: dynamic deadlock avoidance for multithreaded programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Hi-index | 0.01 |
We describe a natural extension of the banker's algorithm for deadlock avoidance in operating systems. Representing the control flow of each process as a rooted tree of nodes corresponding to resource requests and releases, we propose a quadratic-time algorithm which decomposes each flow graph into a nested family of regions, such that all allocated resources are released before the control leaves a region. Also, information on the maximum resource claims for each of the regions can be extracted prior to process execution. By inserting operating system calls when entering a new region for each process at runtime, and applying the original banker's algorithm for deadlock avoidance, this method has the potential to achieve better resource utilization because information on the "localized approximate maximum claims" is used for testing system safety.