Deadlock क्या है ?और यह क्यों होता है? – आप सब तो जानते ही हैं कि आज का समय कितना आधुनिक बन चुका है । लोग अपने किसी भी प्रकार के कार्य को करने के लिए इंटरनेट का इस्तेमाल करते हैं ।और इंटरनेट ने भी लोगों के कार्य को आसानी से पूर्ण करने में काफी सहयोग देया है। परंतु इंटरनेट के अंतर्गत भी लोगों को काफी सारे समस्याओं का सामना करना पड़ता है।
इन्हीं समस्याओं में से एक है डेडलॉक, यह एक ऐसी समस्या है, जिसके अंतर्गत दो या दो से अधिक प्रोसेस केवल एक ही रिसोर्स के लिए फाइट करते हैं। आज के समय में बहुत से लोग इंटरनेट का इस्तेमाल करते हैं ,और बहुत से लोगों ने इस समस्या का सामना भी किया होगा ।
परंतु आज भी ऐसे बहुत से लोग हैं , जिनको डेडलॉक के बारे में पता नहीं होता। इसलिए आज हम आपको अपने इस आर्टिकल के अंतर्गत डेडलॉक के बारे में पूरी जानकारी प्रदान करने की कोशिश करेंगे। और इस समस्या का निवारण कैसे करें इस बारे में भी बात करेंगे तो चलिए बिना समय गवाएं इसके बारे में विस्तार से जानते हैं।
Read More – बिजनेस के लिए फंड कैसे इकट्ठा करें
Table of Contents
Deadlock क्या है:-
डेडलॉक ऑपरेटिंग सिस्टम में होने वाली एक ऐसी स्थिति है, जिसके अंतर्गत दो या दो से अधिक प्रोसेस को अपने कार्य को पूरा करने के लिए रिसोर्सेज की आवश्यकता होती है । परंतु उन रिसोर्सेज को किसी दूसरे प्रोसेस के द्वारा होल्ड किया गया होता है ।जिसके कारण प्रोसेस का कार्य पूरा नहीं हो पाता और दो या दो से अधिक प्रोसेस केवल एक ही रिसोर्सेज के लिए फाइट करते हैं। जिस के रिजल्ट में हमारा सिस्टम डेड लॉक में चला जाता है।
उदाहरण:-
चलिए डेडलॉक को उदाहरण के तौर पर समझते हैं।
मान लीजिए कि दो दोस्त हैं और दोनों दोस्त कंप्यूटर सिस्टम में वीडियो गेम खेलना चाहते हैं। जिसके कारण दोनों दोस्त आपस में लड़ाई करते हैं। एक दोस्त के पास वीडियो गेम का रिमोट कंट्रोल होता है, तो दूसरे दोस्त के पास वीडियो गेम का सीडी होता है। और वह दोनों दोस्ती आपस में समझौता नहीं करना चाहते जिसके कारण वह दोनों दोस्तों से कोई भी वीडियो गेम नहीं खेल पाता। इस स्थिति को ही कंप्यूटर की भाषा में डेडलॉक कहा जाता है।
डेडलॉक कब होता है:-
Deadlock होने के लिए नीचे दिए गए कंडीशन उसका एक साथ होना जरूरी होता है। डेडलॉक होने का मुख्य रूप से चार कंडीशन होता है। यह डेडलॉक के लिए बहुत जरूरी कंडीशन है । चलिए इन चारों कंडीशन के बारे में विस्तारपूर्वक जानते हैं।
1.Mutual exclusion:-
म्यूच्यूअल एक्सक्लूजन के कंडीशन में एक या एक से ज्यादा रिसोर्स ऐसा होता है, जिसे प्रोसेस के माध्यम से शेयर ना किया जा सके। इसके अंतर्गत एक समय में केवल एक प्रोसेस ही रिसोर्स को यूज कर सकता है यानी कि कोई भी दो प्रोसेस एक समय में एक रिसोर्स का प्रयोग नहीं कर सकता ।ऐसा करने से सिस्टम डेडलॉक के कंडीशन में चला जाता है।
2.Hold & Wait :-
होल्ड एंड वेट के कंडीशन के अंतर्गत एक प्रोसेस कम से कम एक रिसोर्से को होल्ड किए हुए रहता है। और दूसरे रिसॉर्ट के लिए वेट करता है ।इसी कारण हमारा सिस्टम डेडलॉक के कंडीशन में चला जाता है।
3.No Preemption:-
इस कंडीशन के अंतर्गत वह रिसोर्स जो किसी प्रोसेस के लिए allocate हो चुका होता है ,उसे जबरदस्ती किसी दूसरे प्रोसेस के लिए allocate नहीं किया जा सकता। प्रोसेस अपनी मर्जी से किसी भी रिसोर्स को रिलीज करता है। इस कंडीशन के अंतर्गत एक रिसोर्स को प्रोसेस से तब तक नहीं लिया जा सकता जब तक प्रोसेस खुद अपनी मर्जी से रिपोर्स को रिलीज ना कर दे।
4.Circular Wait
सर्कुलर वेट के कंडीशन के अंतर्गत प्रत्येक प्रोसेस एक रिसोर्स के लिए वेट करता है, जिसको दूसरे प्रोसेस के द्वारा होल्ड किया गया होता है। प्रोसेस जो रिसोर्स के लिए वेट कर रहा होता है, वह सर्कुलर फॉर्म में होता हैं। इसके अंतर्गत सभी प्रोसेस रिपोर्स का इंतजार एक सर्कल के रूप में करते हैं। इसीलिए इस कंडीशन को सर्कुलर वेट कहा जाता है।
डेडलॉक के समस्या का निवारण:-
डेड लॉक के समस्या का निवारण करने के लिए हमें प्रोसेस को किल करना होता है। एक एक करके सारे प्रोसेस को किल करने के बाद ही डेडलॉक की समस्या का रिकवरी हो पाता है।
Deadlock की समस्या से रिकवरी करने के लिए रिसोर्स को उस प्रोसेस से preempt कर देना होता है जो कि डेडलॉक में इंवॉल्व होता है। और उस Preempted रिसोर्स को दूसरे रिसोर्ट को एलोकेट करना होता है ताकि वह सिस्टम को डेडलॉक से बाहर ला सके। और ऐसे कंडीशन में सिस्टम स्टार्वेशन में चला जाता है।