0% found this document useful (0 votes)
60 views9 pages

Bankers Algorithm

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views9 pages

Bankers Algorithm

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Teggala krishna reddy

engineering college (ugc-autonomous)


medbowli,meerpet,balapur,Hyderabad,Telangana-500097

BANKERS ALGORITHM
NAME:GAVINOLLA SHIRISHA
ROLL NO:22R91A0567
BRANCH:CSE GUIDE
P.RATNA TEJASWI
Banker’s Algorithm
• Multiple instances

• Each process must a priori claim maximum use

• When a process requests a resource it may have to wait

• When a process gets all its resources it must return them in a finite amount of
time
Data Structures for the Banker’s Algorithm
Let n = number of processes, and m = number of resources types.

• Available: Vector of length m. If available [j] = k, there are k instances of resource type Rj available

• Max: n x m matrix. If Max [i,j] = k, then process Pi may request at most k instances of resource type Rj

• Allocation: n x m matrix. If Allocation[i,j] = k then Pi is currently allocated k instances of Rj

• Need: n x m matrix. If Need[i,j] = k, then Pi may need k more instances of Rj to complete its task

Need [i,j] = Max[i,j] – Allocation [i,j]


Safety Algorithm
1. Let Work and Finish be vectors of length m and n, respectively. Initialize:
Work = Available
Finish [i] = false for i = 0, 1, …, n- 1

2. Find an i such that both:


(a) Finish [i] = false
(b) Needi  Work
If no such i exists, go to step 4

3. Work = Work + Allocationi


Finish[i] = true
go to step 2

4. If Finish [i] == true for all i, then the system is in a safe state
Resource-Request Algorithm for Process Pi
Requesti = request vector for process Pi. If Requesti [j] = k then process Pi wants k
instances of resource type Rj
1. If Requesti  Needi go to step 2. Otherwise, raise error condition, since process has
exceeded its maximum claim
2. If Requesti  Available, go to step 3. Otherwise Pi must wait, since resources are not
available
3. Pretend to allocate requested resources to Pi by modifying the state as follows:
Available = Available – Requesti;
Allocationi = Allocationi + Requesti;
Needi = Needi – Requesti;
 If safe  the resources are allocated to Pi
 If unsafe  Pi must wait, and the old resource-allocation state is restored
Example of Banker’s Algorithm
• 5 processes P0 through P4;

3 resource types:

A (10 instances), B (5instances), and C (7 instances)

• Snapshot at time T0:

Allocation Max Available

ABC ABC ABC

P0 010 753 332

P1 200 322

P2 302 902

P3 211 222

P4 002 433
Example (Cont.)
• The content of the matrix Need is defined to be Max – Allocation

Need
ABC
P0 743

P1 122

P2 600

P3 011

P4 431

• The system is in a safe state since the sequence < P1, P3, P4, P2, P0> satisfies safety criteria
Advantages:
• It contains various resources that meet the requirements of each

process.
• It helps the operating system manage and control process requests.

Disadvantages:
• The algorithm does no longer allows the process to exchange its maximum

needs while processing its tasks.


• Each process has to know and state their maximum resource requirement in

advance for the system.


THANK YOU

You might also like