Process Scheduling and Synchronization
Deadlock handling refers to the techniques used by an operating system to deal with deadlock situations where processes are stuck waiting for resources.
What is Deadlock
Handling?
It
is the set of methods used to prevent, avoid, detect, and recover from
deadlocks in a system.
Deadlock Prevention
Avoidance (Banker’s Algorithm)
Detection
Recovery
Deadlock Prevention
(Operating System)
What is Deadlock
Prevention?
Deadlock
prevention is a technique used to ensure that deadlock never occurs by
eliminating at least one of the four necessary conditions required for
deadlock.
Four Necessary
Conditions for Deadlock
Deadlock
can occur only if all these conditions are present:
Prevent
deadlock by eliminating at least one of the four necessary conditions:
Mutual
Exclusion → Make
resources sharable (if possible)
Hold and
Wait → Request all
resources at once
No
Pre-emption → Allow
resource pre-emption
Circular
Wait → Impose
ordering of resources
Prevention
= break any one of these conditions
Methods of Deadlock
Prevention
1. Eliminate Mutual
Exclusion
Make
resources sharable (if possible)
Example:
Shared printers (spooling)
2. Eliminate Hold and
Wait
Process
must request all resources at once
Or
release held resources before requesting new ones
3. Eliminate No
Preemption
Allow
system to take resources back
If
a process cannot get required resource, it releases current ones
4. Eliminate Circular
Wait
Assign
a fixed order (resource hierarchy) to resources
Processes
must request resources in increasing order
Example
Suppose:
P1
holds R1 and waits for R2
P2
holds R2 and waits for R1
Apply
resource ordering → no circular wait → no deadlock
Advantages
Completely
avoids deadlock
Simple
concept
Disadvantages
Low
resource utilization
Reduced
system performance
Processes
may wait longer
Short Answer (Exam
Ready)
Deadlock
prevention is a method that avoids deadlock by ensuring at least one of the
necessary conditions (mutual exclusion, hold and wait, no pre-emption, circular
wait) does not occur.
Methods of Deadlock
Handling
1. Deadlock Prevention
Prevent
deadlock by eliminating at least one of the four necessary conditions:
Mutual
Exclusion → Make resources sharable (if possible)
Hold
and Wait → Request all resources at once
No
Preemption → Allow resource preemption
Circular
Wait → Impose ordering of resources
2. Deadlock Avoidance
Deadlock avoidance ensures that the system never enters an unsafe state by
carefully allocating resources.
Avoid
deadlock by making safe resource allocation decisions
System
checks if allocation keeps it in a safe state
What is Banker’s
Algorithm?
It
is a deadlock avoidance algorithm that checks whether granting a resource
request will keep the system in a safe state.
Named
“Banker’s” because it works like a bank:
A
banker gives loans only if he is sure all customers can repay
Key Concepts
1.
Safe State
A
state where all processes can complete without deadlock
2.
Unsafe State
A
state that may lead to deadlock
3.
Data Structures Used
Available
→ Available resources
Max
→ Maximum demand of each process
Allocation
→ Resources currently allocated
Need
= Max − Allocation
Working Steps
Check
if request ≤ Need
Check
if request ≤ Available
Temporarily
allocate resources
Check
for safe sequence
If
safe → grant request
If
unsafe → deny request
Example
|
Process |
Allocation |
Max |
Need |
|
P1 |
1 |
3 |
2 |
|
P2 |
1 |
2 |
1 |
Available
= 1
Check
Safe Sequence
Available
= 1
P2
can complete (Need = 1)
→ Available becomes 2
Now
P1 can complete (Need = 2)
Safe
Sequence = P2 → P1
Advantages
Avoids
deadlock completely
Ensures
safe execution
Disadvantages
Requires
prior knowledge of max resources
Complex
for large systems
May
reduce resource utilization
Short Answer (Exam Ready)
Banker’s
Algorithm is a deadlock avoidance technique that allocates resources only if
the
3. Deadlock Detection
Allow
deadlock to occur, and then detect it
Use
Resource Allocation Graph (RAG)
Check
for cycles in the system
4. Deadlock Recovery
After
detection, recover using:
Process
Termination
Kill
one or more processes
Resource
Preemption
Take
resources from some processes and give to others
Comparison Table
|
Method |
Idea |
Advantage |
Disadvantage |
|
Prevention |
Eliminate conditions |
No deadlock |
Low resource utilization |
|
Avoidance |
Safe state check |
Efficient |
Complex |
|
Detection |
Find after occurrence |
Flexible |
Overhead |
|
Recovery |
Fix after detection |
Simple |
Data loss possible |
Key Concepts
Mutual
Exclusion
Circular
Wait
Deadlock
Detection
Resource
Allocation
Short Answer (Exam Ready)
Deadlock
handling consists of prevention, avoidance, detection, and recovery techniques
used to manage deadlocks in operating systems.
No comments:
Post a Comment