Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote