हेलो दोस्तों आज के इस ब्लॉग पोस्ट(Deadlock Prevention In OS In Hindi) में मैं आपको deadlock prevention methods के बारे में बताने वाला हूँ |
Deadlock prevention(Deadlock Prevention In OS In Hindi) को आप एक मेथड या एप्रोच समझ सकते है जिसका उपयोग designers deadlock को डील करने के लिए करते है |
deadlock(Deadlock Prevention In OS In Hindi) को रोकने का जो बेसिक आईडिया है वो यह है कि डेडलॉक होने के लिए जो नेसेसरी चार कंडीशन है उनमे से हम कोई एक को भी होने से रोक दे तो फिर system deadlock नहीं होगा|
और ये चार कंडीशंस जो डेडलॉक होने के लिए जरुरी है वो है:Deadlock Prevention In OS In Hindi
Mutual exclusion
Hold and wait
No Preemption
Circular wait
Mutual exclusion :
Non -sharabe resources जैसे कि प्रिंटर के लिए म्यूच्यूअल एक्सक्लूशन की कंडीशन जरूर ही होल्ड होनी चाहिए |
क्योकि प्रिंटर को एक साथ कई प्रोसेस के साथ शेयर नहीं किया जा सकता है |
और ऐसे रेसौर्सेस जो कि sharable है उन्हें म्यूच्यूअल एक्सक्लूसिव एक्सेस की जरुरत ही नहीं होती है |
इसलिए इस केस में डेडलॉक होने का चांस ही नहीं होता है |
जैसे कि रीड ओनली फाइल को एक साथ कई सारी प्रोसेस एक्सेस कर सकती है | और यहाँ पर डेडलॉक को कोई भी scene नहीं होता है |
इसलिए mutual exclusion को रोकने के लिए जब किसी प्रोसेस को रिसोर्स बहुत ही जरुरी हो जाता है तभी असाइन किया जाये अन्यथा नहीं किया जाये |
और इस बात का भी ध्यान रखा जाये की जल्दी से जल्दी कौन सी प्रोसेस रेकौर्सेस को claim कर सकती है |
Hold and wait :
hold and wait कंडीशन को एलिमिनेट करने के लिए हम ऐसे प्रोसेस को फोरस्फुल्ली रिसोर्स छोड़ने के लिए बोल सकते है|
जो कि किसी नए रिसोर्स के लिए रिक्वेस्ट करती है और उन्हें रिसोर्स उपलब्ध नहीं होता है |
इस स्ट्रेटेजी को हम दो प्रोटोकॉल की मदद से इम्प्लीमेंट कर सकते है जो निम्नलिखित है :
पहला तो यह है कि कोई भी प्रोसेस execution स्टार्ट करने से पहले उन सभी रिसोर्सेज के लिए रिक्वेस्ट करें जो कि execution के लिए जरुरी है |
और इस केस में इस प्रोसेस को कम्पलीट होने के लिए हम इस प्रोसेस के अलावा और सभी सिस्टम कॉल को सर्वे नहीं करते है|
और दूसरा प्रोटोकॉल यह है कि किसी भी प्रोसेस को कोई रिसोर्स तभी दिया जायेगा जब उस प्रोसेस के पास एक भी रिसोर्स उपलब्ध नहीं होगा |
मतलब प्रोसेस रिसोर्स के लिए रिक्वेस्ट करेंगी और उसे use करेगी |
और किसी नए रिसोर्स के लिए रिक्वेस्ट करने से पहले इसे सभी रिसोर्सेज जो इसने करंट में होल्ड कर रखे है वह सब छोड़ने पड़ेगे |
पर इन प्रोटोकॉल्स के दो मुख्या disadvantages है :
इसमें एक तो resources utilization बहुत ही स्लो हो सकता है |
क्योकि ऐसे बहुत से रिसोर्स हो सकते है जो की लम्बे टाइम से allocated है पर use नहीं किये जा रहे है |
starvation की स्थिति possible है |
No Preemption :
इस कंडीशन को हम नीचे दिए गए कुछ प्रोटोकॉल की मदद से दूर कर सकते है |
अगर कोई प्रोसेस किसी रिसोर्स के लिए रिक्वेस्ट करती है और वह deny हो जाती है|
तो उस प्रोसेस को वह अपना original रिसोर्स भी रिलीज़ करना पड़ेगा जो उसने होल्ड करके रखा है |
हाँ बाद में वह इन दोनों को एक साथ रिक्वेस्ट कर सकती है |
और इसका एक alternative यह भी है की अगर कोई प्रोसेस कोई रिसोर्स के लिए रिक्वेस्ट करती है|
और वह रिसोर्स अभी किसी और प्रोसेस के पास है तब इस केस में OS इस दूसरी प्रोसेस को preempt कर सकता है|
और उससे रिसोर्स छोड़ने के लिए बोल सकता है जिससे की पहली प्रोसेस अपना execution पूरा कर ले |
पर ऐसा तभी हो सकता है जब कोई भी दो प्रोसेस की प्रायोरिटी same न हो |
पर ऐसा प्रक्टिकली होना तभी पॉसिबल है जब हम appllied resources का स्टार्ट पॉइंट को सेव कर सके और उसे बाद में रिस्टोर कर सके |
जैसे कि सपु register और memory space |
Circular wait :
इस केस में डेडलॉक रोकने के लिए हम रिसोर्सेज की लीनियर ऑर्डरिंग कर देते है |
जैसे अगर कोई प्रोसेस R टाइप के रिसोर्सेज को एक्सेस कर सकती है तो फिर वह बस इसी टाइप के resources को access करेगी |
पर इस केस में एक disadvantage यह है कि जैसे की सभी रिसोर्स को एक आर्डर में रख देने पर हमें जब इन रिसोर्सेज की जरुरत होगी|
तब हम इन्हे एक्सेस नहीं कर पाएंगे क्योकि इनका आर्डर निकल चुका होगा |
और एक साथ process को एक्सेक्यूटे करना बहुत ही कम हो जायेगा |
You can also go through a few more amazing blog links below related to deadlock:
Deadlock Prevention In OS In Hindi…
Starvation vs Deadlock In Hindi…
Deadlock prevention in os in Hindi…
What Is Deadlock Avoidance OS In Hindi…
What is Deadlock Avoidance In Operating System…
Methods For Deadlock Prevention…
Methods For Deadlock Handling/ Deadlock handling in DBMS…
What is Starvation? How does it differ and is similar to deadlock?…
Deadlock in the distributed operating system in Hindi…
Conclusion:
तो दोस्तों इस ब्लॉग पोस्ट(Deadlock Prevention In OS In Hindi) में हमने देखा कि कैसे हम डेडलॉक को prevent कर सकते है | इसके के लिए हमें सिर्फ deadlock होने के लिए जो चार मैं conditions होती है उनमे से किसी भी एक कंडीशन को रोक देना है तो फिर सिस्टम में डेडलॉक की कंडीशन नहीं बनती है | जब किसी एक प्रोसेस को एक्सेक्यूटे होने के लिए जो रिसोर्स चाहिए होता है वो रिसोर्स किसी और प्रोसेस के पास उपलब्ध होता है तब ऐसे कंडीशन में डेडलॉक होने के chance बन जाते है |
इस ब्लॉग(Deadlock Prevention In OS In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते support@a5theory.comपर ईमेल लिख सकते है|
आशा करता हूँ, कि आपने इस पोस्ट(Deadlock Prevention In OS In Hindi) को खूब एन्जॉय किया होगा|
आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|
आपका समय शुभ हो|