Download Deadlock

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Burroughs MCP wikipedia , lookup

DNIX wikipedia , lookup

Security-focused operating system wikipedia , lookup

Process management (computing) wikipedia , lookup

CP/M wikipedia , lookup

Unix security wikipedia , lookup

Distributed operating system wikipedia , lookup

Transcript
Informationsteknologi
Today’s class

Deadlock
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
1
Informationsteknologi
Deadlock
Permanent blocking of a set of processes
that either compete for system resources
or communicate with each other
 No efficient solution
 Involve conflicting needs for resources by
two or more processes

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
2
Informationsteknologi
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
3
Informationsteknologi
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
4
Informationsteknologi
Reusable Resources




Used by only one process at a time and not
depleted by that use
Processes obtain resources that they later
release for reuse by other processes
Processors, I/O channels, main and secondary
memory, devices, and data structures such as
files, databases, and semaphores
Deadlock occurs if each process holds one
resource and requests the other
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
5
Informationsteknologi
Example of Deadlock
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
6
Informationsteknologi
Another Example of Deadlock

Space is available for allocation of 200Kbytes,
and the following sequence of events occur
P1
...
...
Request 80 Kbytes;
Request 70 Kbytes;
Request 60 Kbytes;
Request 80 Kbytes;
...

P2
...
Deadlock occurs if both processes progress to
their second request
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
7
Informationsteknologi
Consumable Resources
Created (produced) and destroyed
(consumed)
 Interrupts, signals, messages, and
information in I/O buffers
 Deadlock may occur if a Receive
message is blocking
 May take a rare combination of events to
cause deadlock

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
8
Informationsteknologi
Example of Deadlock

Deadlock occurs if Receive is blocking
P1
P2
...
...
Receive(P2);
Receive(P1);
...
...
Send(P2, M1);
Send(P1, M2);
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
9
Informationsteknologi
Resource Allocation Graphs

Directed graph that depicts a state of the
system of resources and processes
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
10
Informationsteknologi
Resource Allocation Graphs
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
11
Informationsteknologi
Conditions for Deadlock

Mutual exclusion
 Only
one process may use a resource at a
time

Hold-and-wait
A
process may hold allocated resources
while awaiting assignment of others

No preemption
 No
resource can be forcibly removed form a
process holding it
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
12
Informationsteknologi
Conditions for Deadlock

Circular wait

A closed chain of
processes exists,
such that each
process holds at least
one resource needed
by the next process in
the chain
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
13
Informationsteknologi
Possibility of Deadlock
Mutual Exclusion
 No preemption
 Hold and wait

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
14
Informationsteknologi
Existence of Deadlock
Mutual Exclusion
 No preemption
 Hold and wait
 Circular wait

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
15
Informationsteknologi
Deadlock Prevention
Strategy of deadlock prevention is to
design a system in such a way that the
possibility of deadlock is excluded
 Indirect method – prevent the occurrence
of one of the three necessary conditions
mentioned earlier
 Direct method – prevent the occurrence of
a circular wait

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
16
Informationsteknologi
Deadlock Prevention

Mutual Exclusion


Must be supported by the operating system, so it’s
hard to not allow this
Hold and Wait



Require a process request all of its required
resources at one time
Block the process until all requests can be granted
simultaneously
Inefficient
 May wait a long time for all resources to become available
 Resources allocated to a process may be unused for a long
period of time
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
17
Informationsteknologi
Deadlock Prevention

No Preemption
 Process
must release resource and request
again
 Operating system may preempt a process to
require it releases its resources

Circular Wait
 Define
a linear ordering of resource types
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
18
Informationsteknologi
Deadlock avoidance



In deadlock prevention, resource requests are
restrained to prevent one of the four conditions
of deadlock
This leads to inefficient use of resources and
inefficient execution of processes
Deadlock avoidance allows the three necessary
conditions for deadlock but makes judicious
choices to assure that the deadlock point is
never reached
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
19
Informationsteknologi
Deadlock Avoidance
A decision is made dynamically whether
the current resource allocation request
will, if granted, potentially lead to a
deadlock
 Requires knowledge of future process
request

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
20
Informationsteknologi
Two Approaches to
Deadlock Avoidance
Do not start a process if its demands
might lead to deadlock
 Do not grant an incremental resource
request to a process if this allocation
might lead to deadlock

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
21
Informationsteknologi
Resource Allocation Denial
Referred to as the banker’s algorithm
 State of the system is the current
allocation of resources to process
 Safe state is where there is at least one
sequence of resource allocation to
processes that does not result in deadlock
 Unsafe state is a state that is not safe

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
22
Informationsteknologi
Determination of a Safe State
Initial State
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
23
Informationsteknologi
Determination of a Safe State
P2 Runs to Completion
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
24
Informationsteknologi
Determination of a Safe State
P1 Runs to Completion
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
25
Informationsteknologi
Determination of a Safe State
P3 Runs to Completion
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
26
Informationsteknologi
Determination of an
Unsafe State
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
27
Informationsteknologi
Determination of an
Unsafe State
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
28
Informationsteknologi
Deadlock Avoidance
Maximum resource requirement must be
stated in advance
 Processes under consideration must be
independent; no synchronization
requirements
 There must be a fixed number of
resources to allocate
 No process may exit while holding
resources

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
29
Informationsteknologi
Deadlock Detection


Deadlock prevention strategies solve the
problem of deadlock by limiting access to
resources and imposing restrictions on
processes. They are conservative in nature.
Deadlock detection approaches grant resource
requests whenever possible. Periodically, an
algorithm that detects the circular wait condition
is performed and recovery is attempted.
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
30
Informationsteknologi
Deadlock Detection
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
31
Informationsteknologi
Strategies once Deadlock
Detected
Abort all deadlocked processes
 Back up each deadlocked process to
some previously defined checkpoint, and
restart all processes

 Original
deadlock may occur
Successively abort deadlocked processes
until deadlock no longer exists
 Successively preempt resources until
deadlock no longer exists

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
32
Informationsteknologi
Selection Criteria Deadlocked
Processes
Least amount of processor time
consumed so far
 Least number of lines of output produced
so far
 Most estimated time remaining
 Least total resources allocated so far
 Lowest priority

Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
33
Informationsteknologi
Dining Philosophers Problem
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
34
Informationsteknologi
Dining Philosophers Problem
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
35
Informationsteknologi
Dining Philosophers Problem
Monday, October 1, 2007
Computer Systems/Operating Systems - Class 11
36