हेल्लो दोस्तों, आपका हमारी Operating System की सीरीज में स्वागत है। पिछली पोस्ट में हमने ‘Deadlock Handling‘ के अलग-अलग तरीकों को देखा था। आज हम उनमें से सबसे सख्त (Strict) तरीके के बारे में बात करेंगे, जिसका नाम है Deadlock Prevention।
कहावत है कि “Prevention is better than Cure” (इलाज से बेहतर बचाव है)। ऑपरेटिंग सिस्टम भी इसी नियम को मानता है।
इस पोस्ट में हमने आपको Deadlock Prevention क्या है? (What is Deadlock Prevention in Hindi?), और डेडलॉक की 4 जरूरी शर्तों (Conditions) को गलत साबित करके हम डेडलॉक को कैसे रोक सकते हैं, इसके बारे मैं विस्तार से बताया है।
इसीलिए इस पोस्ट को अंत तक जरूर पड़े ताके आपको Deadlock Prevention in OS in Hindi के बारे मैं सम्पूर्ण जानकारी मिल सके।
What is Deadlock Prevention in Hindi? – डेडलॉक प्रिवेंशन क्या है?
Deadlock Prevention एक ऐसी तकनीक है जिसमें हम सिस्टम पर कुछ ऐसी पाबंदियां (Restrictions) लगा देते हैं कि डेडलॉक होना नामुमकिन हो जाए।
जैसा कि हम जानते हैं, डेडलॉक होने के लिए 4 शर्तों (Coffman Conditions) का एक साथ होना जरूरी है:
- Mutual Exclusion
- Hold and Wait
- No Preemption
- Circular Wait

The main idea of deadlock prevention in Hindi – डेडलॉक प्रिवेंशन का मुख्य आईडिया:
अगर हम इन 4 शर्तों में से किसी एक को भी फेल (Fail) कर दें या हटा दें, तो डेडलॉक कभी नहीं लगेगा। हम सिस्टम को ऐसे डिज़ाइन करते हैं कि ये शर्तें कभी पूरी ही न हो पाएं।
Strategy: Breaking the 4 Necessary Conditions
चलिए देखते हैं कि हम इन चारों शर्तों को एक-एक करके कैसे हटा सकते हैं:
1. Eliminating Mutual Exclusion (म्यूच्यूअल एक्सक्लूज़न को हटाना)
- Problem: डेडलॉक तब होता है जब रिसोर्स Non-shareable (जैसे Printer) हो।
- Solution: अगर हम सभी रिसोर्सेस को Shareable बना दें (जैसे Read-only files), तो कोई भी प्रोसेस इंतज़ार नहीं करेगा।
- Reality: यह पूरी तरह संभव नहीं है। प्रिंटर या टेप ड्राइव जैसे डिवाइस को एक बार में एक ही प्रोसेस यूज़ कर सकता है। इसलिए, हम इस शर्त को पूरी तरह नहीं हटा सकते।
2. Eliminating Hold and Wait (होल्ड एंड वेट को हटाना)
- Problem: एक प्रोसेस कुछ रिसोर्स पकड़ कर बैठा है और दूसरों का इंतज़ार कर रहा है।
- Solution: हम एक नियम बना सकते हैं कि प्रोसेस को अपना काम शुरू करने से पहले ही सारे रिसोर्स एक साथ मांगने होंगे। अगर सारे मिलते हैं, तभी काम शुरू होगा, वरना नहीं।
- Drawback: इससे Resource Wastage बहुत होता है। मान लीजिये प्रिंटर की जरुरत 1 घंटे बाद है, लेकिन प्रोसेस ने उसे अभी से पकड़ (Hold) रखा है।
3. Eliminating No Preemption (नो प्री-एम्पशन को हटाना)
- Problem: हम प्रोसेस से जबरदस्ती रिसोर्स नहीं छीन सकते।
- Solution: हम नियम बनाते हैं कि अगर कोई प्रोसेस (A) किसी रिसोर्स की मांग करता है और वो उसे नहीं मिलता, तो उसके पास जो पहले से रिसोर्स (Hold) हैं, उन्हें भी Release करना होगा (यानी उससे छीन लिया जाएगा)।
- Use Case: यह तकनीक CPU Registers या Memory के लिए तो ठीक है, लेकिन Printer जैसे डिवाइस के लिए यह काम नहीं करती (आधा प्रिंट हुआ पेज ख़राब हो जायेगा)।
4. Eliminating Circular Wait (सर्कुलर वेट को हटाना)
- Problem: प्रोसेसेस एक गोलाकार (Circle) में एक-दूसरे का इंतज़ार करते हैं।
- Solution: यह सबसे Practical तरीका है।
- हम हर रिसोर्स को एक Unique Number दे देते हैं (जैसे: CPU=1, Printer=2, Scanner=3)।
- नियम यह है कि प्रोसेस रिसोर्स को सिर्फ बढ़ते हुए क्रम (Increasing Order) में ही मांग सकता है।
- अगर प्रोसेस के पास रिसोर्स नंबर 3 है, तो वह नंबर 1 या 2 की मांग नहीं कर सकता।
- Result: इससे कभी भी Cycle (लूप) नहीं बनेगा और डेडलॉक पूरी तरह रुक जाएगा।
Difference between Prevention and Avoidance in Hindi
अक्सर स्टूडेंट्स इन दोनों में कंफ्यूज हो जाते हैं:
| Feature | Deadlock Prevention | Deadlock Avoidance |
|---|---|---|
| Logic | यह 4 शर्तों में से एक को तोड़ने पर काम करता है। | यह रिसोर्स देने से पहले Safe State चेक करता है। |
| Restrictions | यह सिस्टम पर कड़ी पाबंदियां लगाता है। | यह फ्लेक्सिबल है, बस सावधानी बरतता है। |
| Example | Circular Wait को हटाना। | Banker’s Algorithm। |
Conclusion – निष्कर्ष
हमें उम्मीद है कि इस पोस्ट से आपने Deadlock Prevention in OS in Hindi (4 शर्तों को तोड़ने की तकनीक) अच्छी तरह समझ लिया होगा।
संक्षेप में कहें तो, Circular Wait को हटाना ही डेडलॉक को रोकने का सबसे बेहतरीन और प्रैक्टिकल तरीका है, क्योंकि बाकी तरीकों में Resources की बहुत बर्बादी होती है।
अगर आपको यह लेख उपयोगी लगा हो तो इसे अपने दोस्तों के साथ शेयर करें।
FAQs
Q1. Deadlock Prevention का सबसे बड़ा नुकसान क्या है?
Ans: इसका सबसे बड़ा नुकसान Low Device Utilization है। कड़े नियमों के कारण कई बार रिसोर्स खाली पड़े रहते हैं लेकिन प्रोसेस उन्हें यूज़ नहीं कर पाता।
Q2. कौन सी शर्त को हटाना सबसे आसान है?
Ans: Circular Wait को हटाना सबसे आसान और प्रभावी है।
Q3. क्या Mutual Exclusion को पूरी तरह हटाया जा सकता है?
Ans: नहीं, क्योंकि कुछ हार्डवेयर (जैसे प्रिंटर) स्वभाव से ही Non-shareable होते हैं。