Dead Lock क्या है?

Computing में dead lock एक ऐसी situation है जब दो computer एक ही resource को साझा करते है और एक ही साथ उन्हें access करने की कोशिश करते है जिसके कारण कोई भी resource access नही हो पाता है।

अर्थात dead lock वह स्थिति है जब एक से ज्यादा process एक ही resource के लिए fight करते है जिसके कारण हमारे computer का system dead lock में चला जाता है यानी कोई भी resource access नही हो पाता है।

नीचे कुछ condition दी जा रही है जिसके कारण हमारे computer system में dead lock की स्थिति आती है:-

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

1:- mutual exclusion:- mutual exclusion की स्थिति में, कोई न कोई एक ऐसा resource होता है, जिसे processes के मध्य share ना किया जा सकता है।

2:- hold & wait:- hold and wait process में एक resource को होल्ड किये रहते है और दूसरे resource के लिए wait करते है।

3:- no preemption:- no preemption में वह resource जो किसी process के लिए allocate हो चूका हो, उसे जबरदस्ती किसी दूसरे process के लिए allocate नही किया जा सकता है।

4:- circular wait:- circular wait की इस स्थिति में, प्रत्येक process एक resource के लिए wait करता है जिसे दूसरा held किये हुए होता है।

Dead Lock avoidence:-

हालांकि dead lock के अल्गोरिथम उतने अच्छे नहीं है जिससे रिसोर्स का यूटिलाइजेशन और सिस्टम का थ्रूपुट कम हो जाता है। लेकिन हम dead lock को avoid कर सकते है। डेडलॉक avoidance अल्गोरिथम यह सुनिश्चित करती है कि प्रोसेस कभी भी unsafe स्टेट में नहीं जाएगी।

इसमें दो स्टेट्स होते है:-

1:- safe state

2:- unsafe state

सेफ स्टेट वो स्टेट होता है जिसमें हम प्रोसेस को एक सुरक्षित क्रम में एक्सीक्यूट करते है। इसमें प्रोसेस सुरक्षित क्रम में इस प्रकार मौजूद रहता है कि पहलीपहले प्रोसेस के पास एक्सीक्यूट होने के लिए पर्याप्त रिसोर्सेज हों। और जब execution समाप्त हो जाएँ तो इस प्रोसेस के रिसोर्सेज के रिलीज़ होने के बाद अगले प्रोसेस के execution के लिए भी पर्याप्त रिसोर्सेज हों।

Unsafe स्टेट: अगर प्रोसेस एक सुरक्षित क्रम में नहीं है तो वह unsafe स्टेट में होता है और इसमेंडेडलॉक हो सकता है।

Leave a Comment