Deadlocks in operating system

Preview:

DESCRIPTION

This slide is about how deadlocks occur,its characterizatio prevention avoidance & recovery.

Citation preview

DEADLOCKS IN OPERATING SYSTEM

“Cris

es and deadlock

s when th

ey

occur

have at

least this

advantage, that t

hey force

us to

think.”- Ja

waharlal N

ehru (1889 -

1964) Indian politi

cal le

ader

OPERATING SYSTEMPresented by :

Wajiha SiddiquiSara Ali Aisha Hameed

1. The Deadlock Problem

2. Deadlock Characterization

3. Deadlock Modeling

4. Resource Allocation Graph

5. Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock

WHAT ARE DEADLOCKS???

A set of blocked processes each

holding a resource and waiting to

acquire a resource held by another

process in the set.

o Example Process-1 requests the printer, gets it Process-2 requests the tape unit, gets it Process-1 and Process-1 requests the tape unit, waits Process-2 are Process-2 requests the printer, waits deadlocked!

FOUR CONDITIONS FOR DEADLOCKS???

1. Mutual Exclusion Condition

2. Hold & Wait Condition

3. No Preemption Condition

4. Circular Wait Condition

DEADLOCK MODELING???

Modeled with directed graphs

HOW DEADLOCKS OCCUR?

HOW DEADLOCKS CAN BE AVOIDED???

RESOURCE ALLOCATION GRAPHS???

CIRCLES represents processes

SQUARE represents classes of identical resources

SMALL SQUARES DRAWN INSIDE LARGE SQUARES Indicate separate identical resources of each class

If the resource allocation graph contains no cycles then there is no deadlock in the system at that instance.

If there is a cycle

o If there is only one instance per resource type than there is a deadlocko If there is more than once instance for some resource type than there may

or may not be a deadlock

EXAMPLE OF A RESOURCE ALLOCATION GRAPH

HOW TO HANDLE DEADLOCKS???

• Four major areas of interest in deadlock research

- Deadlock Prevention

- Deadlock Avoidance

- Deadlock Detection

- Deadlock Recovery

DEADLOCK PREVENTION???

• Prevention eliminates one of four conditions

1. Elimination Of Mutual Exclusion

2. Elimination Of Hold & Wait Condition

3. Elimination Of No Preemption Condition

4. Elimination Of Circular Wait Condition

DEADLOCK AVOIDANCE???

• Maximum requirements of

each resource must be stated

in advance by each process.

• Two Approaches

• Two Algorithmso Resource Allocation Algorithmso The Banker’s Algorithm

DEADLOCK DETECTION???

• Determines if deadlock has occurred• Identifies those processes & resources

involved in the deadlock• Algorithms can incur significant

runtime overhead

RECOVERY FROM DEADLOCKS???

• Process Terminationo Abort all deadlocked processes.o Abort one process at a time until

the deadlock cycle is eliminated.

• Resource Preemptiono Selecting a victimo Rollbacko Starvation

Recommended