# Which Data Structure Is Used in Bankers Algorithm?

//

Angela Bailey

## Which Data Structure Is Used in Bankers Algorithm?

The Banker’s algorithm, developed by Edsger Dijkstra, is a resource allocation and deadlock avoidance algorithm used in operating systems. It ensures that the resources are allocated safely to prevent deadlocks.

To achieve this, the Banker’s algorithm uses several data structures that enable efficient resource management. Let’s explore these data structures in detail.

### The Available Resources Data Structure

The first key data structure used in the Banker’s algorithm is the Available Resources data structure. This structure holds information about the number of available instances of each resource type in the system.

It allows the algorithm to determine if a process can request additional resources without causing a deadlock situation.

### The Maximum Resource Allocation Data Structure

Another important data structure utilized by the Banker’s algorithm is the Maximum Resource Allocation data structure. This structure defines the maximum number of instances of each resource type that a process may need to complete its execution.

By comparing this with the Available Resources data structure, the algorithm can determine if granting a resource request will lead to potential deadlock situations or not.

### The Allocation Data Structure

The third data structure used in the Banker’s algorithm is called Allocation. This structure keeps track of how many instances of each resource type are currently allocated to each process.

It helps in determining if a process has enough resources for its execution and avoids overallocation or underallocation scenarios.

### The Need Data Structure

Finally, we have the Need data structure. This structure represents the remaining resource needs of each process to complete its execution.

It is calculated by subtracting the Allocation data structure from the Maximum Resource Allocation data structure. The Banker’s algorithm uses this information to determine if granting a resource request will lead to potential deadlock situations or not.

In conclusion, the Banker’s algorithm relies on several data structures such as Available Resources, Maximum Resource Allocation, Allocation, and Need to efficiently manage resource allocation and avoid deadlocks. Understanding these data structures is crucial for implementing the Banker’s algorithm effectively in operating systems.