DEADLOCKS IN OPERATING SYSTEM
“Cris
es and deadlock
s when th
ey
occur
have at
least this
advantage, that t
hey force
us to
think.”- Ja
waharlal N
ehru (1889 -
1964) Indian politi
cal le
ader
OPERATING SYSTEMPresented by :
Wajiha SiddiquiSara Ali Aisha Hameed
1. The Deadlock Problem
2. Deadlock Characterization
3. Deadlock Modeling
4. Resource Allocation Graph
5. Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock
WHAT ARE DEADLOCKS???
A set of blocked processes each
holding a resource and waiting to
acquire a resource held by another
process in the set.
o Example Process-1 requests the printer, gets it Process-2 requests the tape unit, gets it Process-1 and Process-1 requests the tape unit, waits Process-2 are Process-2 requests the printer, waits deadlocked!
FOUR CONDITIONS FOR DEADLOCKS???
1. Mutual Exclusion Condition
2. Hold & Wait Condition
3. No Preemption Condition
4. Circular Wait Condition
DEADLOCK MODELING???
Modeled with directed graphs
HOW DEADLOCKS OCCUR?
HOW DEADLOCKS CAN BE AVOIDED???
RESOURCE ALLOCATION GRAPHS???
CIRCLES represents processes
SQUARE represents classes of identical resources
SMALL SQUARES DRAWN INSIDE LARGE SQUARES Indicate separate identical resources of each class
If the resource allocation graph contains no cycles then there is no deadlock in the system at that instance.
If there is a cycle
o If there is only one instance per resource type than there is a deadlocko If there is more than once instance for some resource type than there may
or may not be a deadlock
EXAMPLE OF A RESOURCE ALLOCATION GRAPH
HOW TO HANDLE DEADLOCKS???
• Four major areas of interest in deadlock research
- Deadlock Prevention
- Deadlock Avoidance
- Deadlock Detection
- Deadlock Recovery
DEADLOCK PREVENTION???
• Prevention eliminates one of four conditions
1. Elimination Of Mutual Exclusion
2. Elimination Of Hold & Wait Condition
3. Elimination Of No Preemption Condition
4. Elimination Of Circular Wait Condition
DEADLOCK AVOIDANCE???
• Maximum requirements of
each resource must be stated
in advance by each process.
• Two Approaches
• Two Algorithmso Resource Allocation Algorithmso The Banker’s Algorithm
DEADLOCK DETECTION???
• Determines if deadlock has occurred• Identifies those processes & resources
involved in the deadlock• Algorithms can incur significant
runtime overhead
RECOVERY FROM DEADLOCKS???
• Process Terminationo Abort all deadlocked processes.o Abort one process at a time until
the deadlock cycle is eliminated.
• Resource Preemptiono Selecting a victimo Rollbacko Starvation