Operating System
PROBLEMS USING BANKERS ALGORTIHM
Q1.
Process                           Allocation                        Max
                                      A      B      C      D           A      B       C   D
             P0                       0      2      1      2           0      3       2   2
             P1                       1      1      0      2           2      7       5   2
             P2                       2      2      5      4           2      3       7   6
             P3                       0      3      1      2           1      6       4   2
             P4                       2      4      1      4           3      6       5   8
                      Available
             A                          B                      C                  D
             2                          5                      3                  2
A) Write the need matrix
B) Is the system safe? If yes write the sequence.
Need = Max – Allocation
                  Process                           Need
                                                               A      B      C        D
                      P0                                       0      1      1        0
                      P1                                       1      6      5        0
                      P2                                       0      1      2        2
                      P3                                       1      3      3        0
                      P4                                       1      2      4        4
The System is in safe state. Sequence is < P0 P1 P2 P3 P4 >
      need <= work
P0 --> 0110 <= 2532
       w = 2532 + 0212 = 2744
P1 --> 1650 <= 2744
       w = 2744 + 1102 = 3846
                                                                   Operating System
P2 --> 0122 <= 3846
       w = 3846 + 2254 = 510910
P3 --> 1330 <= 510910
       w = 510910 + 0312 = 5131012
P4 --> 1244 <= 5131012
       w = 5131012 + 2414 = 7171116
Q2.
Process                            Allocation                       Max
                                       A      B   C      D             A      B       C   D
             P0                        2      0   0      1             4      2       1   2
             P1                        3      1   2      1             5      2       5   2
             P2                        2      1   0      3             2      3       1   6
             P3                        1      3   1      2             1      4       2   4
             P4                        1      4   3      2             3      6       6   5
                       Available
             A                           B                     C                  D
             3                           3                     2                  1
Given: A-12, B-12, C-8, D-10
A) What is the content of the need matrix
B) If a request from process P1 arrives for (1,1,0,0) can the request be granted?
C) If a request from process P4 (0,0,2,0) arrives, can it be granted?
Need = Max - Allocation
                   Process                        Need
                                                              A         B    C        D
                      P0                                      2         2    1        1
                      P1                                      2         1    3        1
                      P2                                      0         2    1        3
                      P3                                      0         1    1        2
                      P4                                      2         2    3        3
                                                                   Operating System
The system is in safe state. Safe Sequence is < P0 P3 P4 P1 P2 >
      need <= work
P0 --> 2211 <= 3321
       w = 3321 + 2001 = 5322
P1 --> 2131 <= 5322 ×
P2 -->0213 <= 5322 ×
P3 --> 0112 <= 5322
       w = 5322 + 1312 = 6634
P4 --> 2233 <= 6634
       w = 6634 + 1432 = 71066
P1 --> 2131 <= 71066
       w = 71066 + 3121 = 101187
P4 --> 0213 <= 101187
       w = 101187 + 2103 = 1212810
Request from P1 (1,1,0,0)
Request <= Need -> 1100 <= 2131
Request <= Available -> 1100 <= 3321
Allocation = Allocation + Request = 3121 + 1100 = 4221
Need = Need – Request = 2131 – 1100 = 1031
Available = Available – Request = 3321 – 1100 = 2221
Process            Allocation                Max              Work              Need
                    A B C       D       A   B C    D        A B C D              A B   C   D
       P0           2 0 0       1       4   2 1    2        2 2 2 1              2 2   1   1
       P1           4 2 2       1       5   2 5    2                             1 0   3   1
       P2           2 1 0       3       2   3 1    6                             0 2   1   3
       P3           1 3 1       2       1   4 2    4                             0 1   1   2
       P4           1 4 3       2       3   6 6    5                             2 2   3   3
                                                              Operating System
      need <= work
P0 --> 2211 <= 2221
       w = 2221 + 2001 = 4222
P1 --> 1031 <= 4222 ×
P2 --> 0213 <= 4222 ×
P3 --> 0112 <= 4222
       w = 4222 + 1312 = 5534
P4 --> 2233 <= 5534
       w = 5534 + 1432 = 6966
P1 --> 1031 <= 6966
       w = 6966 + 4221 = 101187
P4 --> 0213 <= 101187
       w = 101187 + 2103 = 1212810
Safe sequence is < P0 P3 P4 P1 P2 >
System continues to be in safe state. Request from P1 is granted.
Request from P4 (0,0,2,0)
Request <= Need -> 0020 <= 2233
Request <= Available -> 0020 <= 3321
Allocation = Allocation + Request = 1432 + 0020 = 1452
Need = Need – Request = 2233 – 0020 = 2213
Available = Available – Request = 3321 – 0020 = 3301
Process            Allocation                Max             Work          Need
                    A B C       D       A   B C    D       A B C D          A B   C   D
       P0           2 0 0       1       4   2 1    2       3 3 0 1          2 2   1   1
       P1           4 2 2       1       5   2 5    2                        1 0   3   1
       P2           2 1 0       3       2   3 1    6                        0 2   1   3
       P3           1 3 1       2       1   4 2    4                        0 1   1   2
       P4           1 4 3       2       3   6 6    5                        2 2   3   3
                                                                   Operating System
       need <= work
P0 --> 2211 <= 3301 ×
P1 --> 1031 <= 3301 ×
P2 -->0213 <= 3301 ×
P3 -->0112 <= 3301 ×
P4 --> 2213 <= 3301 ×
The request from P4 is not granted. The system is not in safe state.
Q3.
Process                             Allocation                      Max
                                        A      B   C      D            A      B       C   D
             P0                         0      1   1      2            0      0       1   2
             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
                        Available
              A                           B                    C                  D
              1                           5                    2                  0
A) What is the content of Need matrix?
B) Is the system in safe state?
C) If a request from process P1 (0,4,2,0) arrives, can it be granted?
Need = Max – Allocation
                   Process                         Need
                                                              A         B    C        D
                       P0                                     0         0    0        0
                       P1                                     0         7    5        0
                       P2                                     1         0    0        2
                       P3                                     0         0    2        0
                       P4                                     0         6    4        2
                                                           Operating System
      need <= work
P0 --> 0000 <= 1520
       w = 1520 + 0012 = 1532
P1 --> 0750 <= 1532 ×
P2 --> 1002 <= 1532
       w = 1532 + 1354 = 2886
P3 --> 0020 <= 2886
       w = 2886 + 0632 = 214118
P4 --> 0642 <= 214118
       w = 214118 + 0014 = 2141212
P1 --> 0750 <= 2141212
      w = 2141212 + 1000 = 3141212
Request from Process P1 (0,4,2,0)
Request <= Need -> 0420 <= 0750
Request <= Work -> 0420 <= 1520
Work = Work – Request = 1520 – 0420 = 1100
Allocation = Allocation + Request = 1000 + 0420 = 1420
Need = Need – Request = 0750 – 0420 = 0330
Process           Allocation                Max            Work         Need
                   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      1 1 0 0         0 0   0   0
       P1          1 4 2        0      1   7 5    0                      0 3   3   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
      need <= work
P0 --> 0000 <= 1100
       w = 1100 + 0012 = 1112
                                                              Operating System
P1 --> 0330 <= 1112 ×
P2 --> 1002 <= 1112
       w = 1112 + 1354 = 2466
P3 --> 0020 <= 2466
       w = 2466 + 0632 = 21098
P4 --> 0642 <= 21098
       w = 21098 + 0014 = 2101012
P1 --> 0750 <= 2101012
      w = 2101012 + 1420 = 3141212
Sequence is < P0 P2 P3 P4 P1 >
The safe sequence is same, so the system continues to remain in a safe state.
The request P1 (0,4,2,0) can be granted.
Q5.
Process                             Allocation                  Max
                                            A    B       C                A     B   C
            P0                              0    1       0                7     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       0                4     3   3
                        Available
                         A                           B                C
                         3                           3                2
Need = Max – Allocation
                                                 Operating System
Process                               Need
                                             A         B            C
                      P0                     7         4            3
                      P1                     1         2            2
                      P2                     6         0            0
                      P3                     0         1            1
                      P4                     4         3            3
       need <= work
P0 --> 743 <= 332 ×
P1 --> 122 <= 332
       w = 332 + 200 = 532
P2 --> 600 <= 532 ×
P3 --> 011 <= 532
       w = 532 + 211 = 743
P4 --> 433 <= 743
       w = 743 + 000 = 743
P0 --> 743 <= 743
       w = 743 + 010 = 753
P2 --> 600 <= 753
       w = 753 + 302 = 1055
Safe sequence is < P1 P3 P4 P0 P2 >
The system is in safe state.