Code the Bankers\' algorithm for deadlock avoidance as described in lecture. App
ID: 3765942 • Letter: C
Question
Code the Bankers' algorithm for deadlock avoidance as described in lecture. Apply this algorithm against the following data displaying the Work, Need and Allocation matrices for each pass of the algorithm provided a safe state exists.
Process Allocation Max Available
A B C D A B C D A B C D
P0 0 0 1 2 0 0 1 2 1 5 2 0
P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6
P3 0 6 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6 Against request of (1,0,0,0) for P2.
Do the same for the following data:
Process Allocation Max Available
A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
P1 2 0 0 3 2 2
P2 3 0 2 9 0 2
P3 2 1 1 2 2 2
P4 0 0 2 4 3 3 Against requests of (1, 2, 1) and (3, 3, 0). For P0.
Explanation / Answer
Problem1:
Process Allocation Max Available
A B C D A B C D A B C D
P0 0 0 1 2 0 0 1 2 1 5 2 0
P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6
P3 0 6 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6
Need =Max-Allocation
Process Allocation Max Need Available
A B C D A B C D A B C D A B C D
P0 0 0 1 2 0 0 1 2 0 0 0 0 1 5 2 0
P1 1 0 0 0 1 7 5 0 0 7 5 0
P2 1 3 5 4 2 3 5 6 1 0 0 2
P3 0 6 3 2 0 6 5 2 0 0 2 0
P4 0 0 1 4 0 6 5 6 0 6 4 2
P1 needs 0 resources of all types so it executes and release resources.
Process Allocation Max Need Available
A B C D A B C D A B C D A B C D
P0 finished 1 5 3 2=1 5 2 0+0 0 1 2
P1 1 0 0 0 1 7 5 0 0 7 5 0
P2 1 3 5 4 2 3 5 6 1 0 0 2
P3 0 6 3 2 0 6 5 2 0 0 2 0
P4 0 0 1 4 0 6 5 6 0 6 4 2
So available resources will be now 1 5 3 2
With it we can resolve P2
Process Allocation Max Need Available
A B C D A B C D A B C D A B C D
P0 finished 1 5 3 2+1 3 5 4=2 8 8 6
P1 1 0 0 0 1 7 5 0 0 7 5 0
P2 finished
P3 0 6 3 2 0 6 5 2 0 0 2 0
P4 0 0 1 4 0 6 5 6 0 6 4 2
Similarly for the remaining processes as follows:
Process Allocation Max Need Available
A B C D A B C D A B C D A B C D
P0 finished 1 5 3 2+1 3 5 4+1 0 0 0=3, 8, 8, 6
P1 finished
P2 finished
P3 0 6 3 2 0 6 5 2 0 0 2 0
P4 0 0 1 4 0 6 5 6 0 6 4 2
Process Allocation Max Need Available
A B C D A B C D A B C D A B C D
P0 finished 3 8 8 6+0 6 3 2=3, 14, 11, 8
P1 finished
P2 finished
P3 finished
P4 0 0 1 4 0 6 5 6 0 6 4 2
Process Allocation Max Need Available
A B C D A B C D A B C D A B C D
P0 finished 3 14 11 8+0 0 1 4=3 14 12 12
P1 finished
P2 finished
P3 finished
P4 finished
Therefore, the safe sequence is P0, P2.P1, P3, and P4.
The request against P2 (1, 0, 0, 0) is resolved because the available resources are free after the execution of the processes.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.