Deadlock Problem

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 के लिए बहुत जरूरी है।

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top