Professional Documents
Culture Documents
Deadlock
Deadlock
Fig:-deadlock
चित्र के अनुसार हमारे पास दो processes P1 तथा P2 हैं तथा दो resources R1 तथा R2 हैं .
इसमें resource R1 जो है वह process P1 के साथ allocate है , और resource R2 जो है वह
process P2 के साथ allocate है . परन्तु प्रक्रिया को पूरी होने के लिए P1 को resource R2
की आवश्यकता है इसलिए वह R2 के लिए request करता है , परन्तु R2 पहले से ही p2 के साथ
allocate है .
इसी तरह process P2 को अपनी execution को पूरी करने के लिए R1 की आवश्यकता है ,
परन्तु R1 तो पहले से ही P1 के साथ allocate (जु डा हुआ) है .
दोनों P1 तथा P2 एक दुसरे के resources के लिए हमे शा wait (इन्तजार) करते रहते है . यही
प्रक्रिया ही DEADLOCK कहलाती है .
Conditions of Deadlock
Deadlock की चार कंडीशन होती है जो निम्नलिखित है :-
1. mutual exclusion
2. hold & wait
3. no preemption
4. circular wait
1:- Mutual exclusion – इस स्थिति में , कोई न कोई एक ऐसा resource होता है जिसे
processes के मध्य share (साझा) ना किया जा सकें.
इसमें एक समय में केवल एक process ही resource को use कर सकती है . अर्थात् कोई दो
process एक समय में एक resource का प्रयोग नहीं कर सकते .
2:- Hold & wait – इसमें , process एक resource को hold किये रहता है जबकि दुसरे
resource के लिए wait (इन्तजार) करता है .
3:- No preemption – वह resource जो किसी process के लिए allocate हो चूका हो, उसे
जबरन किसी दुसरे process को allocate नही किया जा सकता है . Process अपनी मर्जी से
resource को release करता है .
4:- Circular wait – इस स्थिति में , प्रत्ये क process एक resource के लिए wait करता है
जिसको दस ू रे process ने held किया रहता है . इसमें सभी प्रोसे स एक circle के रूप में
resources का इन्तजार करते हैं . इसलिए इसे circular wait कहा जाता है .
Deadlock Prevention –डे डलॉक को रोकना
Deadlock को prevent करने के लिए हमें डे डलॉक की ऊपर दी गयी चार conditions में से
किसी एक को होने से रोकना पड़ता है . तभी जाके हम डे डलॉक को होने से रोक सकते हैं .