Introduction (परिचय)
हमने देखा:
- Prevention → deadlock होने ही नहीं देता
- Avoidance → unsafe state को avoid करता है
लेकिन अगर system में deadlock हो ही जाए,
तो उसे खत्म कैसे करेंगे?
इसी को कहते हैं:
Deadlock Recovery
Deadlock Recovery क्या होता है
Deadlock Recovery वह technique है जिसमें system deadlock होने के बाद उसे detect करके resolve करता है।
Simple Definition
Deadlock Recovery = deadlock होने के बाद उसे हटाना
Basic Idea
Deadlock होने के बाद system को:
- Deadlock detect करना है
- Deadlock को break करना है
Recovery Methods
Deadlock को recover करने के 2 main तरीके होते हैं:
1. Process Termination
Idea
कुछ processes को terminate करके deadlock तोड़ दिया जाता है
Types
(a) All Processes Terminate करना
- Deadlock में involved सभी processes को खत्म कर दो
Advantage
- Simple
Disadvantage
- बहुत data loss
(b) One by One Termination
- एक-एक करके processes को terminate करो
- जब तक deadlock खत्म न हो जाए
Advantage
- कम data loss
Disadvantage
- Time consuming
Process select कैसे करें
Terminate करने के लिए process चुनते समय ध्यान रखा जाता है:
- Process की priority
- Execution कितना हुआ है
- Resource कितना use किया है
- Cost कितना है
2. Resource Preemption
Idea
Processes से resource वापस लेकर deadlock तोड़ा जाता है
Working
- Resource temporarily process से ले लिया जाता है
- दूसरे process को दिया जाता है
- बाद में original process को वापस दिया जाता है
Important Points
1. Victim Selection
किस process से resource लेना है
2. Rollback
Process को previous safe state में ले जाना
3. Starvation Avoidance
एक ही process से बार-बार resource न छीना जाए
Example
मान लो:
- P1 के पास R1 है
- P2 के पास R2 है
- दोनों एक-दूसरे का wait कर रहे हैं
Recovery:
- P2 को terminate कर दो
या - R2 को P2 से लेकर P1 को दे दो
Deadlock खत्म हो जाएगा
Advantages
- Deadlock को remove कर देता है
- System को फिर से normal बना देता है
Disadvantages
- Data loss हो सकता है
- System unstable हो सकता है
- Recovery cost high होती है
Important Comparison
| Technique | कब use होता है |
|---|---|
| Prevention | पहले |
| Avoidance | allocation के समय |
| Recovery | बाद में |
Exam Focus Points
- Deadlock Recovery definition
- Process termination और resource preemption
- Victim selection और rollback
Conclusion
Deadlock Recovery एक reactive approach है, जिसमें system deadlock होने के बाद उसे detect करके solve करता है।
हालांकि यह effective है, लेकिन इसमें data loss और performance issues हो सकते हैं, इसलिए इसे last option माना जाता है।