deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 operating system kernels 7...

14
1 Operating System Kernels 1 Deadlock Witawas Srisa-an Chapter 6 Operating System Kernels 2 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

Upload: others

Post on 18-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

1

Operating System Kernels 1

Deadlock

Witawas Srisa-anChapter 6

Operating System Kernels 2

Deadlock

Permanent blocking of a set of processesthat either compete for system resourcesor communicate with each other

No efficient solution Involve conflicting needs for resources by

two or more processes

Page 2: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

2

Operating System Kernels 4

Page 3: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

3

Operating System Kernels 6

Reusable Resources Used by 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, files, databases, andsemaphores

Deadlock occurs if each process holds oneresource and requests the other

Page 4: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

4

Operating System Kernels 7

Example of Deadlock

Operating System Kernels 8

Another Example of Deadlock Space is available for allocation of 200K

bytes, and the following sequence ofevents occur

Deadlock occurs if both processesprogress to their second request

P1

. . .

. . .Request 80K bytes;

Request 60K bytes;

P2

. . .

. . .Request 70K bytes;

Request 80K bytes;

Page 5: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

5

Operating System Kernels 9

Consumable Resources

Created (produced) and destroyed(consumed) by a process

Interrupts, signals, messages, andinformation in I/O buffers

Deadlock may occur if a Receive messageis blocking

May take a rare combination of events tocause deadlock

Operating System Kernels 10

Example of Deadlock

Deadlock occurs if receive is blocking

P1

. . .

. . .Receive(P2);

Send(P2, M1);

P2

. . .

. . .Receive(P1);

Send(P1, M2);

Page 6: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

6

Operating System Kernels 11

Conditions for Deadlock

Mutual exclusion Only one process may use a resource at a

time Hold-and-wait

A process request all of its required resourcesat one time

Operating System Kernels 12

Conditions for Deadlock

No preemption If a process holding certain resources is denied

a further request, that process must release itsoriginal resources

If a process requests a resource that iscurrently held by another process, theoperating system may preempt the secondprocess and require it to release its resources

Page 7: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

7

Operating System Kernels 13

Conditions for Deadlock

Circular wait Prevented by defining a linear ordering of

resource types

Operating System Kernels 14

Deadlock Avoidance

A decision is made dynamically whetherthe current resource allocation request will,if granted, potentially lead to a deadlock

Requires knowledge of future processrequest

Page 8: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

8

Operating System Kernels 15

Two Approaches toDeadlock Avoidance

Do not start a process if its demands mightlead to deadlock

Do not grant an incremental resourcerequest to a process if this allocation mightlead to deadlock

Operating System Kernels 16

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 that does not result in deadlock Unsafe state is a state that is not safe

Page 9: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

9

Operating System Kernels 17

Determination of a Safe StateInitial State

Safe or unsafe?

Operating System Kernels 18

Determination of a Safe StateP2 Runs to Completion

Page 10: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

10

Operating System Kernels 19

Determination of a Safe StateP1 Runs to Completion

Operating System Kernels 20

Determination of a Safe StateP3 Runs to Completion

Page 11: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

11

Operating System Kernels 21

Determination of anUnsafe State

Operating System Kernels 22

Determination of anUnsafe State

Page 12: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

12

Operating System Kernels 23

Deadlock Avoidance Maximum resource requirement must be

stated in advance Processes under consideration must be

independent; no synchronizationrequirements

There must be a fixed number of resourcesto allocate

No process may exit while holdingresources

Operating System Kernels 24

Deadlock Detection Mark each process that has a row in the

Allocation matrix of all zeros Initialize a temp vector W to equal the

available vector Find an index I such that process I is

unmarked and the ith row of Q is <= W if not exist, terminate if exist, mark the process and add the

corresponding row of A matrix to W

Page 13: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

13

Deadlock Detection

mark P4 since it has no allocated resourcesSet W to available vector (00001)R for P3 is less >= w so mark P3 and set W to 00001 + 00010 [P3 in A]terminate

Operating System Kernels 26

Strategies once Deadlock Detected Abort all deadlocked processes Back up each deadlocked process to some

previously defined checkpoint, and restartall process original deadlock may occur

Successively abort deadlocked processesuntil deadlock no longer exists

Successively preempt resources untildeadlock no longer exists

Page 14: Deadlockcse.unl.edu/~witty/class/csce351/material/lecture/pdf/...4 Operating System Kernels 7 Example of Deadlock Operating System Kernels 8 Another Example of Deadlock Space is available

14

Operating System Kernels 27

Selection Criteria DeadlockedProcesses

Least amount of processor time consumedso far

Least number of lines of output producedso far

Most estimated time remaining Least total resources allocated so far Lowest priority