Introduction (परिचय)
हमने पढ़ा कि deadlock तब होता है जब चारों conditions एक साथ true हो जाती हैं।
अब idea यह है कि अगर हम इन conditions में से किसी एक को भी break कर दें,
तो deadlock कभी होगा ही नहीं।
इसी concept को कहते हैं: Deadlock Prevention
Deadlock Prevention क्या होता है
Deadlock Prevention वह technique है जिसमें system को इस तरह design किया जाता है कि deadlock होने की संभावना ही खत्म हो जाए।
Simple Definition
Deadlock Prevention = deadlock को होने से पहले रोकना
Basic Idea
Deadlock होने के लिए 4 conditions जरूरी हैं:
- Mutual Exclusion
- Hold and Wait
- No Preemption
- Circular Wait
अगर इनमें से किसी एक को भी remove कर दिया जाए → deadlock नहीं होगा
Deadlock Prevention Techniques
अब हम हर condition को कैसे break करते हैं, यह समझते हैं:
1. Mutual Exclusion को remove करना
Idea
Resource को shareable बना दो
Example
- Printer share नहीं हो सकता
- लेकिन read-only file share हो सकती है
Limitation
सभी resources shareable नहीं हो सकते
2. Hold and Wait को remove करना
Idea
Process को एक साथ सभी resources मांगने होंगे
Working
- Process पहले ही सभी resources request करेगा
- या जो resources hold कर रहा है, उन्हें release करके नया request करेगा
Problem
- Resource utilization कम हो जाता है
- Waiting time बढ़ सकता है
3. No Preemption को remove करना
Idea
अगर process resource hold कर रहा है और नया resource चाहिए, तो उसका current resource ले लो
Working
- Process से resource छीन लिया जाता है
- बाद में वापस दिया जा सकता है
Problem
- हर resource पर apply नहीं हो सकता
- Data inconsistency हो सकती है
4. Circular Wait को remove करना
Idea
Resources को एक fixed order में allocate करो
Working
- हर resource को एक number दिया जाता है
- Process केवल increasing order में resource request करेगा
Example
R1 → R2 → R3
Process को पहले R1 लेना होगा, फिर R2
इससे cycle नहीं बनेगा → deadlock नहीं होगा
Summary Table (Quick Revision)
| Condition | Prevention Method |
|---|---|
| Mutual Exclusion | Resource shareable बनाना |
| Hold and Wait | All resources एक साथ request |
| No Preemption | Resource forcefully लेना |
| Circular Wait | Fixed ordering लागू करना |
Advantages
- Deadlock पूरी तरह avoid हो जाता है
- System safe रहता है
Disadvantages
- Resource utilization कम हो सकता है
- Processes को unnecessary wait करना पड़ता है
- System performance कम हो सकती है
Important Point (Exam Focus)
- Deadlock Prevention = condition break करना
- Circular Wait removal सबसे practical तरीका है
Conclusion
Deadlock Prevention एक proactive approach है, जिसमें system को इस तरह design किया जाता है कि deadlock होने की possibility ही खत्म हो जाए।
हालांकि यह safe है, लेकिन इससे system performance और resource utilization पर negative effect पड़ सकता है।