Introduction (परिचय)
Operating System में कई processes एक साथ run करती हैं और resources (CPU, memory, files आदि) को share करती हैं।
कई बार ऐसा होता है कि processes एक-दूसरे के resources का इंतजार करती रहती हैं और कोई भी process आगे नहीं बढ़ पाता।
इस स्थिति को Deadlock कहा जाता है।
Deadlock क्या होता है
Deadlock एक ऐसी स्थिति है जहाँ दो या अधिक processes एक-दूसरे के resources का wait करते रहते हैं और कोई भी process execute नहीं कर पाता।
Simple Definition
Deadlock = ऐसी स्थिति जिसमें processes हमेशा के लिए wait करती रहती हैं
Example

मान लो:
- Process P1 के पास Resource R1 है और वह R2 का इंतजार कर रहा है
- Process P2 के पास Resource R2 है और वह R1 का इंतजार कर रहा है
अब:
- P1 को R2 चाहिए
- P2 को R1 चाहिए
- लेकिन दोनों के पास जो resource है, उसे छोड़ नहीं रहे
इसलिए दोनों process हमेशा के लिए wait करते रहेंगे
यही Deadlock है
Real Life Example
मान लो दो लोग एक संकरे रास्ते (bridge) पर आमने-सामने आ जाते हैं:
- कोई पीछे नहीं हटता
- दोनों आगे नहीं बढ़ सकते
दोनों वहीं फँस जाते हैं
यह Deadlock का real-life example है
Deadlock होने की Conditions
Deadlock होने के लिए चार conditions का एक साथ होना जरूरी है:
1. Mutual Exclusion
Resource एक समय में केवल एक process use कर सकता है
2. Hold and Wait
Process एक resource hold करता है और दूसरे resource का wait करता है
3. No Preemption
Resource को forcefully छीना नहीं जा सकता
4. Circular Wait
Processes एक circular chain में एक-दूसरे का wait करते हैं
Example:
P1 → P2 → P3 → P1
Deadlock Graph Concept
Deadlock को graph के माध्यम से भी समझा जा सकता है:
- Nodes = Processes और Resources
- Edges = request या allocation
अगर graph में cycle बनता है, तो deadlock होने की संभावना होती है
Deadlock के Effects
- System की performance रुक जाती है
- Processes stuck हो जाते हैं
- Resources block हो जाते हैं
- System hang हो सकता है
Important Point
Deadlock तभी होगा जब चारों conditions एक साथ true हों
अगर एक भी condition remove कर दी जाए, तो deadlock नहीं होगा
Deadlock को handle करने के तरीके
Deadlock को handle करने के चार main तरीके होते हैं:
- Prevention
- Avoidance
- Detection
- Recovery
(इनको हम अगले topics में detail में पढ़ेंगे)
Key Points
- Deadlock = infinite waiting
- 4 conditions जरूरी हैं
- Circular wait बहुत important concept है
Conclusion
Deadlock Operating System की एक गंभीर समस्या है, जिसमें processes एक-दूसरे का इंतजार करते हुए stuck हो जाते हैं और system आगे नहीं बढ़ पाता।
इसलिए deadlock को समझना और उसे avoid करना system design के लिए बहुत जरूरी है।