Deadlock-2
Deadlock-2
Deadlock A
R S
B
Deadlock Modeling (1)
Figure 6-5. (a) A resource graph. (b) A cycle extracted from (a).
Recovery from Deadlock
• Recovery through preemption
– Example: snatch the printer from the process A, give it to process B. Process B
completes. Return the printer to process A. Process A completes.
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
_______
Total: 7 2 5
Safe order/sequence: ???
Banker's Example
Calculate Need Matrix ?
Formula = Max – Allocation
Allocation Max Available Need
A B C A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2 7 4 3
P1 2 0 0 3 2 2 1 2 2
P2 3 0 2 9 0 2 6 0 0
P3 2 1 1 2 2 2 0 1 1
P4 0 0 2 4 3 3 4 3 1
_______
Total: 7 2 5
Safe order/sequence: ???
Banker's Example
Allocation Max Available Need
A B C A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2 7 4 3
P1 2 0 0 3 2 2 1 2 2
P2 3 0 2 9 0 2 6 0 0
P3 2 1 1 2 2 2 0 1 1
P4 0 0 2 4 3 3 4 3 1
_______
Total: 7 2 5
Safe order/sequence:
Banker's Example
Allocation Max Available Need
A B C A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2 7 4 3
P1 2 0 0 3 2 2 5 3 2 1 2 2
P2 3 0 2 9 0 2 6 0 0
P3 2 1 1 2 2 2 0 1 1
P4 0 0 2 4 3 3 4 3 1
_______
Total: 7 2 5
Safe order/sequence: P1
Banker's Example
Allocation Max Available Need
A B C A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2 7 4 3
P1 2 0 0 3 2 2 5 3 2 1 2 2
P2 3 0 2 9 0 2 6 0 0
P3 2 1 1 2 2 2 0 1 1
P4 0 0 2 4 3 3 4 3 1
_______
Total: 7 2 5
Safe order/sequence: P1
Banker's Example
Allocation Max Available Need
A B C A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2 7 4 3
P1 2 0 0 3 2 2 5 3 2 1 2 2
P2 3 0 2 9 0 2 7 4 3 6 0 0
P3 2 1 1 2 2 2 0 1 1
P4 0 0 2 4 3 3 4 3 1
_______
Total: 7 2 5
If granting the request leads to an unsafe state, the request is denied, else accepted
.