Issue No. 03 - May/June (1999 vol. 25)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.798330
<p><b>Abstract</b>—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.</p>
Banker's algorithm, deadlock, deadlock avoidance, graph reduction, operating system, worst-case complexity.
S. Lang, "An Extended Banker's Algorithm for Deadlock Avoidance," in IEEE Transactions on Software Engineering, vol. 25, no. , pp. 428-432, 1999.