SlideShare a Scribd company logo
6
Most read
7
Most read
8
Most read
Deadlock in Operating System
By
Mrs.R.SABITHA .,M.Sc.,M.Phil.,
Assistant Professor,
Department of Computer Science(SF)
V.V.Vanniaperumal College for Women,
Virudhunagar.
Contents
 System Model
 Deadlock Characterization
 Methods for Handling Deadlocks
 Deadlock Prevention
 Deadlock Avoidance
 Deadlock Detection
Problem of Deadlock
• A set of blocked processes each holding a resource and waiting to
acquire a resource held by another process in the set.
• Example
– System has 2 disk drives.
– P1 and P2 each hold one disk drive and each needs another one.
• Example
– semaphores A and B, initialized to 1
P0 P1
wait (A); wait(B)
wait (B); wait(A)
Bridge Crossing Example
• Traffic only in one direction.
• Each section of a bridge can be viewed as a resource.
• If a deadlock occurs, it can be resolved if one car backs up (preempt
resources and rollback).
• Several cars may have to be backed up if a deadlock occurs.
• Starvation is possible.
System Model
• 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
Deadlock Characterization
Deadlock can arise if four conditions hold simultaneously.
• Mutual exclusion: only one process at a time can use a resource.
• Hold and wait: a process holding at least one resource is waiting to acquire additional
resources held by other processes.
• No preemption: a resource can be released only voluntarily by the process holding it, after
that process has completed its task.
• Circular wait: there exists a set {P0, P1, …, P0} of waiting processes such that P0 is waiting
for a resource that is held by P1, P1 is waiting for a resource that is held by
P2, …, Pn–1 is waiting for a resource that is held by
Pn, and P0 is waiting for a resource that is held by P0.
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.
– R = {R1, R2, …, Rm}, the set consisting of all resource
types in the system.
• request edge – directed edge P1  Rj
• assignment edge – directed edge Rj  Pi
Resource-Allocation Graph
• Process
• Resource Type with 4 instances
• Pi requests instance of Rj
• Pi is holding an instance of Rj
Pi
Pi
Example
Resource Allocation Graph With A Deadlock
Graph With A Cycle But No Deadlock
Basic Facts
• If graph contains no cycles  no deadlock.
• If graph contains a cycle 
– if only one instance per resource type, then
deadlock.
– if several instances per resource type, possibility of
deadlock.
Methods for Handling Deadlocks
• Deadlock Prevention
- Ensure that the system will never enter
a deadlock state.
Deadlock Avoidance
-Allow the system to enter a deadlock
state and then recover.
Deadlock Detection
-Ignore the problem and pretend that deadlocks never
occur in the system
Deadlock Avoidance
• Simplest and most useful model requires that each
process declare the maximum number of resources of
each type that it may need.
• The deadlock-avoidance algorithm dynamically examines
the resource-allocation state to ensure that there can
never be a circular-wait condition.
• Resource-allocation state is defined by the number of
available and allocated resources, and the maximum
demands of the processes.
Safe State
• System is in safe state if there exists a sequence <P1, P2, …, Pn>
of ALL the processes is the systems such that for each Pi, the
resources that Pi can still request can be satisfied by currently
available resources + resources held by all the Pj, with j < i.
• 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.
Basic Facts
• If a system is in safe state  no deadlocks.
• If a system is in unsafe state  possibility of
deadlock.
• Avoidance  ensure that a system will never
enter an unsafe state
Safe, Unsafe , Deadlock State
• Multiple instances.
• Each process must a priori claim maximum use.
• When a process requests a resource it may have
to wait.
• When a process gets all its resources it must
return them in a finite amount of time
Banker’s Algorithm
Steps for Banker’s Algorithm
Let n = number of processes, and m = number of resources types.
• Available: Vector of length m. If available [j] = k, there are k
instances of resource type Rj available.
• Max: n x m matrix. If Max [i,j] = k, then process Pi may request
at most k instances of resource type Rj.
• Allocation: n x m matrix. If Allocation[i,j] = k then Pi is currently
allocated k instances of Rj.
• Need: n x m matrix. If Need[i,j] = k, then Pi may need k more
instances of Rj to complete its task.
Need [i,j] = Max[i,j] – Allocation [i,j].
Resource-Request Algorithm for Process Pi
Request = request vector for process Pi. If Requesti [j] = k then
process Pi wants k instances of resource type Rj.
1. If Requesti  Needi go to step 2. Otherwise, raise error condition,
since process has exceeded its maximum claim.
2. If Requesti  Available, go to step 3. Otherwise Pi must wait, since
resources are not available.
3. Pretend to allocate requested resources to Pi by modifying the
state as follows:
Available = Available – Request;
Allocationi = Allocationi + Requesti;
Needi = Needi – Requesti;
 If safe  the resources are allocated to Pi.
 If unsafe  Pi must wait, and the old resource-allocation state is restored
Example of Banker’s Algorithm
• 5 processes P0 through P4;
3 resource types:
A (10 instances), B (5instances), and C (7 instances).
• Snapshot at time T0:
Allocation Max Available
A B C A B C A B C
P0 0 1 0 7 5 3 3 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 2 4 3 3
Example
• The content of the matrix Need is defined to be Max – Allocation.
Need
A B C
P0 7 4 3
P1 1 2 2
P2 6 0 0
P3 0 1 1
P4 4 3 1
• The system is in a safe state since the sequence < P1, P3, P4, P2, P0> satisfies
safety criteria.
Recovery from Deadlock: Process
Termination
• Abort all deadlocked processes.
• Abort one process at a time until the deadlock cycle is eliminated.
• Selecting a victim – minimize cost.
• Rollback – return to some safe state, restart process for that state.
• Starvation – same process may always be picked as victim,
include number of rollback in cost factor
Thank You

More Related Content

PPT
14th November - Deadlock Prevention, Avoidance.ppt
PPT
Deadlock
PPT
deadlock part5 unit 2.ppt
PPT
Ch07 deadlocks
PDF
Ch7 deadlocks
PPTX
Deadlock in Real Time operating Systempptx
PPTX
deadlocks.pptx
14th November - Deadlock Prevention, Avoidance.ppt
Deadlock
deadlock part5 unit 2.ppt
Ch07 deadlocks
Ch7 deadlocks
Deadlock in Real Time operating Systempptx
deadlocks.pptx

Similar to Deadlock in Operating SystemSystem Model Deadlock Characterization (20)

PPTX
Chapter 6 - Operating System Deadlock.pptx
PPT
Lecture 8 - Memory Management. It deals with memory management
PPT
Deadlock in software engineering for beginners.ppt
PPTX
6. Deadlock_1640227623705.pptx
PDF
Deadlocks Part- II.pdf
PPTX
OS - Unit 3 Deadlock (Bankers Algorithm).pptx
PPT
DeadlockMar21.ppt.....................................
PPT
Chapter 7 - Deadlocks
PPTX
Module 3 Deadlocks.pptx
PDF
deadlocks for Engenerring for he purpose
PPT
PPT
Deadlock principles in operating systems
PDF
7 Deadlocks
PPT
PPT
DeadlockMar21.ppt
PDF
deadlock.pdfdkfglknalkdnglqgjlejgooooo;o
PDF
CH07.pdf
PPTX
Methods for handling deadlock
PPT
Ch8 OS
 
Chapter 6 - Operating System Deadlock.pptx
Lecture 8 - Memory Management. It deals with memory management
Deadlock in software engineering for beginners.ppt
6. Deadlock_1640227623705.pptx
Deadlocks Part- II.pdf
OS - Unit 3 Deadlock (Bankers Algorithm).pptx
DeadlockMar21.ppt.....................................
Chapter 7 - Deadlocks
Module 3 Deadlocks.pptx
deadlocks for Engenerring for he purpose
Deadlock principles in operating systems
7 Deadlocks
DeadlockMar21.ppt
deadlock.pdfdkfglknalkdnglqgjlejgooooo;o
CH07.pdf
Methods for handling deadlock
Ch8 OS
 
Ad

More from SABITHARASSISTANTPRO (8)

PPTX
Normal forms in DBMS1st Normal Form 2nd Normal Form 3rd Normal Form
PPTX
WEB PROGRAMMING.Introduction to HTML Heading Tags Formatting Tags
PPTX
Deadlock in Operating system concept, Types of Deadlock
PPTX
Database Normalization - First, second and Third Normal Forms with an example
PPTX
Database Management System DBMS -SQL queries
PPT
Digital Signature.ppt
PPTX
APRIORI ALGORITHM -PPT.pptx
PPT
AVL tree animation.ppt
Normal forms in DBMS1st Normal Form 2nd Normal Form 3rd Normal Form
WEB PROGRAMMING.Introduction to HTML Heading Tags Formatting Tags
Deadlock in Operating system concept, Types of Deadlock
Database Normalization - First, second and Third Normal Forms with an example
Database Management System DBMS -SQL queries
Digital Signature.ppt
APRIORI ALGORITHM -PPT.pptx
AVL tree animation.ppt
Ad

Recently uploaded (20)

PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Business Ethics Teaching Materials for college
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Cell Types and Its function , kingdom of life
PDF
Classroom Observation Tools for Teachers
PDF
Complications of Minimal Access Surgery at WLH
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Basic Mud Logging Guide for educational purpose
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
VCE English Exam - Section C Student Revision Booklet
Business Ethics Teaching Materials for college
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPH.pptx obstetrics and gynecology in nursing
01-Introduction-to-Information-Management.pdf
Cell Types and Its function , kingdom of life
Classroom Observation Tools for Teachers
Complications of Minimal Access Surgery at WLH
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
human mycosis Human fungal infections are called human mycosis..pptx
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Pharma ospi slides which help in ospi learning
Basic Mud Logging Guide for educational purpose
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?

Deadlock in Operating SystemSystem Model Deadlock Characterization

  • 1. Deadlock in Operating System By Mrs.R.SABITHA .,M.Sc.,M.Phil., Assistant Professor, Department of Computer Science(SF) V.V.Vanniaperumal College for Women, Virudhunagar.
  • 2. Contents  System Model  Deadlock Characterization  Methods for Handling Deadlocks  Deadlock Prevention  Deadlock Avoidance  Deadlock Detection
  • 3. Problem of Deadlock • A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. • Example – System has 2 disk drives. – P1 and P2 each hold one disk drive and each needs another one. • Example – semaphores A and B, initialized to 1 P0 P1 wait (A); wait(B) wait (B); wait(A)
  • 4. Bridge Crossing Example • Traffic only in one direction. • Each section of a bridge can be viewed as a resource. • If a deadlock occurs, it can be resolved if one car backs up (preempt resources and rollback). • Several cars may have to be backed up if a deadlock occurs. • Starvation is possible.
  • 5. System Model • 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
  • 6. Deadlock Characterization Deadlock can arise if four conditions hold simultaneously. • Mutual exclusion: only one process at a time can use a resource. • Hold and wait: a process holding at least one resource is waiting to acquire additional resources held by other processes. • No preemption: a resource can be released only voluntarily by the process holding it, after that process has completed its task. • Circular wait: there exists a set {P0, P1, …, P0} of waiting processes such that P0 is waiting for a resource that is held by P1, P1 is waiting for a resource that is held by P2, …, Pn–1 is waiting for a resource that is held by Pn, and P0 is waiting for a resource that is held by P0.
  • 7. 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. – R = {R1, R2, …, Rm}, the set consisting of all resource types in the system. • request edge – directed edge P1  Rj • assignment edge – directed edge Rj  Pi
  • 8. Resource-Allocation Graph • Process • Resource Type with 4 instances • Pi requests instance of Rj • Pi is holding an instance of Rj Pi Pi
  • 10. Resource Allocation Graph With A Deadlock
  • 11. Graph With A Cycle But No Deadlock
  • 12. Basic Facts • If graph contains no cycles  no deadlock. • If graph contains a cycle  – if only one instance per resource type, then deadlock. – if several instances per resource type, possibility of deadlock.
  • 13. Methods for Handling Deadlocks • Deadlock Prevention - Ensure that the system will never enter a deadlock state. Deadlock Avoidance -Allow the system to enter a deadlock state and then recover. Deadlock Detection -Ignore the problem and pretend that deadlocks never occur in the system
  • 14. Deadlock Avoidance • Simplest and most useful model requires that each process declare the maximum number of resources of each type that it may need. • The deadlock-avoidance algorithm dynamically examines the resource-allocation state to ensure that there can never be a circular-wait condition. • Resource-allocation state is defined by the number of available and allocated resources, and the maximum demands of the processes.
  • 15. Safe State • System is in safe state if there exists a sequence <P1, P2, …, Pn> of ALL the processes is the systems such that for each Pi, the resources that Pi can still request can be satisfied by currently available resources + resources held by all the Pj, with j < i. • 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.
  • 16. Basic Facts • If a system is in safe state  no deadlocks. • If a system is in unsafe state  possibility of deadlock. • Avoidance  ensure that a system will never enter an unsafe state
  • 17. Safe, Unsafe , Deadlock State
  • 18. • Multiple instances. • Each process must a priori claim maximum use. • When a process requests a resource it may have to wait. • When a process gets all its resources it must return them in a finite amount of time Banker’s Algorithm
  • 19. Steps for Banker’s Algorithm Let n = number of processes, and m = number of resources types. • Available: Vector of length m. If available [j] = k, there are k instances of resource type Rj available. • Max: n x m matrix. If Max [i,j] = k, then process Pi may request at most k instances of resource type Rj. • Allocation: n x m matrix. If Allocation[i,j] = k then Pi is currently allocated k instances of Rj. • Need: n x m matrix. If Need[i,j] = k, then Pi may need k more instances of Rj to complete its task. Need [i,j] = Max[i,j] – Allocation [i,j].
  • 20. Resource-Request Algorithm for Process Pi Request = request vector for process Pi. If Requesti [j] = k then process Pi wants k instances of resource type Rj. 1. If Requesti  Needi go to step 2. Otherwise, raise error condition, since process has exceeded its maximum claim. 2. If Requesti  Available, go to step 3. Otherwise Pi must wait, since resources are not available. 3. Pretend to allocate requested resources to Pi by modifying the state as follows: Available = Available – Request; Allocationi = Allocationi + Requesti; Needi = Needi – Requesti;  If safe  the resources are allocated to Pi.  If unsafe  Pi must wait, and the old resource-allocation state is restored
  • 21. Example of Banker’s Algorithm • 5 processes P0 through P4; 3 resource types: A (10 instances), B (5instances), and C (7 instances). • Snapshot at time T0: Allocation Max Available A B C A B C A B C P0 0 1 0 7 5 3 3 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 2 4 3 3
  • 22. Example • The content of the matrix Need is defined to be Max – Allocation. Need A B C P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1 • The system is in a safe state since the sequence < P1, P3, P4, P2, P0> satisfies safety criteria.
  • 23. Recovery from Deadlock: Process Termination • Abort all deadlocked processes. • Abort one process at a time until the deadlock cycle is eliminated. • Selecting a victim – minimize cost. • Rollback – return to some safe state, restart process for that state. • Starvation – same process may always be picked as victim, include number of rollback in cost factor