Professional Documents
Culture Documents
Operating System Concepts 9th Edition Silberschatz, Galvin and Gagne 2013
Chapter 7: Deadlocks
System Model
Deadlock Characterization
Methods for Handling Deadlocks
Deadlock Prevention
Deadlock Avoidance
Deadlock Detection
Recovery from Deadlock
Operating System Concepts 9th Edition 7.2 Silberschatz, Galvin and Gagne 2013
Chapter Objectives
Operating System Concepts 9th Edition 7.3 Silberschatz, Galvin and Gagne 2013
System Model
System consists of resources
Resource types R1, R2, . . ., Rm
CPU cycles, memory space, I/O devices
Each resource type Ri has Wi instances.
Each process utilizes a resource as follows:
request
use
release
Operating System Concepts 9th Edition 7.4 Silberschatz, Galvin and Gagne 2013
Deadlock Characterization
Deadlock can arise if four conditions hold simultaneously.
Operating System Concepts 9th Edition 7.5 Silberschatz, Galvin and Gagne 2013
Resource-Allocation Graph
A set of vertices V and a set of edges E.
V is partitioned into two types:
P = {P1, P2, , Pn}, the set consisting of all the processes
in the system
Operating System Concepts 9th Edition 7.6 Silberschatz, Galvin and Gagne 2013
Resource-Allocation Graph (Cont.)
Process
Pi requests instance of Rj
Pi
Rj
Pi is holding an instance of Rj
Pi
Rj
Operating System Concepts 9th Edition 7.7 Silberschatz, Galvin and Gagne 2013
Methods for Handling Deadlocks
Operating System Concepts 9th Edition 7.8 Silberschatz, Galvin and Gagne 2013
Safe State
That is:
If Pi resource needs are not immediately available, then Pi can
wait until all Pj have finished
When Pj is finished, Pi can obtain needed resources, execute,
return allocated resources, and terminate
When Pi terminates, Pi +1 can obtain its needed resources, and
so on
Operating System Concepts 9th Edition 7.9 Silberschatz, Galvin and Gagne 2013
Basic Facts
Operating System Concepts 9th Edition 7.10 Silberschatz, Galvin and Gagne 2013
Avoidance Algorithms
Operating System Concepts 9th Edition 7.11 Silberschatz, Galvin and Gagne 2013
Resource-Allocation Graph Scheme
Claim edge Pi Rj indicated that process Pj may request
resource Rj; represented by a dashed line
Claim edge converts to request edge when a process requests
a resource
Request edge converted to an assignment edge when the
resource is allocated to the process
When a resource is released by a process, assignment edge
reconverts to a claim edge
Resources must be claimed a priori in the system
Operating System Concepts 9th Edition 7.12 Silberschatz, Galvin and Gagne 2013
Bankers Algorithm
Multiple instances
Operating System Concepts 9th Edition 7.13 Silberschatz, Galvin and Gagne 2013
Data Structures for the Bankers Algorithm
Operating System Concepts 9th Edition 7.14 Silberschatz, Galvin and Gagne 2013
Resource-Request Algorithm for Process Pi
Operating System Concepts 9th Edition 7.15 Silberschatz, Galvin and Gagne 2013
Example of Bankers Algorithm
Operating System Concepts 9th Edition 7.16 Silberschatz, Galvin and Gagne 2013
Example (Cont.)
The content of the matrix Need is defined to be Max Allocation
Need
ABC
P0 743
P1 122
P2 600
P3 011
P4 431
The system is in a safe state since the sequence < P1, P3, P4, P2, P0>
satisfies safety criteria
Operating System Concepts 9th Edition 7.17 Silberschatz, Galvin and Gagne 2013
Example: P1 Request (1,0,2)
Check that Request Available (that is, (1,0,2) (3,3,2) true
Allocation Need Available
ABC ABC ABC
P0 010 743 230
P1 302 020
P2 302 600
P3 211 011
P4 002 431
Executing safety algorithm shows that sequence < P1, P3, P4, P0, P2>
satisfies safety requirement
Operating System Concepts 9th Edition 7.18 Silberschatz, Galvin and Gagne 2013
Deadlock Detection
Detection algorithm
Recovery scheme
Operating System Concepts 9th Edition 7.19 Silberschatz, Galvin and Gagne 2013
Detection-Algorithm Usage
When, and how often, to invoke depends on:
How often a deadlock is likely to occur?
How many processes will need to be rolled back?
one for each disjoint cycle
Operating System Concepts 9th Edition 7.20 Silberschatz, Galvin and Gagne 2013
Recovery from Deadlock: Process Termination
Operating System Concepts 9th Edition 7.21 Silberschatz, Galvin and Gagne 2013
Recovery from Deadlock: Resource Preemption
Operating System Concepts 9th Edition 7.22 Silberschatz, Galvin and Gagne 2013
End of Chapter 7
Operating System Concepts 9th Edition Silberschatz, Galvin and Gagne 2013