An Extended Banker's Algorithm for Deadlock Avoidance

  • Authors:
  • Shau-Dong Lang

  • Affiliations:
  • Univ. of Central Florida, Orlando

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.01

Visualization

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.