अगर आप Computer Science पढ़ते हैं, या कोई competitive exam (GATE, UGC-NET, B.Tech, Diploma, Polytechnic, SSC IT Exams) की तैयारी कर रहे हैं, तो Deadlock in OS एक ऐसा topic है जो हमेशा ही important रहता है। Operating System की दुनिया में deadlock एक ऐसी स्थिति है जहाँ दो या दो से ज़्यादा processes एक-दूसरे के resources का इंतज़ार करते-करते रुक जाती हैं — और system आगे नहीं बढ़ पाता।
इस article में हम Deadlock in OS को सबसे आसान भाषा Hindi में समझेंगे — with examples, diagrams, causes, conditions, avoidance, prevention और solutions।
ऑपरेटिंग सिस्टम में डेडलॉक क्या है (What is Deadlock in OS) ?
Basic definition:
Deadlock in OS वह स्थिति है जहाँ Two or more processes ऐसे resources की demand करती हैं जो एक-दूसरे के पास पहले से hold हैं और कोई भी process आगे नहीं बढ़ पाती।
Example:
मान लीजिए दो लोगों को दो चीजें चाहिए — एक को pen चाहिए और एक को notebook।
पहले व्यक्ति के पास pen है लेकिन notebook चाहिए;
दूसरे व्यक्ति के पास notebook है लेकिन pen चाहिए।
दोनों एक-दूसरे का इंतज़ार करते रहेंगे → यही deadlock है।
Operating System में भी यह condition तब होती है जब processes एक-दूसरे के resources hold किए रहती हैं और आगे processing नहीं कर पातीं।
डेडलॉक कैसे होता है? (Whey Deadlock in OS)
Deadlock का main कारण है resource dependency।
- Process-1 को Resource A चाहिए
- Process-2 को Resource B चाहिए
लेकिन Process-1 ने B hold कर रखा है
और Process-2 ने A hold किया हुआ है।
दोनों processes “wait” mode में चली जाती हैं → System freeze-जैसी स्थिति बनती है।
OS हमेशा deadlock को नहीं रोक पाता क्योंकि:
- Resources limited होते हैं
- Processes unpredictable होती हैं
- Multiple tasks parallel चलते हैं
- Releasing resources हमेशा OS control में नहीं होता
ये भी पढ़ें : What is IoT in Hindi | IoT Kya Hai- कैसे काम करता है, कहाँ Use होता है
ऑपरेटिंग सिस्टम में डेडलॉक होने की शर्तें (Conditions for Deadlock in OS)
Deadlock होने के लिए चार conditions का fulfill होना जरूरी है। अगर इनमें से कोई एक भी condition टूट जाए, deadlock नहीं होगा।
Mutual Exclusion
Resource एक समय में सिर्फ एक process use कर सकती है (non-shareable resource)।
Hold and Wait
Process एक resource hold करते हुए दूसरे resource का wait करती है।
No Preemption
Resource को OS जबरदस्ती छीन नहीं सकता; process खुद ही release करेगी।
Circular Wait
Processes एक circular chain में एक-दूसरे का इंतज़ार करती हैं।
Example: P1 → P2 → P3 → P1
अगर ये चारों conditions मिल जाएं, तो deadlock confirm है।
डेडलॉक के प्रकार (Types of Deadlock in OS)
Deadlock चार प्रकार से classify किया जा सकता है:
1. Resource Deadlock
जब processes में hardware या system resource का conflict हो।
Example: printer, scanner, tape drive, memory block आदि।
2. Communication Deadlock
जब दो processes एक-दूसरे से message या signal का इंतज़ार करती रहें।
Example: client-server communication hang होना।
3. User-Level Deadlock
Application programming errors के कारण deadlock।
4. System-Level Deadlock
Operating System scheduling और resource management issue के कारण deadlock।
ये भी पढ़ें : Cloud Computing in Hindi – Ultimate Beginner to Expert Guide 2025
Resource Allocation Graph (RAG) in Deadlock in OS
RAG एक graphical तरीका है जिससे हम देख सकते हैं कि कौन-सी process कौन-सा resource मांग रही है।
RAG के components:
- Process node (circle)
- Resource node (square)
- Request edge (arrow from P → R)
- Assignment edge (R → P)
Deadlock तब होता है जब RAG में cycle (चक्र) मिल जाए।
Example diagram (text-based):
P1 → R1 → P2 → R2 → P1 (Cycle found → Deadlock)
अगर cycle है → deadlock
अगर cycle नहीं है → system safe है
Real-Life & Practical Examples of Deadlock in OS
1. Printer + Scanner Example
- Process-1 ने printer hold किया
- Process-2 ने scanner hold किया
- Process-1 को scanner चाहिए
- Process-2 को printer चाहिए
No one releases → Deadlock!
2. Train Track Example
दो ट्रेनें single track पर एक-दूसरे के सामने आ जाएं और किसी के पास पीछे जाने की जगह न हो → deadlock।
3. Database Lock Example
Transaction T1 data A lock करती है,
Transaction T2 data B lock करती है,
T1 को B चाहिए और T2 को A → classic deadlock.
4. ATM Transaction
ATM दो resources (connectivity + bank server response) hold कर ले और दूसरा resource response न दे तो transaction deadlock की स्थिति बन जाती है।
ये भी पढ़ें : Data Structure in Hindi – Stack, Queue, Tree कैसे काम करते हैं (Guide 2025)
ऑपरेटिंग सिस्टम में डेडलॉक डिटेक्शन क्या है (Deadlock Detection in OS)
Detection का मतलब है deadlock हो चुका है, अब उसे identify करना।
1. Wait-for Graph Method
यह graph दिखाता है कि कौन-सी process किस process का wait कर रही है।
If cycle exists → Deadlock detected.
2. Cycle Detection Algorithm
Large systems में algorithm automatically cycle detect करता है।
3. OS Table Checking
Resource allocation tables check करके deadlock find करना।
Operating systems जैसे UNIX, Windows में periodic deadlock detection mechanism होता है।
ऑपरेटिंग सिस्टम में डेडलॉक डिटेक्शन क्या है (Deadlock Prevention in OS)
Prevention का मतलब है deadlock होने ही न देना।
चार conditions में से किसी एक को break कर दो, deadlock अपने-आप eliminate हो जाएगा।
1. Mutual Exclusion हटाना
Resources को shareable बनाना (जहाँ possible हो)।
2. Hold and Wait रोकना
Process को सभी resources एक साथ मांगने के लिए कहना (लेकिन यह inefficient है)।
3. No Preemption हटाना
Premptive resource allocation — OS कुछ resources जबरदस्ती ले सकता है।
4. Circular Wait रोकना
Resources को numbering करके एक fixed order में allocate करना।
Example: पहले memory, फिर printer, फिर scanner
इससे circular wait impossible हो जाता है।
ये भी पढ़ें : Computer Skills List 2025 in Hindi – हर Student के लिए जरूरी Top 30 Skills
ऑपरेटिंग सिस्टम में डेडलॉक से बचाव क्या है (What is Deadlock Avoidance in OS) — Banker’s Algorithm
Avoidance का मतलब है deadlock होने की possibility को avoid करना।
Banker’s Algorithm सबसे famous avoidance technique है।
Key Concepts
- Safe State: जहाँ deadlock नहीं होगा
- Unsafe State: deadlock होने की संभावना
- Resource Allocation Matrix
- Need Matrix
- Available Vector
Example:
मान लीजिए आपके पास 10 units हैं।
Processes P1, P2, P3 ज़्यादा से ज़्यादा resources माँग सकती हैं (maximum demand)।
Algorith check करता है कि क्या future में सब processes complete हो पाएंगी।
अगर हाँ → Safe
अगर नहीं → Unsafe (avoid allocation)
Banker’s Algorithm हमेशा system को safe state में रखने की कोशिश करता है ताकि deadlock न बने।
ये भी पढ़ें : Best Computer Courses after 12th – High Salary वाले Top Career Options 2025
ओएस में डेडलॉक रिकवरी तकनीक क्या है (Deadlock Recovery in OS)
अगर system में deadlock हो चुका है, then recovery is needed.
1. Process Termination
Deadlock में फँसी processes को terminate कर देना।
Old approach — but effective.
2. Resource Preemption
Process से resource छीन लेना और दूसरी process को दे देना।
3. Process Rollback
Process को previous safe checkpoint पर वापस भेज देना।
4. Restart Method
Worst condition में पूरा system restart करना।
डेडलॉक के फायदे और नुकसान (Why OS Cannot Fully Stop Deadlocks)
Advantages
- कुछ controlled environments में safe resource usage possible
- Complex systems में predictable behavior बनाना आसान
Disadvantages
- System hang हो सकता है
- Performance slow
- Worst-case में system crash
- Debugging बहुत tough
- OS cost बढ़ जाती है
- Prevention methods inefficient हो सकती हैं
इसलिए OS deadlock को पूरी तरह eliminate नहीं कर सकता — बस control और manage कर सकता है।
ये भी पढ़ें : Pradhan Mantri Fasal Bima Yojana (PMFBY) 2025: किसानों के लिए पूरी जानकारी
वीडियो से समझें: Deadlock in OS — Step by Step Explanation
नीचे दिए गए वीडियो में Deadlock in OS को एकदम सरल और step-by-step तरीके से समझाया गया है। अगर आप theory के साथ-साथ visual explanation देखना चाहते हैं — resource allocation graph, conditions, और deadlock prevention methods — तो यह video बहुत मददगार होगा। Video देखने से concepts और भी clear हो जाते हैं और exam या assignments के लिए समझना आसान हो जाता है।
निष्कर्ष (Conclusion)
स पूरे tutorial में हमने समझा कि Deadlock in OS एक ऐसी condition है जहाँ processes ऐसे resources का wait करती हैं जो एक-दूसरे के पास locked होते हैं।
Deadlock होने की 4 conditions, RAG, examples, detection, prevention, avoidance और recovery methods को बड़े simple तरीके से देखा।
अगर आप B.Tech, Diploma, MCA, GATE या UGC-NET की तैयारी कर रहे हैं, तो यह topic आपके लिए काफी important है।
FAQs
Q1. Deadlock in OS क्यों होता है?
Ans. जब processes एक-दूसरे के resources hold करके wait करने लगती हैं।
Q2. Deadlock कैसे remove करें?
Ans. Termination, resource preemption या rollback methods से remove होता है।
Q3. Circular wait क्या होता है?
Ans. Process एक chain बनाकर एक-दूसरे का इंतज़ार करें → यही circular wait।
Q4. Starvation क्या deadlock है?
Ans. नहीं, starvation अलग concept है। इसमें process delay होती है लेकिन stuck नहीं होती।
Q5. Deadlock को कैसे avoid करें?
Ans. Banker’s Algorithm या safe state checking द्वारा।