Deadlocks - Characterization, Prevention, Avoidance, Recovery in OS in Hindi
Deadlocks in Operating System क्या है?
Operating System (OS) में Deadlock एक ऐसी स्थिति है जिसमें दो या अधिक प्रोसेसेज़ (Processes) एक-दूसरे के संसाधनों (Resources) के लिए प्रतीक्षा कर रही होती हैं, लेकिन कोई भी प्रोसेस आगे नहीं बढ़ पाती। यह स्थिति तब उत्पन्न होती है जब प्रोसेसेज़ एक-दूसरे पर निर्भर होती हैं और Circular Wait की स्थिति बन जाती है।
Deadlock Characterization (डेडलॉक के लक्षण)
डेडलॉक होने के लिए चार आवश्यक शर्तों (Coffman Conditions) का पूरा होना आवश्यक होता है:
1. Mutual Exclusion (परस्पर बहिष्करण)
- प्रत्येक संसाधन एक समय में केवल एक ही प्रोसेस द्वारा उपयोग किया जा सकता है।
2. Hold and Wait (रोककर प्रतीक्षा करना)
- एक प्रोसेस जो पहले से संसाधन होल्ड कर रही है, वह अन्य संसाधनों के लिए प्रतीक्षा कर रही होती है।
3. No Preemption (पूर्व-वंचना न होना)
- प्रोसेस किसी संसाधन को जबरन छोड़ नहीं सकती, इसे स्वेच्छा से छोड़ना होगा।
4. Circular Wait (वृत्तीय प्रतीक्षा)
- एक चक्र (Cycle) बन जाता है, जहाँ प्रत्येक प्रोसेस अगले प्रोसेस के संसाधन की प्रतीक्षा कर रही होती है।
Deadlock Prevention (डेडलॉक की रोकथाम)
Deadlock को रोकने के लिए, Coffman Conditions में से किसी एक को हटाया जाता है:
1. Mutual Exclusion को हटाना
- कुछ संसाधनों को एक साथ कई प्रोसेसेज़ द्वारा उपयोग करने की अनुमति दी जा सकती है।
- हालांकि, कुछ संसाधन जैसे कि प्रिंटर को साझा नहीं किया जा सकता, इसलिए यह समाधान सभी मामलों में संभव नहीं है।
2. Hold and Wait को रोकना
- प्रत्येक प्रोसेस को सभी आवश्यक संसाधन एक साथ आवंटित कर दिए जाते हैं।
- हालांकि, इससे संसाधनों की बर्बादी (Resource Wastage) बढ़ सकती है।
3. No Preemption लागू करना
- यदि कोई प्रोसेस पहले से होल्ड किए गए संसाधनों के साथ नया संसाधन अनुरोध करती है और उपलब्ध नहीं होता, तो उसे अपने सभी संसाधन छोड़ने होते हैं।
- यह तरीका प्रैक्टिकल नहीं होता क्योंकि प्रोसेसेज़ को फिर से शुरू करना जटिल हो सकता है।
4. Circular Wait को तोड़ना
- सभी संसाधनों को एक अनुशासित क्रम में अनुरोधित किया जाता है।
- हर प्रोसेस को संसाधन एक विशेष क्रम में ही दिया जाता है, जिससे Circular Wait नहीं बनता।
Deadlock Avoidance (डेडलॉक से बचाव)
डेडलॉक से बचने के लिए प्रोसेसेज़ को केवल उन्हीं संसाधनों तक पहुँचने की अनुमति दी जाती है, जो डेडलॉक की स्थिति उत्पन्न नहीं करते। इसके लिए दो मुख्य विधियाँ हैं:
1. Safe State और Unsafe State
- Safe State: यदि कोई Deadlock नहीं हो सकता, तो सिस्टम Safe State में है।
- Unsafe State: यदि प्रोसेस निष्पादन के दौरान डेडलॉक उत्पन्न कर सकती है, तो सिस्टम Unsafe State में है।
2. Banker’s Algorithm
- Banker’s Algorithm यह तय करता है कि किसी प्रोसेस को संसाधन दिया जाए या नहीं।
- यह एल्गोरिदम प्रोसेसेज़ की अधिकतम आवश्यकताओं को ध्यान में रखकर संसाधन आवंटित करता है।
- यदि किसी संसाधन आवंटन से सिस्टम Unsafe State में जाता है, तो अनुरोध को अस्वीकार कर दिया जाता है।
Deadlock Detection (डेडलॉक का पता लगाना)
यदि Deadlock हो चुका है, तो इसे पहचानने के लिए निम्नलिखित विधियाँ उपयोग की जाती हैं:
1. Resource Allocation Graph (RAG)
- यदि ग्राफ़ में कोई Circular Wait (साइकिल) पाई जाती है, तो सिस्टम Deadlock की स्थिति में है।
2. Wait-For Graph
- यह केवल संसाधन अनुरोधों के आधार पर एक Directed Graph बनाता है।
- यदि किसी प्रोसेस को हमेशा किसी अन्य प्रोसेस की प्रतीक्षा करनी पड़ रही है, तो Deadlock हो सकता है।
Deadlock Recovery (डेडलॉक से पुनर्प्राप्ति)
Deadlock की पहचान के बाद, सिस्टम को पुनः कार्यशील बनाने के लिए कुछ तरीकों का उपयोग किया जाता है:
1. Process Termination
- Deadlock को समाप्त करने के लिए प्रोसेसेज़ को समाप्त किया जाता है।
- दो तरीके हो सकते हैं:
- Abort All: सभी Deadlock वाली प्रोसेसेज़ को समाप्त कर दिया जाता है।
- Abort One by One: एक-एक करके प्रोसेसेज़ को समाप्त किया जाता है जब तक Deadlock समाप्त न हो जाए।
2. Resource Preemption
- कुछ संसाधन एक प्रोसेस से छीनकर किसी अन्य प्रोसेस को दिए जाते हैं।
- यह सुनिश्चित किया जाता है कि यह प्रक्रिया Fair और Balanced हो।
Deadlock बनाम Starvation
विशेषता | Deadlock | Starvation |
---|---|---|
परिभाषा | प्रोसेसेज़ स्थायी रूप से रुकी रहती हैं और आगे नहीं बढ़ सकतीं। | एक प्रोसेस को संसाधन कभी भी प्राप्त नहीं होता क्योंकि उच्च प्राथमिकता वाली प्रोसेसेज़ उसे हटा देती हैं। |
समाधान | Deadlock Detection और Recovery तकनीकों का उपयोग। | Priority Adjustment और Aging तकनीकों का उपयोग। |
निष्कर्ष
Deadlock एक गंभीर समस्या है, जो सिस्टम की कार्यक्षमता को प्रभावित कर सकती है। इसे रोकने के लिए Deadlock Prevention, Avoidance, Detection और Recovery जैसी तकनीकों का उपयोग किया जाता है। बैंकर्स एल्गोरिदम जैसी रणनीतियाँ सिस्टम को सुरक्षित स्थिति में रखने में मदद करती हैं।
Related Post
- Operating System क्या है? इसका परिचय, कार्य और विकास - Notes in Hindi
- ऑपरेटिंग सिस्टम के प्रकार - Types of Operating System in Hindi
- ऑपरेटिंग सिस्टम की विशेषताएँ और कार्य - Characteristics and Features of Operating System in Hindi
- ऑपरेटिंग सिस्टम की सेवाएँ और प्रकार - Operating System Services and Types in Hindi
- यूटिलिटी प्रोग्राम और सिस्टम कॉल्स - Utility Program and System Calls in Hindi
- फाइल कॉन्सेप्ट इन ऑपरेटिंग सिस्टम - File Concept in OS in Hindi
- यूजर और सिस्टम प्रोग्रामर का फाइल सिस्टम पर दृष्टिकोण - User and System Programmer View of File System in Hindi
- डिस्क ऑर्गेनाइजेशन इन ऑपरेटिंग सिस्टम - Disk Organization in OS in Hindi
- टेप ऑर्गेनाइजेशन इन ऑपरेटिंग सिस्टम - Tape Organization in Operating System in Hindi
- फाइल सिस्टम के विभिन्न मॉड्यूल्स - Different Modules of a File System in OS in Hindi
- डिस्क स्पेस एलोकेशन मेथड्स - Contiguous, Linked, Indexed - Disk Space Allocation Methods in OS in Hindi
- डायरेक्टरी स्ट्रक्चर क्या है? - Directory Structure in OS in Hindi
- फाइल प्रोटेक्शन इन ऑपरेटिंग सिस्टम - File Protection in OS in Hindi
- सिस्टम कॉल्स फॉर फाइल मैनेजमेंट - System Calls for File Management in Hindi
- डिस्क शेड्यूलिंग एल्गोरिदम्स - Disk Scheduling Algorithms in Hindi
- सीपीयू शेड्यूलिंग प्रक्रिया की संकल्पना - CPU Scheduling Process Concept in Hindi
- ऑपरेटिंग सिस्टम में शेड्यूलर के प्रकार - Types of Scheduler in OS in Hindi
- प्रोसेस स्टेट डायग्राम इन ऑपरेटिंग सिस्टम - Process State Diagram in OS in Hindi
- शेड्यूलिंग एल्गोरिदम्स इन ऑपरेटिंग सिस्टम - Scheduling Algorithms in OS in Hindi
- एल्गोरिदम मूल्यांकन इन ऑपरेटिंग सिस्टम - Algorithm Evaluation in OS in Hindi
- प्रोसेस मैनेजमेंट के लिए सिस्टम कॉल्स - System Calls for Process Management in Hindi
- मल्टीपल प्रोसेसर शेड्यूलिंग इन ऑपरेटिंग सिस्टम - Multiple Processor Scheduling in OS in Hindi
- थ्रेड्स का कॉन्सेप्ट इन ऑपरेटिंग सिस्टम - Concept of Threads in OS in Hindi
- मेमोरी मैनेजमेंट इन ऑपरेटिंग सिस्टम - Memory Management in OS in Hindi
- मेमोरी मैनेजमेंट में पार्टीशनिंग - Partitioning in Memory Management in Hindi
- स्वैपिंग इन ऑपरेटिंग सिस्टम - Swapping in OS in Hindi
- सेगमेंटेशन और पेजिंग इन ऑपरेटिंग सिस्टम - Segmentation and Paging in OS in Hindi
- पेज्ड सेगमेंटेशन इन ऑपरेटिंग सिस्टम - Paged Segmentation in OS in Hindi
- डायनामिक लोडिंग और लिंकिंग इन ऑपरेटिंग सिस्टम - Dynamic Loading and Linking in OS in Hindi
- वर्चुअल मेमोरी इन ऑपरेटिंग सिस्टम - Virtual Memory in OS in Hindi
- डिमांड पेजिंग का कार्यान्वयन - Implementation by Demand Paging in Hindi
- इनपुट-आउटपुट के सिद्धांत और प्रोग्रामिंग - Input Output Principles and Programming in OS in Hindi
- इनपुट-आउटपुट समस्याएँ ऑपरेटिंग सिस्टम में - Input Output Problems in OS in Hindi
- असिंक्रोनस ऑपरेशंस इन ऑपरेटिंग सिस्टम - Asynchronous Operations in OS in Hindi
- Speed Gap और Format Conversion in OS in Hindi - पूरी जानकारी
- I/O Interface in OS in Hindi - पूरी जानकारी
- Program Controlled I/O in OS in Hindi - पूरी जानकारी
- Interrupt Driven I/O in OS in Hindi - पूरी जानकारी
- Concurrent I/O in OS in Hindi - पूरी जानकारी
- Real और Virtual Concurrency in OS in Hindi - पूरी जानकारी
- Mutual Exclusion in OS in Hindi - पूरी जानकारी
- Inter Process Communication (IPC) in OS in Hindi - पूरी जानकारी
- Critical Section Problem in OS in Hindi - पूरी जानकारी
- Semaphores in OS in Hindi - पूरी जानकारी
- Binary और Counting Semaphores in OS in Hindi - पूरी जानकारी
- Wait और Signal in OS in Hindi - पूरी जानकारी
- Deadlock in OS in Hindi - पूरी जानकारी
- Deadlock Problems in OS in Hindi - पूरी जानकारी
- Deadlocks - Characterization, Prevention, Avoidance, Recovery in OS in Hindi
- नेटवर्क का परिचय (Introduction to Network in Hindi) - परिभाषा, प्रकार और कार्य
- डिस्ट्रीब्यूटेड और मल्टीप्रोसेसर ऑपरेटिंग सिस्टम (Distributed and Multiprocessor Operating Systems in Hindi)
- UNIX/Linux ऑपरेटिंग सिस्टम (UNIX/Linux Operating System in Hindi) - परिभाषा, विशेषताएँ और उपयोग
- Windows और अन्य आधुनिक ऑपरेटिंग सिस्टम (Windows and Other Contemporary Operating Systems in Hindi)