SlideShare a Scribd company logo
1 of 33
Process
Synchronization
Process Synchronization
It is a mechanism to ensure a systematic sharing of
resources among concurrent processes.
In some operating systems, processes that are
working together may share some common storage
that each one can read and write.
The shared storage may be in main memory or it may
be a shared file
Race
Condition
Race Condition
Printer Spooler Example
 When a process wants to print a file, it enters the file
name in a special spooler directory. Another process, the
printer daemon, periodically checks to see if so are any
files to be printed, and if so removes their names from the
directory.
 Spooler directory has a large number of slots, numbered
0, 1, 2, ..., each one capable of holding a file name. Also
imagine that there are two shared variables, out, which
points to the next file to be printed, and in, which points
to the next free slot in the directory.
Race Condition
Printer Spooler Example
Critical Section
Printer Spooler Example
 That part of the program where the shared memory is
accessed is called the critical region or critical section.
 If we could arrange matters such that no two processes
were ever in their critical regions at the same time, we
could avoid race conditions.
Critical Section
We need four conditions to hold to have a good
solution:
 No two processes may be simultaneously inside their
critical regions.
 No assumptions may be made about speeds or the
number of CPUs.
 No process running outside its critical region may block
other processes.
 No process should have to wait forever to enter its critical
region.
Deadlocks
Deadlocks
 System Model
 Deadlock Characterization
 Methods for Handling Deadlocks
Deadlock Prevention
 Deadlock Avoidance
 Deadlock Detection
 Recovery from Deadlock
Chapter Objectives
To develop a description of deadlocks, which prevent
sets of concurrent processes from completing their
tasks
To present a number of different methods for
preventing or avoiding deadlocks in a computer
system
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
Deadlock Characterization
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, …, Pn} 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 Pn 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 Pi  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
Rj
Rj
Resource Allocation Graph
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
Ensure that the system will never enter a deadlock state:
Deadlock prevention
Deadlock avoidance
Allow the system to enter a deadlock state and then
recover.
Ignore the problem and pretend that deadlocks never
occur in the system; used by most operating systems,
including UNIX.
Deadlock Prevention
Mutual Exclusion – not required for sharable resources
(e.g., read-only files); must hold for non-sharable
resources
Hold and Wait – must guarantee that whenever a
process requests a resource, it does not hold any other
resources
Require process to request and be allocated all its
resources before it begins execution, or allow process
to request resources only when the process has none
allocated to it.
Low resource utilization; starvation possible
Deadlock Prevention
No Preemption –
If a process that is holding some resources requests
another resource that cannot be immediately allocated
to it, then all resources currently being held are
released
Preempted resources are added to the list of resources
for which the process is waiting
Process will be restarted only when it can regain its old
resources, as well as the new ones that it is requesting
Circular Wait – impose a total ordering of all resource
types, and require that each process requests resources in
an increasing order of enumeration
Deadlock Avoidance
Requires that the system has some additional a
priori information available
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
 When a process requests an available resource, system must
decide if immediate allocation leaves the system in a safe state
 System is in safe state if there exists a sequence <P1, P2, …, Pn>
of ALL the processes in 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
Avoidance Algorithms
Single instance of a resource type
Use a resource-allocation graph
Multiple instances of a resource type
 Use the banker’s algorithm
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
Resource-Allocation Graph
Unsafe State In Resource-
Allocation Graph
Resource-Allocation Graph
Algorithm
Suppose that process Pi requests a resource Rj.
The request can be granted only if converting the
request edge to an assignment edge does not result
in the formation of a cycle in the resource allocation
graph.
Recovery from Deadlock:
Process Termination
Abort all deadlocked processes
Abort one process at a time until the deadlock cycle
is eliminated
In which order should we choose to abort?
1. Priority of the process
2. How long process has computed, and how much
longer to completion
3. Resources the process has used
4. Resources process needs to complete
5. How many processes will need to be terminated
6. Is process interactive or batch?
Recovery from Deadlock:
Resource Preemption
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

More Related Content

Similar to Deadlock.ppt

Similar to Deadlock.ppt (20)

Mca ii os u-3 dead lock & io systems
Mca  ii  os u-3 dead lock & io systemsMca  ii  os u-3 dead lock & io systems
Mca ii os u-3 dead lock & io systems
 
Ch8 OS
Ch8 OSCh8 OS
Ch8 OS
 
CH07.pdf
CH07.pdfCH07.pdf
CH07.pdf
 
Ch7 deadlocks
Ch7   deadlocksCh7   deadlocks
Ch7 deadlocks
 
Os unit 4
Os unit 4Os unit 4
Os unit 4
 
deadlocks.pptx
deadlocks.pptxdeadlocks.pptx
deadlocks.pptx
 
OS UNIT3.pptx
OS UNIT3.pptxOS UNIT3.pptx
OS UNIT3.pptx
 
Gp1242 007 oer ppt
Gp1242 007 oer pptGp1242 007 oer ppt
Gp1242 007 oer ppt
 
Deadlocks 160928121516-160928183232
Deadlocks 160928121516-160928183232Deadlocks 160928121516-160928183232
Deadlocks 160928121516-160928183232
 
Sucet os module_3_notes
Sucet os module_3_notesSucet os module_3_notes
Sucet os module_3_notes
 
Chapter 7 - Deadlocks
Chapter 7 - DeadlocksChapter 7 - Deadlocks
Chapter 7 - Deadlocks
 
Deadlock
DeadlockDeadlock
Deadlock
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Deadlock and Banking Algorithm
Deadlock and Banking AlgorithmDeadlock and Banking Algorithm
Deadlock and Banking Algorithm
 
Deadlock- System model, resource types, deadlock problem, deadlock characteri...
Deadlock- System model, resource types, deadlock problem, deadlock characteri...Deadlock- System model, resource types, deadlock problem, deadlock characteri...
Deadlock- System model, resource types, deadlock problem, deadlock characteri...
 
Ice
IceIce
Ice
 
OS 7.pptx
OS 7.pptxOS 7.pptx
OS 7.pptx
 
Operating System
Operating SystemOperating System
Operating System
 
10. deadlock
10. deadlock10. deadlock
10. deadlock
 
Methods for handling deadlock
Methods for handling deadlockMethods for handling deadlock
Methods for handling deadlock
 

More from JeelBhanderi4

Process Management.ppt
Process Management.pptProcess Management.ppt
Process Management.pptJeelBhanderi4
 
2. Efficient Market Hypothesis.pptx
2. Efficient Market Hypothesis.pptx2. Efficient Market Hypothesis.pptx
2. Efficient Market Hypothesis.pptxJeelBhanderi4
 
akshardham-160916093034 (2).pdf
akshardham-160916093034 (2).pdfakshardham-160916093034 (2).pdf
akshardham-160916093034 (2).pdfJeelBhanderi4
 
Ch_6 Regulated Power Supply (1).ppt
Ch_6 Regulated Power Supply (1).pptCh_6 Regulated Power Supply (1).ppt
Ch_6 Regulated Power Supply (1).pptJeelBhanderi4
 
Chapter-4 FET (1).ppt
Chapter-4 FET (1).pptChapter-4 FET (1).ppt
Chapter-4 FET (1).pptJeelBhanderi4
 
Chapter-6 DC biasing-1.ppt
Chapter-6 DC biasing-1.pptChapter-6 DC biasing-1.ppt
Chapter-6 DC biasing-1.pptJeelBhanderi4
 
Chapter-5- Transistor Characteristics-1.ppt
Chapter-5- Transistor Characteristics-1.pptChapter-5- Transistor Characteristics-1.ppt
Chapter-5- Transistor Characteristics-1.pptJeelBhanderi4
 

More from JeelBhanderi4 (10)

Process Management.ppt
Process Management.pptProcess Management.ppt
Process Management.ppt
 
File Management.ppt
File Management.pptFile Management.ppt
File Management.ppt
 
2. Efficient Market Hypothesis.pptx
2. Efficient Market Hypothesis.pptx2. Efficient Market Hypothesis.pptx
2. Efficient Market Hypothesis.pptx
 
akshardham-160916093034 (2).pdf
akshardham-160916093034 (2).pdfakshardham-160916093034 (2).pdf
akshardham-160916093034 (2).pdf
 
Ch_6 Regulated Power Supply (1).ppt
Ch_6 Regulated Power Supply (1).pptCh_6 Regulated Power Supply (1).ppt
Ch_6 Regulated Power Supply (1).ppt
 
Chapter-4 FET (1).ppt
Chapter-4 FET (1).pptChapter-4 FET (1).ppt
Chapter-4 FET (1).ppt
 
Chapter-6 DC biasing-1.ppt
Chapter-6 DC biasing-1.pptChapter-6 DC biasing-1.ppt
Chapter-6 DC biasing-1.ppt
 
Chapter-5- Transistor Characteristics-1.ppt
Chapter-5- Transistor Characteristics-1.pptChapter-5- Transistor Characteristics-1.ppt
Chapter-5- Transistor Characteristics-1.ppt
 
Chapter 3 (2).ppt
Chapter 3 (2).pptChapter 3 (2).ppt
Chapter 3 (2).ppt
 
All C ppt.ppt
All C ppt.pptAll C ppt.ppt
All C ppt.ppt
 

Recently uploaded

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 

Recently uploaded (20)

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 

Deadlock.ppt

  • 2. Process Synchronization It is a mechanism to ensure a systematic sharing of resources among concurrent processes. In some operating systems, processes that are working together may share some common storage that each one can read and write. The shared storage may be in main memory or it may be a shared file
  • 4. Race Condition Printer Spooler Example  When a process wants to print a file, it enters the file name in a special spooler directory. Another process, the printer daemon, periodically checks to see if so are any files to be printed, and if so removes their names from the directory.  Spooler directory has a large number of slots, numbered 0, 1, 2, ..., each one capable of holding a file name. Also imagine that there are two shared variables, out, which points to the next file to be printed, and in, which points to the next free slot in the directory.
  • 6. Critical Section Printer Spooler Example  That part of the program where the shared memory is accessed is called the critical region or critical section.  If we could arrange matters such that no two processes were ever in their critical regions at the same time, we could avoid race conditions.
  • 7. Critical Section We need four conditions to hold to have a good solution:  No two processes may be simultaneously inside their critical regions.  No assumptions may be made about speeds or the number of CPUs.  No process running outside its critical region may block other processes.  No process should have to wait forever to enter its critical region.
  • 8.
  • 10. Deadlocks  System Model  Deadlock Characterization  Methods for Handling Deadlocks Deadlock Prevention  Deadlock Avoidance  Deadlock Detection  Recovery from Deadlock
  • 11. Chapter Objectives To develop a description of deadlocks, which prevent sets of concurrent processes from completing their tasks To present a number of different methods for preventing or avoiding deadlocks in a computer system
  • 12. 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
  • 13. Deadlock Characterization 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, …, Pn} 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 Pn is waiting for a resource that is held by P0.
  • 14. 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 Pi  Rj assignment edge – directed edge Rj  Pi
  • 15. Resource-Allocation Graph Process Resource Type with 4 instances Pi requests instance of Rj Pi is holding an instance of Rj Pi Pi Rj Rj
  • 18. Graph With A Cycle But No Deadlock
  • 19. 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
  • 20. Methods for Handling Deadlocks Ensure that the system will never enter a deadlock state: Deadlock prevention Deadlock avoidance Allow the system to enter a deadlock state and then recover. Ignore the problem and pretend that deadlocks never occur in the system; used by most operating systems, including UNIX.
  • 21. Deadlock Prevention Mutual Exclusion – not required for sharable resources (e.g., read-only files); must hold for non-sharable resources Hold and Wait – must guarantee that whenever a process requests a resource, it does not hold any other resources Require process to request and be allocated all its resources before it begins execution, or allow process to request resources only when the process has none allocated to it. Low resource utilization; starvation possible
  • 22. Deadlock Prevention No Preemption – If a process that is holding some resources requests another resource that cannot be immediately allocated to it, then all resources currently being held are released Preempted resources are added to the list of resources for which the process is waiting Process will be restarted only when it can regain its old resources, as well as the new ones that it is requesting Circular Wait – impose a total ordering of all resource types, and require that each process requests resources in an increasing order of enumeration
  • 23. Deadlock Avoidance Requires that the system has some additional a priori information available 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
  • 24. Safe State  When a process requests an available resource, system must decide if immediate allocation leaves the system in a safe state  System is in safe state if there exists a sequence <P1, P2, …, Pn> of ALL the processes in 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
  • 25. 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.
  • 27. Avoidance Algorithms Single instance of a resource type Use a resource-allocation graph Multiple instances of a resource type  Use the banker’s algorithm
  • 28. 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
  • 30. Unsafe State In Resource- Allocation Graph
  • 31. Resource-Allocation Graph Algorithm Suppose that process Pi requests a resource Rj. The request can be granted only if converting the request edge to an assignment edge does not result in the formation of a cycle in the resource allocation graph.
  • 32. Recovery from Deadlock: Process Termination Abort all deadlocked processes Abort one process at a time until the deadlock cycle is eliminated In which order should we choose to abort? 1. Priority of the process 2. How long process has computed, and how much longer to completion 3. Resources the process has used 4. Resources process needs to complete 5. How many processes will need to be terminated 6. Is process interactive or batch?
  • 33. Recovery from Deadlock: Resource Preemption 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