CSC 4103  Operating Systems
Fall 2009
Tevfik Ko
!
ar
Louisiana State University
October 6
th
, 2009
Lecture  XII
Deadlocks  III
2
Deadlock Detection
•
Allow system to enter deadlock state
•
Detection algorithm
•
Recovery scheme
3
Single Instance of Each Resource Type
• Maintain
waitfor
graph
–
Nodes are processes.
–
P
i
!
P
j
if
P
i
is waiting for
P
j
.
ResourceAllocation Graph
Corresponding waitfor graph
4
Single Instance of Each Resource Type
•
Periodically invoke an algorithm that
searches for a cycle in the graph.
•
An algorithm to detect a cycle in a graph
requires an order of
n
2
operations, where
n
is the number of vertices in the graph.
•
Only good for singleinstance resource
allocation systems.
5
Several Instances of a Resource Type
•
Available:
A vector of length
m
indicates the
number of available resources of each type.
•
Allocation:
An
n
x
m
matrix defines the number
of resources of each type currently allocated to
each process.
•
Request:
An
n
x
m
matrix indicates the current
request
of each process.
If
Request
[
i
j
] =
k
, then
process
P
i
is requesting
k
more instances of
resource type.
R
j
.
6
Detection Algorithm
1. Let
Work
and
Finish
be vectors of length
m
and
n
,
respectively Initialize:
(a)
Work
=
Available
(b) For
i
= 0,2, …,
n1
, if
Allocation
i
"
0, then
Finish
[i] = false;otherwise,
Finish
[i] =
true
.
2. Find an index
i
such that both:
(a)
Finish
[
i
] ==
false
(b)
Request
i
#
Work
If no such
i
exists, go to step 4.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
7
Detection Algorithm (Cont.)
3.
Work
=
Work
+
Allocation
i
Finish
[
i
] =
true
go to step 2.
4. If
Finish
[
i
] == false, for some
i
, 0
#
i
#
n1
, then the
system is in deadlock state. Moreover, if
Finish
[
i
] ==
false
, then
P
i
is deadlocked.
Algorithm requires an order of O(
m
x
n
2)
operations to detect whether the
system is in deadlocked state.
8
Example of Detection Algorithm
•
Five processes
P
0
through
P
4
;
three resource types
A (7 instances),
B
(2 instances), and
C
(6 instances).
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '08
 Ullmer,B
 Operating Systems, Resource Type

Click to edit the document details