Bankers Algorithm
significance of Banker’s Algorithm (Theory Part)
Banker’s Algorithm is a deadlock avoidance algorithm that ensures resource requests are granted
only if they do not lead the system into an unsafe state. The OS checks future resource needs before
allocating resources. It allows maximum utilization of resources while guaranteeing system safety.
It works by:
✔ calculating Need Matrix
✔ comparing Need with Available resources
✔ generating Safe Sequence if possible
If a safe sequence exists → NO deadlock
If not → Resource request must be denied
Numerical Problem Solution
Available Resources:
A = 10, B = 5, C = 7
Process Allocation (A B C) Maximum (A B C)
P0 010 753
P1 200 322
P2 302 902
P3 211 222
Step 1 → Calculate Need Matrix
Need = Max – Allocation
Process Max Alloc Need
P0 753 010 743
P1 322 200 122
P2 902 302 600
P3 222 211 011
Step 2 → Apply Banker’s Algorithm to find Safe Sequence
Initial Available = (10, 5, 7)
Check who can execute:
Process Need Available Can Run?
P3 0 1 1 ✔ Yes First
→ After P3 finishes:
Available = Alloc(P3) + Available = (2,1,1) + (10,5,7) = (12,6,8)
Next:
Process Need Current Available Can Run?
P1 1 2 2 ✔ Yes
→ Available = (12,6,8) + (2,0,0) = (14,6,8)
Next:
Process Need Can Run?
P0 7 4 3 ✔ Yes
→ Available = (14,6,8) + (0,1,0) = (14,7,8)
Finally:
Process Need Can Run?
P2 6 0 0 ✔ Yes
→ Available = (14,7,8) + (3,0,2) = (17,7,10)
Safe Sequence Found:
P3 → P1 → P0 → P2
✔ System is in SAFE STATE
No deadlock
Final Conclusion
✔ All processes can finish
✔ Banker’s Algorithm prevents entering unsafe states
✔ Hence current system configuration is SAFE