लाइवलॉक क्या है?
एक लाइवलॉक एक ऐसी स्थिति है जहां एक विशेष लॉक के लिए अनुरोध को बार-बार नकार दिया जाता है, क्योंकि कई अतिव्यापी साझा लॉक एक-दूसरे को दखल देते रहते हैं। प्रक्रियाएँ अपनी स्थिति बदलती रहती हैं, जो उन्हें कार्य पूरा करने से रोकती हैं। यह आगे उन्हें कार्य पूरा करने से रोकता है।
इस ऑपरेटिंग सिस्टम ट्यूटोरियल में, आप सीखेंगे:
- लाइवलॉक क्या है?
- लाइवलॉक के उदाहरण
- लाइवलॉक की ओर क्या है?
- डेडलॉक क्या है?
- डेडलॉक का उदाहरण
- भुखमरी क्या है?
- डेडलॉक, भुखमरी और लाइवलॉक के बीच अंतर
लाइवलॉक के उदाहरण
उदाहरण 1:
लाइवलॉक का सबसे आसान उदाहरण दो लोग होंगे जो एक गलियारे में आमने-सामने मिलते हैं, और दोनों एक दूसरे को पास करने के लिए आगे बढ़ते हैं। वे किसी भी प्रगति के बिना पक्ष की ओर से आगे बढ़ते हैं क्योंकि वे समय पर उसी तरह आगे बढ़ते हैं। यहां, वे कभी भी एक-दूसरे को पार नहीं करते हैं।
उदाहरण 2:
आप ऊपर दी गई छवि में देख सकते हैं, दिए गए दो प्रक्रियाओं में से प्रत्येक को दो संसाधनों की आवश्यकता है, और वे अपने लिए आवश्यक ताले प्राप्त करने के लिए आदिम मतदान प्रवेश रजिस्ट्री का उपयोग करते हैं। यदि प्रयास विफल हो जाता है, तो विधि फिर से काम करती है।
- प्रक्रिया A होल्ड Y संसाधन
- प्रोसेस बी में संसाधन X है
- प्रक्रिया A को X संसाधन की आवश्यकता होती है
- प्रोसेस B के लिए Y संसाधन की आवश्यकता होती है
मान लें, प्रक्रिया A पहले चलती है और डेटा संसाधन X को प्राप्त करती है और फिर B को संसाधित करती है और संसाधन Y को प्राप्त करती है, कोई भी प्रक्रिया जो पहले चलती है, उनमें से कोई भी आगे नहीं बढ़ती है।
हालाँकि, दोनों में से कोई भी प्रक्रिया अवरुद्ध नहीं है। वे बिना किसी प्रगति के बार-बार सीपीयू संसाधनों का उपयोग करते हैं, लेकिन किसी भी प्रसंस्करण ब्लॉक को रोकते हैं।
इसलिए, यह स्थिति एक गतिरोध की नहीं है क्योंकि अवरुद्ध होने वाली एक भी प्रक्रिया नहीं है, लेकिन हम स्थिति का सामना कर रहे हैं जो गतिरोध के बराबर है, जो कि LIVELOCK है।
लाइवलॉक की ओर क्या है?
लाइवलॉक तब होता है जब किसी विशिष्ट प्रणाली में अनुमत प्रक्रियाओं की कुल संख्या को प्रक्रिया तालिका में प्रविष्टियों की कुल संख्या से परिभाषित किया जाना चाहिए। इसलिए, प्रोसेस टेबल स्लॉट्स को Finite Resources के रूप में जाना जाना चाहिए।
डेडलॉक क्या है?
एक गतिरोध एक ऐसी स्थिति है जो ओएस में तब होती है जब कोई भी प्रक्रिया प्रतीक्षा की स्थिति में प्रवेश करती है क्योंकि एक और प्रतीक्षा प्रक्रिया मांग वाले संसाधन को पकड़ रही है। मल्टी-प्रोसेसिंग में गतिरोध एक आम समस्या है जहां कई प्रक्रियाएं एक विशिष्ट प्रकार के पारस्परिक अनन्य संसाधन को साझा करती हैं जिन्हें सॉफ्ट लॉक या सॉफ़्टवेयर के रूप में जाना जाता है।
डेडलॉक का उदाहरण
- एक वास्तविक दुनिया का उदाहरण यातायात होगा, जो केवल एक दिशा में जा रहा है।
- यहां, एक पुल को एक संसाधन माना जाता है।
- इसलिए, जब डेडलॉक होता है, तो आसानी से हल किया जा सकता है यदि एक कार बैक अप (प्रीपेप्ट रिसोर्सेस और रोलबैक)।
- गतिरोध की स्थिति उत्पन्न होने पर कई कारों का बैकअप लेना पड़ सकता है।
- तो भुखमरी संभव है।

भुखमरी क्या है?
भुखमरी एक ऐसी स्थिति है जहां सभी कम प्राथमिकता वाली प्रक्रिया अवरुद्ध हो गई, और उच्च प्राथमिकता वाली प्रक्रियाएं आगे बढ़ती हैं। किसी भी प्रणाली में, उच्च / निम्न प्राथमिकता वाले संसाधनों के लिए अनुरोध गतिशील रूप से होते रहते हैं। इस प्रकार, कुछ नीति को यह तय करने की आवश्यकता होती है कि समर्थन कब मिलेगा।
कुछ एल्गोरिदम का उपयोग करते हुए, कुछ प्रक्रियाओं को गतिरोध के बावजूद वांछित सेवा प्राप्त नहीं हो सकती है। भुखमरी तब होती है जब कुछ सूत्र साझा संसाधनों को लंबे समय तक अनुपलब्ध बनाते हैं।
भुखमरी का उदाहरण:
उदाहरण के लिए, एक ऑब्जेक्ट एक सिंक्रनाइज़ विधि प्रदान करता है, जिसे वापस लौटने में लंबा समय लगता है। यदि एक थ्रेड अक्सर इस विधि का उपयोग करता है, तो अन्य थ्रेड्स को भी एक ही ऑब्जेक्ट के लिए लगातार सिंक्रनाइज़ एक्सेस की आवश्यकता होती है जो अक्सर अवरुद्ध हो जाएगा।
डेडलॉक, भुखमरी और लाइवलॉक के बीच अंतर
- गतिरोध एक ऐसी स्थिति है जो ओएस में तब होती है जब कोई प्रक्रिया प्रतीक्षा की स्थिति में प्रवेश करती है क्योंकि मांगे गए संसाधन को किसी अन्य प्रतीक्षा प्रक्रिया द्वारा आयोजित किया जा रहा है।
- दूसरी ओर, एक लाइवलॉक लगभग एक गतिरोध के समान है, सिवाय इसके कि प्रक्रियाओं के राज्य जो एक लाइवलॉक में शामिल होते हैं, हमेशा एक दूसरे को बदलते रहते हैं, कोई भी प्रगति नहीं करता है।
- तो, Livelock संसाधन भुखमरी का एक अनूठा मामला है।
सारांश:
- परिभाषा: एक लाइवलॉक एक ऐसी स्थिति है जहां एक विशेष लॉक के लिए अनुरोध को बार-बार नकार दिया जाता है, क्योंकि कई अतिव्यापी साझा लॉक एक-दूसरे को दखल देते हैं।
- लाइवलॉक तब होता है जब किसी विशिष्ट प्रणाली में अनुमत प्रक्रियाओं की कुल संख्या को प्रक्रिया तालिका में प्रविष्टियों की कुल संख्या से परिभाषित किया जाना चाहिए
- एक गतिरोध एक ऐसी स्थिति है जो ओएस में तब होती है जब कोई भी प्रक्रिया प्रतीक्षा की स्थिति में प्रवेश करती है क्योंकि एक और प्रतीक्षा प्रक्रिया मांग वाले संसाधन को पकड़ रही है।
- एक वास्तविक दुनिया का उदाहरण यातायात होगा, जो केवल एक दिशा में जा रहा है।
- लाइवलॉक का एक उदाहरण दो लोग होंगे जो एक गलियारे में आमने-सामने मिलते हैं, और दोनों एक दूसरे को पास करने के लिए आगे बढ़ते हैं।
- भुखमरी एक ऐसी स्थिति है जहां सभी कम प्राथमिकता वाली प्रक्रिया अवरुद्ध हो गई, और उच्च प्राथमिकता वाली प्रक्रियाएं आगे बढ़ती हैं।