डेडलॉक क्या है? Deadlock in Hindi

हेलो स्टूडेंट्स, इस पोस्ट में हम आज Deadlock in Hindi के बारे में पढ़ेंगे | इंटरनेट में ऑपरेटिंग सिस्टम के नोट्स हिंदी में बहुत कम उपलब्ध है, लेकिन हम आपके लिए यह हिंदी में डिटेल्स नोट्स लाये है, जिससे आपको यह टॉपिक बहुत अच्छे से समझ आ जायेगा |

Deadlock in Hindi

Deadlock वह condition है जिसमें दो या दो से अधिक processes केवल एक resource के लिए fight (लड़ाई) करते हैं जिसके कारण कोई भी resource को access नही कर पाता है.

दूसरे शब्दों में कहें तो, “Deadlock वह स्थिति है जिसमें दो या दो से अधिक processes को अपने execution पूरा करने के लिए resource की आवश्यकता होती है परन्तु उन resources को किसी दूसरे process के द्वारा hold किया गया होता है. जिसके कारण process का execution पूरा नहीं हो पाता.”

डेडलॉक operating system में होने वाली एक स्थिति है जिसमे कोई एक process (प्रोसेस) waiting state में चली जाती है क्योंकि दूसरी process के द्वारा resource को hold किया गया होता है.

उदहारण के लिए माना दो दोस्त है और दोनों कंप्यूटर गेम्स खेलना चाहते हैं जिसके कारण दोनों लड़ते है. एक के पास रिमोट कण्ट्रोल है तो दुसरे के पास गेम्स की cd है.
जिसके कारण दोनों दोस्तों में से कोई भी नही खेल पाता है लेकिन दोनों में से कोई भी cooperate करने के लिए तैयार नही है. यह स्थिति ही डेडलॉक कहलाती है.
image Fig:-deadlock

चित्र के अनुसार हमारे पास दो processes P1 तथा P2 हैं तथा दो resources R1 तथा R2 हैं. इसमें resource R1 जो है वह process P1 के साथ allocate है, और resource R2 जो है वह process P2 के साथ allocate है. परन्तु प्रक्रिया को पूरी होने के लिए P1 को resource R2 की आवश्यकता है इसलिए वह R2 के लिए request करता है, परन्तु  R2 पहले से ही p2 के साथ allocate है.
इसी तरह process P2 को अपनी execution को पूरी करने के लिए R1 की आवश्यकता है, परन्तु R1 तो पहले से ही P1 के साथ allocate (जुडा हुआ) है.
दोनों P1 तथा P2 एक दुसरे के resources के लिए हमेशा wait (इन्तजार) करते रहते है. यही प्रक्रिया ही DEADLOCK कहलाती है.

Conditions of Deadlock in Hindi

Deadlock की चार कंडीशन होती है जो निम्नलिखित है:-

  1. mutual exclusion
  2. hold & wait
  3. no preemption
  4. circular wait

1:- Mutual exclusion – इस स्थिति में, कोई न कोई एक ऐसा resource होता है जिसे processes के मध्य share (साझा) ना किया जा सकें.

इसमें एक समय में केवल एक process ही resource को use कर सकती है. अर्थात् कोई दो process एक समय में एक resource का प्रयोग नहीं कर सकते.

2:- Hold & wait – इसमें, process एक resource को hold किये रहता है जबकि दुसरे resource के लिए wait (इन्तजार) करता है.

3:- No preemption – वह resource जो किसी process के लिए allocate हो चूका हो, उसे जबरन किसी दुसरे process को allocate नही किया जा सकता है. Process अपनी मर्जी से resource को release करता है.

4:- Circular wait – इस स्थिति में, प्रत्येक process एक resource के लिए wait करता है जिसको दूसरे process ने held किया रहता है. इसमें सभी प्रोसेस एक circle के रूप में resources का इन्तजार करते हैं. इसलिए इसे circular wait कहा जाता है.

इसे भी पढ़ें:- Deadlock prevention और avoidance क्या है?

Deadlock Preventionडेडलॉक को रोकना

Deadlock को prevent करने के लिए हमें डेडलॉक की ऊपर दी गयी चार conditions में से किसी एक को होने से रोकना पड़ता है. तभी जाके हम डेडलॉक को होने से रोक सकते हैं.

Mutual exclusion – यदि हम किसी resource को share कर सकते हैं तो हम mutual exclusion को होने से रोक सकते हैं. परन्तु हमारे पास बहुत सारें ऐसे resources होते है जिन्हें share नहीं किया जा सकता है जैसे कि – tape driver, printer आदि. इसके कारण हम mutual exclusion के द्वारा हमेशा डेडलॉक को prevent नहीं कर सकते.

Hold & Wait – यदि हम प्रोसेस को इसके execution से पहले ही resource allocate कर दे तो हम hold and wait की condition को होने से रोक सकते हैं. परन्तु इसका नुकसान यह है कि इससे device का utilization बहुत कम हो जाता है.

No preemption – किसी process के द्वारा hold किये गये resource को release करके हम इस कंडीशन को होने से रोक सकते है.

Circular wait – इस condition को रोकने के लिए हम process को घटते या बढ़ते क्रम में ही resources allocate कर सकते है.

Deadlock avoidance – डेडलॉक को अवॉयड करना

Deadlock prevention की algorithm बहुत कम प्रभावशाली है क्योंकि इनसे device का utilization और सिस्टम का throughput कम होता है. परन्तु हम डेडलॉक को avoid कर सकते हैं.

डेडलॉक को अवॉयड करने के लिए हम banker’s algorithm का प्रयोग करते हैं.

इसे पढने के लिए click करें:- banker’s algorithm क्या है?

Deadlock Detection – डेडलॉक को डिटेक्ट करना

ऑपरेटिंग सिस्टम resource scheduler का प्रयोग करके deadlocks को detect कर सकता है. Resource scheduler ऑपरेटिंग सिस्टम की सभी processes को allocate किए गए resources को track करने मे मदद करता है. इसलिए जब भी कोई डेडलॉक होता है तो उसे algorithms का प्रयोग करके solve कर लिया जाता है. 

Disadvantage of Deadlock in Hindi – डेडलॉक के नुकसान

इसके नुकसान निम्नलिखित हैं:-

  1. इसके कारण process के execution में देरी होती है.
  2. इसमें प्रोसेस को पता होना चाहिए कि future में उसे किस रिसोर्स की जरूरत होगी.
  3. इसमें preemption आवश्यकता से अधिक बार होता है.

डेडलॉक के लाभ – 

इसके लाभ निम्नलिखित हैं:-

  • यह स्थिति उन processes के लिए अच्छी है जो सिर्फ एक कार्य को ही perform करते हैं.
  • deadlock avoidance के लिए no preemption की आवश्यकता नहीं होती.

references:-

निवेदन:- अगर आपको यह पोस्ट आपको पसंद आई है तो इसे अपने दोस्तों के साथ भी शेयर करें तथा deadlock के बारे में आप कुछ और जानते हो तो हमें कमेंट के माध्यम से बताएँ।

मैं आपके लिए नए नए notes और articles लाते रहता हूँ. अगर आपका कोई सुझाव है या किसी subject से सम्बन्धित कोई सवाल हो तो आप उसे भी नीचे comment करके बता सकते हैं. मैं उसे 1-2 दिन में डाल दूंगा. Thanks.

हम आशा करते है कि यह operating system के हिंदी में नोट्स आपकी स्टडी में उपयोगी साबित हुए होंगे | अगर आप लोगो को इससे रिलेटेड कोई भी किसी भी प्रकार का डॉउट हो तो कमेंट बॉक्स में कमेंट करके पूंछ सकते है | आप इन्हे अपने Classmates & Friends के साथ शेयर करे |

Leave a Comment

Your email address will not be published. Required fields are marked *