SlideShare uma empresa Scribd logo
1 de 31
MODERN OPERATING SYSTEMS
Third Edition
ANDREW S. TANENBAUM
Lecture 29: Chapter 6
Deadlocks
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Preemptable and Nonpreemptable
Resources
Sequence of events required to use a
resource:
1. Request the resource.
2. Use the resource.
3. Release the resource.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-1. Using a semaphore to protect resources.
(a) One resource. (b) Two resources.
Resource Acquisition (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-2. (a)
Deadlock-free
code.
Resource Acquisition (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-2. (b) Code with a
potential deadlock.
Resource Acquisition (3)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Introduction To Deadlocks
Deadlock can be defined formally as
follows:
A set of processes is deadlocked if each
process in the set is waiting for an event
that only another process in the set can
cause.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Conditions for Resource Deadlocks
1. Mutual exclusion condition
2. Hold and wait condition.
3. No preemption condition.
4. Circular wait condition.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-3. Resource allocation graphs. (a) Holding a resource.
(b) Requesting a resource. (c) Deadlock.
Deadlock Modeling (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-4. An example of how deadlock occurs
and how it can be avoided.
Deadlock Modeling (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-4. An example of how deadlock occurs
and how it can be avoided.
Deadlock Modeling (3)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-4. An example of how deadlock occurs
and how it can be avoided.
Deadlock Modeling (4)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Deadlock Modeling (5)
Strategies for dealing with deadlocks:
1. Just ignore the problem.
2. Detection and recovery. Let deadlocks
occur, detect them, take action.
3. Dynamic avoidance by careful resource
allocation.
4. Prevention, by structurally negating one
of the four required conditions.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-5. (a) A resource graph. (b) A cycle extracted from (a).
Deadlock Detection with
One Resource of Each Type (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Deadlock Detection with
One Resource of Each Type (2)
Algorithm for detecting deadlock:
1. For each node, N in the graph, perform the
following five steps with N as the starting node.
2. Initialize L to the empty list, designate all arcs
as unmarked.
3. Add current node to end of L, check to see if
node now appears in L two times. If it does,
graph contains a cycle (listed in L), algorithm
terminates.
…
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Deadlock Detection with
One Resource of Each Type (3)
4. From given node, see if any unmarked
outgoing arcs. If so, go to step 5; if not, go to
step 6.
5. Pick an unmarked outgoing arc at random and
mark it. Then follow it to the new current node
and go to step 3.
6. If this is initial node, graph does not contain any
cycles, algorithm terminates. Otherwise, dead
end. Remove it, go back to previous node,
make that one current node, go to step 3.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-6. The four data structures needed
by the deadlock detection algorithm.
Deadlock Detection with Multiple
Resources of Each Type (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Deadlock Detection with Multiple
Resources of Each Type (2)
Deadlock detection algorithm:
1. Look for an unmarked process, Pi , for which
the i-th row of R is less than or equal to A.
2. If such a process is found, add the i-th row of C
to A, mark the process, and go back to step 1.
3. If no such process exists, the algorithm
terminates.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-7. An example for the deadlock detection algorithm.
Deadlock Detection with Multiple
Resources of Each Type (3)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Recovery from Deadlock
• Recovery through preemption
• Recovery through rollback
• Recovery through killing processes
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-8. Two process resource trajectories.
Deadlock Avoidance
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-9. Demonstration that the state in (a) is safe.
Safe and Unsafe States (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-10. Demonstration that the state in (b) is not safe.
Safe and Unsafe States (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-11. Three resource allocation states:
(a) Safe. (b) Safe. (c) Unsafe.
The Banker’s Algorithm
for a Single Resource
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-12. The banker’s algorithm with multiple resources.
The Banker’s Algorithm
for Multiple Resources (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The Banker’s Algorithm
for Multiple Resources (2)
Algorithm for checking to see if a state is safe:
1. Look for row, R, whose unmet resource needs all
≤ A. If no such row exists, system will eventually
deadlock since no process can run to completion
2. Assume process of row chosen requests all resources
it needs and finishes. Mark process as terminated, add
all its resources to the A vector.
3. Repeat steps 1 and 2 until either all processes marked
terminated (initial state was safe) or no process left
whose resource needs can be met (there is a
deadlock).
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Deadlock Prevention
• Attacking the mutual exclusion condition
• Attacking the hold and wait condition
• Attacking the no preemption condition
• Attacking the circular wait condition
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-13. (a) Numerically ordered resources.
(b) A resource graph.
Attacking the
Circular Wait Condition
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-14. Summary of approaches to deadlock prevention.
Approaches to Deadlock Prevention
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Other Issues
• Two-phase locking
• Communication deadlocks
• Livelock
• Starvation
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-15. A resource deadlock in a network.
Communication Deadlocks
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 6-16. Busy waiting that can lead to livelock.
Livelock
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Mais conteúdo relacionado

Mais procurados

Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Ra'Fat Al-Msie'deen
 
Process synchronization
Process synchronizationProcess synchronization
Process synchronizationAli Ahmad
 
Operating System Deadlock Galvin
Operating System  Deadlock GalvinOperating System  Deadlock Galvin
Operating System Deadlock GalvinSonali Chauhan
 
deadlock avoidance
deadlock avoidancedeadlock avoidance
deadlock avoidancewahab13
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)Prakhar Maurya
 
Dead Lock in operating system
Dead Lock in operating systemDead Lock in operating system
Dead Lock in operating systemAli Haider
 
Chapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryChapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryWayne Jones Jnr
 
Deadlock Avoidance - OS
Deadlock Avoidance - OSDeadlock Avoidance - OS
Deadlock Avoidance - OSMsAnita2
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-pptraj732723
 
clock synchronization in Distributed System
clock synchronization in Distributed System clock synchronization in Distributed System
clock synchronization in Distributed System Harshita Ved
 
Methods for handling deadlock
Methods for handling deadlockMethods for handling deadlock
Methods for handling deadlocksangrampatil81
 
Operating System-Process Scheduling
Operating System-Process SchedulingOperating System-Process Scheduling
Operating System-Process SchedulingShipra Swati
 

Mais procurados (20)

System call
System callSystem call
System call
 
Deadlock
DeadlockDeadlock
Deadlock
 
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
 
Process synchronization
Process synchronizationProcess synchronization
Process synchronization
 
Operating System Deadlock Galvin
Operating System  Deadlock GalvinOperating System  Deadlock Galvin
Operating System Deadlock Galvin
 
deadlock avoidance
deadlock avoidancedeadlock avoidance
deadlock avoidance
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
 
Dead Lock in operating system
Dead Lock in operating systemDead Lock in operating system
Dead Lock in operating system
 
Chapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryChapter 9 - Virtual Memory
Chapter 9 - Virtual Memory
 
Deadlock Avoidance - OS
Deadlock Avoidance - OSDeadlock Avoidance - OS
Deadlock Avoidance - OS
 
Chapter 8 - Main Memory
Chapter 8 - Main MemoryChapter 8 - Main Memory
Chapter 8 - Main Memory
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt
 
System call
System callSystem call
System call
 
clock synchronization in Distributed System
clock synchronization in Distributed System clock synchronization in Distributed System
clock synchronization in Distributed System
 
System calls
System callsSystem calls
System calls
 
Deadlock
DeadlockDeadlock
Deadlock
 
Methods for handling deadlock
Methods for handling deadlockMethods for handling deadlock
Methods for handling deadlock
 
Operating System-Process Scheduling
Operating System-Process SchedulingOperating System-Process Scheduling
Operating System-Process Scheduling
 
Semaphore
SemaphoreSemaphore
Semaphore
 
CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2
 

Semelhante a Deadlocks in operating system

chapter3 memory ugcs.pdf
chapter3 memory ugcs.pdfchapter3 memory ugcs.pdf
chapter3 memory ugcs.pdfSangeethaBS4
 
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...DuongMinhTanK16HCM
 
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...DuongMinhTanK16HCM
 
Processes, Threads and Scheduler
Processes, Threads and SchedulerProcesses, Threads and Scheduler
Processes, Threads and SchedulerMunazza-Mah-Jabeen
 
Towards a good abs design for more Reliable vehicles on the roads
Towards a good abs design for more Reliable vehicles on the roadsTowards a good abs design for more Reliable vehicles on the roads
Towards a good abs design for more Reliable vehicles on the roadsijcsit
 
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...Power System Operation
 
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...Power System Operation
 
Chapter 03
Chapter 03Chapter 03
Chapter 03 Google
 
Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’Alexander Decker
 

Semelhante a Deadlocks in operating system (20)

Security
SecuritySecurity
Security
 
chapter3 memory ugcs.pdf
chapter3 memory ugcs.pdfchapter3 memory ugcs.pdf
chapter3 memory ugcs.pdf
 
Scheduling
SchedulingScheduling
Scheduling
 
Processes and Threads
Processes and ThreadsProcesses and Threads
Processes and Threads
 
ODVSML_Presentation
ODVSML_PresentationODVSML_Presentation
ODVSML_Presentation
 
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
 
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
vdocument.in_modern-operating-systems-third-edition-andrew-s-tanenbaum-chapte...
 
Processes, Threads and Scheduler
Processes, Threads and SchedulerProcesses, Threads and Scheduler
Processes, Threads and Scheduler
 
tan2.ppt
tan2.ppttan2.ppt
tan2.ppt
 
Towards a good abs design for more Reliable vehicles on the roads
Towards a good abs design for more Reliable vehicles on the roadsTowards a good abs design for more Reliable vehicles on the roads
Towards a good abs design for more Reliable vehicles on the roads
 
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
 
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
Data-Driven Security Assessment of Power Grids Based on Machine Learning Appr...
 
A petri-net
A petri-netA petri-net
A petri-net
 
Deadlocks
Deadlocks Deadlocks
Deadlocks
 
Uv CBPSD lab
Uv CBPSD labUv CBPSD lab
Uv CBPSD lab
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Distributed Computing
Distributed ComputingDistributed Computing
Distributed Computing
 
361
361361
361
 
Deadlock
DeadlockDeadlock
Deadlock
 
Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Deadlocks in operating system

  • 1. MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Lecture 29: Chapter 6 Deadlocks Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 2. Preemptable and Nonpreemptable Resources Sequence of events required to use a resource: 1. Request the resource. 2. Use the resource. 3. Release the resource. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 3. Figure 6-1. Using a semaphore to protect resources. (a) One resource. (b) Two resources. Resource Acquisition (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 4. Figure 6-2. (a) Deadlock-free code. Resource Acquisition (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 5. Figure 6-2. (b) Code with a potential deadlock. Resource Acquisition (3) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 6. Introduction To Deadlocks Deadlock can be defined formally as follows: A set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 7. Conditions for Resource Deadlocks 1. Mutual exclusion condition 2. Hold and wait condition. 3. No preemption condition. 4. Circular wait condition. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 8. Figure 6-3. Resource allocation graphs. (a) Holding a resource. (b) Requesting a resource. (c) Deadlock. Deadlock Modeling (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 9. Figure 6-4. An example of how deadlock occurs and how it can be avoided. Deadlock Modeling (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 10. Figure 6-4. An example of how deadlock occurs and how it can be avoided. Deadlock Modeling (3) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 11. Figure 6-4. An example of how deadlock occurs and how it can be avoided. Deadlock Modeling (4) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 12. Deadlock Modeling (5) Strategies for dealing with deadlocks: 1. Just ignore the problem. 2. Detection and recovery. Let deadlocks occur, detect them, take action. 3. Dynamic avoidance by careful resource allocation. 4. Prevention, by structurally negating one of the four required conditions. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 13. Figure 6-5. (a) A resource graph. (b) A cycle extracted from (a). Deadlock Detection with One Resource of Each Type (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 14. Deadlock Detection with One Resource of Each Type (2) Algorithm for detecting deadlock: 1. For each node, N in the graph, perform the following five steps with N as the starting node. 2. Initialize L to the empty list, designate all arcs as unmarked. 3. Add current node to end of L, check to see if node now appears in L two times. If it does, graph contains a cycle (listed in L), algorithm terminates. … Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 15. Deadlock Detection with One Resource of Each Type (3) 4. From given node, see if any unmarked outgoing arcs. If so, go to step 5; if not, go to step 6. 5. Pick an unmarked outgoing arc at random and mark it. Then follow it to the new current node and go to step 3. 6. If this is initial node, graph does not contain any cycles, algorithm terminates. Otherwise, dead end. Remove it, go back to previous node, make that one current node, go to step 3. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 16. Figure 6-6. The four data structures needed by the deadlock detection algorithm. Deadlock Detection with Multiple Resources of Each Type (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 17. Deadlock Detection with Multiple Resources of Each Type (2) Deadlock detection algorithm: 1. Look for an unmarked process, Pi , for which the i-th row of R is less than or equal to A. 2. If such a process is found, add the i-th row of C to A, mark the process, and go back to step 1. 3. If no such process exists, the algorithm terminates. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 18. Figure 6-7. An example for the deadlock detection algorithm. Deadlock Detection with Multiple Resources of Each Type (3) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 19. Recovery from Deadlock • Recovery through preemption • Recovery through rollback • Recovery through killing processes Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 20. Figure 6-8. Two process resource trajectories. Deadlock Avoidance Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 21. Figure 6-9. Demonstration that the state in (a) is safe. Safe and Unsafe States (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 22. Figure 6-10. Demonstration that the state in (b) is not safe. Safe and Unsafe States (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 23. Figure 6-11. Three resource allocation states: (a) Safe. (b) Safe. (c) Unsafe. The Banker’s Algorithm for a Single Resource Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 24. Figure 6-12. The banker’s algorithm with multiple resources. The Banker’s Algorithm for Multiple Resources (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 25. The Banker’s Algorithm for Multiple Resources (2) Algorithm for checking to see if a state is safe: 1. Look for row, R, whose unmet resource needs all ≤ A. If no such row exists, system will eventually deadlock since no process can run to completion 2. Assume process of row chosen requests all resources it needs and finishes. Mark process as terminated, add all its resources to the A vector. 3. Repeat steps 1 and 2 until either all processes marked terminated (initial state was safe) or no process left whose resource needs can be met (there is a deadlock). Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 26. Deadlock Prevention • Attacking the mutual exclusion condition • Attacking the hold and wait condition • Attacking the no preemption condition • Attacking the circular wait condition Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 27. Figure 6-13. (a) Numerically ordered resources. (b) A resource graph. Attacking the Circular Wait Condition Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 28. Figure 6-14. Summary of approaches to deadlock prevention. Approaches to Deadlock Prevention Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 29. Other Issues • Two-phase locking • Communication deadlocks • Livelock • Starvation Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 30. Figure 6-15. A resource deadlock in a network. Communication Deadlocks Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 31. Figure 6-16. Busy waiting that can lead to livelock. Livelock Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639