This Article 
 Bibliographic References 
 Add to: 
An Extended Banker's Algorithm for Deadlock Avoidance
May/June 1999 (vol. 25 no. 3)
pp. 428-432

Abstract—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.

[1] A.V. Aho,J.E. Hopcroft, and J.D. Ullman,The Design and Analysis of Computer Algorithms.Reading, Mass.: Addison-Wesley, 1974.
[2] E.W. Dijkstra, "Cooperating Sequential Processes," Programming Languages, F. Genuys, ed., pp. 103-110,New York: Academic Press, 1968.
[3] R. Finkel and H.H. Madduri, "An Efficient Deadlock Avoidance Algorithm," Information Processing Letters, vol. 24, no. 1, pp. 25-30, Jan. 1987.
[4] A.N. Habermann, "Prevention of System Deadlocks," Comm. ACM, vol. 12, no. 7, pp. 373-377, 385, July 1969.
[5] A.N. Habermann, Introduction to Operating System Design.Chicago: Science Research Assoc., Inc., 1976.
[6] R.C. Holt, “Some Deadlock Properties of Computer Systems,” ACM Computing Surveys, vol. 4, no. 3, pp. 179-195, 1972.
[7] T. Minoura, "Deadlock Avoidance Revisited," J. ACM, vol. 29, no. 4, pp. 1,023-1,048, Oct. 1982.

Index Terms:
Banker's algorithm, deadlock, deadlock avoidance, graph reduction, operating system, worst-case complexity.
Sheau-Dong Lang, "An Extended Banker's Algorithm for Deadlock Avoidance," IEEE Transactions on Software Engineering, vol. 25, no. 3, pp. 428-432, May-June 1999, doi:10.1109/32.798330
Usage of this product signifies your acceptance of the Terms of Use.