Deadlock क्या होता हैं, कैसे काम करता हैं?
Operating system में Deadlock तभी होता है या डेडलॉक की
स्थिति तभी बनती है जब दो कंप्यूटर process एक ही resource को साझा करते हैं। और एक साथ उन्हें एक्सेस करने की कोशिश करने लगते
हैं।
(आसान शब्दों में)... Deadlock वह
स्थिति है जिसमें दो कंप्यूटर processes केवल एक resource को share (साझा)
करते है। जिसके कारण कोई भी प्रोसेस resource को access नही कर पाता है।
उदाहरण:- माना दो व्यक्ति है और दोनों Computer
game खेलना चाहते हैं जिसके कारण
दोनों लड़ते है। एक पास remote कण्ट्रोल है तो दुसरे के पास
गेम्स की cd है।
इस कारण से दोनों व्यक्ति में से कोई भी phone charge नहीं पाता है लेकिन दोनों में से कोई भी Cooperate करने के लिए तैयार नही है. तब यह स्थिति ही Deadlock कहलाती है।
हमारे पास दो processes p1 तथा p2 हैं तथा दो resources r1 तथा r2 हैं. इसमें resource r1 जो है वह process p1 के साथ allocate है, और resource r2 जो है वह process p2 के साथ allocate है। परन्तु प्रक्रिया को पूरी होने
के लिए resource r2 की आवश्यकता है। इसलिए वह r2 के लिए request करता है, परन्तु r2 पहले से ही p2 के साथ allocate है।
इसी तरह process p2 को अपनी execution को पूरी करने के लिए r1 की आवश्यकता है, परन्तु r1 तो पहले से ही p1 के साथ allocate है। दोनों p1 तथा p2 एक दुसरे के resources के लिए हमेशा Wait (इन्तजार) करते रहते है. यही
प्रक्रिया ही Deadlock कहलाती है।
DEADLOCK की CONDITIONS
Deadlock में चार कंडीशन होती है.
1.Mutual exclusion
2. Hold & wait
3. No Preemption
4. Circular wait
1.Mutual Exclusion:- इस स्थिति में, कोई न कोई एक ऐसा resource होता है जिसे Processes के मध्य share (साझा) ना किया जा सकें। अगर हमारे पास ऐसे रिसोर्सेज होते है जिन्हें
शेयर नहीं किया जा सकता है तो उस स्थिति में हम Mutual Exclusion को होने से नहीं रोक सकते।
2.Hold & Wait:- इसमें, processes एक resource को होल्ड किये रहते है जबकि दुसरे resource के लिए wait (इन्तजार) करते है। हम hold & wait वाले condition को होने से रोक सकते है। परन्तु इसकी हानि यह है
कि इससे सिस्टम की उपयोगिता कम हो जाती है।
3.No Preemption:- वह resource जो किसी process के लिए allocate हो चूका हो, उसे जबरन किसी दुसरे process को allocate नही किया जा सकता है। वह दुसरे resource का इन्तजार कर रहा हैं तो उस प्रोसेस से सभी resource को रिलीज़ कर दिया जाता हैं जिससे दूसरें प्रोसेस अपने execution को पूरा कर सके।
4.Circular Wait:- इस स्थिति में, प्रत्येक process एक resource के लिए wait करता है जिसे दुसरा Process hold किये हुए होता है। इसका मतलब ये हुआ की resource का एक क्रम होता हैं जिसके अनुसार ही process को रिसोर्से Allocate किया जाता हैं।
Note:- आप को यह Post कैसी लगी, और कोई सवाल होतो हमें Comment में बताये। और इसे अपने दोस्तों के साथ share ↷ भी करे. ताकि उन्हें यह जानकारी मिल सके ।
अगर अभी बी कोई सवाल आप पूछना चाहते हो तो निचे Comment Box में जरुर लिखे। और कोई सुझाव देना चाहते हो तो
जरुर दीजिये जिस्से हम आपके लिए कुछ नया कर सके।
हमारे Blog को अभी तक अगर आप Subscribe नहीं किये हैं तो जरुर Subscribe🙏 करें। कोशीश करें, कुछ
नया सीखें और दूसरों को सिखाएं। चलो बनायें Digital India जय हिंद, वंदेमातरम्, धन्यवाद....👍।

कोई टिप्पणी नहीं:
If you have any doubts. Please let me know