BCA / B.Tech 13 min read

Critical Region in Hindi

Critical Region in Operating System in Hindi | ऑपरेटिंग सिस्टम में  क्रिटिकल रीजन हिंदी में :


  • क्रिटिकल रीजन (Critical Region) वह क्षेत्र या भाग होता है किसी प्रोग्राम का, जहाँ एक से अधिक प्रक्रियाएँ (Processes) या धागे (Threads) एक साझा संसाधन (Shared Resource) का उपयोग करती हैं। यह एक ऐसा कोड सेगमेंट होता है
  •  जिसमें साझा डेटा या संसाधनों का उपयोग किया जाता है, और यह आवश्यक होता है कि जब एक प्रक्रिया इस संसाधन का उपयोग कर रही हो, तब कोई अन्य प्रक्रिया उस संसाधन को एक्सेस न कर सके।
  •  इस स्थिति को सिंक्‍रोनाइजेशन (Synchronization) के माध्यम से नियंत्रित किया जाता है ताकि किसी भी प्रकार की रेस कंडीशन (Race Condition) या डेटा असंगतता (Data Inconsistency) जैसी समस्याओं से बचा जा सके।
  • क्रिटिकल रीजन किसी भी मल्टीप्रोसेसिंग या मल्टीथ्रेडिंग सिस्टम का महत्वपूर्ण भाग होता है, जहाँ कई प्रक्रियाएँ एक साझा संसाधन का उपयोग करती हैं। यह सुनिश्चित करना आवश्यक है कि एक समय में केवल एक ही प्रक्रिया साझा संसाधन का उपयोग कर सके, ताकि डेटा असंगतता, रेस कंडीशन, और डेडलॉक जैसी समस्याओं से बचा जा सके। 
  • क्रिटिकल रीजन की समस्या को हल करने के लिए विभिन्न सिंक्रोनाइजेशन तंत्रों जैसे म्यूटेक्स, सेमाफोर, स्पिनलॉक्स, मॉनिटर्स, और टेस्ट एंड सेट का उपयोग किया जाता है, जो म्युचुअल एक्सक्लूज़न और प्रोग्रेस जैसी शर्तों का पालन करते हैं। 
  • इन समाधानों के बिना, मल्टीप्रोसेसिंग सिस्टम्स में संसाधनों का प्रबंधन कठिन हो सकता है और डेटा असंगतता जैसी समस्याएँ उत्पन्न हो सकती हैं।
  • क्रिटिकल रीजन की परिभाषा और उपयोग ऑपरेटिंग सिस्टम, मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग में संसाधनों का प्रबंधन करने में अत्यधिक महत्वपूर्ण है। यह सुनिश्चित करता है कि सभी प्रक्रियाएँ और धागे एक दूसरे से स्वतंत्र रूप से कार्य कर सकें, लेकिन जब साझा संसाधनों का उपयोग किया जाता है, तो एक समय में केवल एक ही प्रक्रिया उस संसाधन का उपयोग कर सके।

Critical Region Problem in Operating System in Hindi | क्रिटिकल रीजन की समस्या :

क्रिटिकल रीजन की समस्या तब उत्पन्न होती है जब कई प्रक्रियाएँ एक साथ एक ही साझा संसाधन का उपयोग करती हैं। इस समस्या को यदि ठीक से हल नहीं किया जाता है, तो यह निम्नलिखित समस्याओं को जन्म दे सकती है:

  • रेस कंडीशन (Race Condition): जब एक से अधिक प्रक्रियाएँ या धागे एक ही समय पर साझा डेटा या संसाधन का उपयोग करने का प्रयास करते हैं और उनका एक्सेसिंग क्रम अनियमित हो जाता है, तब रेस कंडीशन उत्पन्न होती है। इसका परिणाम यह होता है कि फाइनल आउटपुट अप्रत्याशित और गलत हो सकता है।
  • डेटा असंगतता (Data Inconsistency): डेटा असंगतता तब उत्पन्न होती है जब विभिन्न प्रक्रियाएँ एक साथ एक ही डेटा को मॉडिफाई करने की कोशिश करती हैं, और सही समन्वय न होने पर डेटा गलत या अधूरा हो सकता है।
  • डेडलॉक (Deadlock): डेडलॉक एक ऐसी स्थिति है जब दो या अधिक प्रक्रियाएँ एक दूसरे के संसाधनों की प्रतीक्षा करती हैं और अंततः कोई भी प्रक्रिया अपने कार्य को पूरा नहीं कर पाती।
  • स्टार्वेशन (Starvation): स्टार्वेशन तब उत्पन्न होती है जब किसी प्रक्रिया को आवश्यक संसाधन लंबे समय तक नहीं मिल पाते, क्योंकि अन्य प्रक्रियाएँ लगातार उन संसाधनों का उपयोग करती रहती हैं। इससे वह प्रक्रिया निष्क्रिय हो जाती है और उसे संसाधन प्राप्त करने का मौका नहीं मिलता।

Conditions for Solving Critical Region Problem in Operating System in Hindi | क्रिटिकल रीजन को हल करने के लिए शर्तें :

क्रिटिकल रीजन समस्या को हल करने के लिए तीन मुख्य शर्तों का पालन किया जाता है, जिन्हें म्युचुअल एक्सक्लूज़न (Mutual Exclusion), प्रोग्रेस (Progress), और बाउंडेड वेटिंग (Bounded Waiting) कहा जाता है:

  • म्युचुअल एक्सक्लूज़न (Mutual Exclusion) :  यह सुनिश्चित करता है कि किसी भी समय केवल एक ही प्रक्रिया क्रिटिकल रीजन में प्रवेश कर सकती है। जब कोई प्रक्रिया क्रिटिकल रीजन में होती है, तो अन्य प्रक्रियाएँ उस समय साझा संसाधन तक पहुंचने में असमर्थ रहती हैं। इससे संसाधनों का सुरक्षित और अनुशासित उपयोग होता है।
  • प्रोग्रेस (Progress): जब कोई प्रक्रिया क्रिटिकल रीजन से बाहर होती है, तो अन्य प्रक्रियाओं को इसे एंटर करने का मौका मिलना चाहिए। यह सुनिश्चित करता है कि अगर कोई प्रक्रिया क्रिटिकल रीजन में नहीं है, तो दूसरी प्रक्रियाएँ क्रिटिकल रीजन में प्रवेश करने के लिए स्वतंत्र होंगी और उन्हें अनावश्यक रूप से रोका नहीं जाएगा।
  • बाउंडेड वेटिंग (Bounded Waiting): बाउंडेड वेटिंग यह सुनिश्चित करता है कि किसी भी प्रक्रिया को क्रिटिकल रीजन में प्रवेश करने के लिए अनिश्चित समय तक प्रतीक्षा न करनी पड़े। यह शर्त यह सुनिश्चित करती है कि हर प्रक्रिया को निश्चित समय के भीतर संसाधन का उपयोग करने का अवसर मिले।

Methods to Solve Critical Region Problem in Operating System in Hindi | क्रिटिकल रीजन समस्या को हल करने के तरीके : 

  •  म्यूटेक्स (Mutex): म्यूटेक्स (Mutex) एक सिंक्रोनाइजेशन टूल है, जिसका उपयोग म्युचुअल एक्सक्लूज़न को सुनिश्चित करने के लिए किया जाता है। म्यूटेक्स का मतलब है कि एक समय में केवल एक प्रक्रिया या धागा ही किसी साझा संसाधन का उपयोग कर सकता है। जब कोई प्रक्रिया क्रिटिकल रीजन में प्रवेश करती है, तो म्यूटेक्स लॉक हो जाता है, और जब प्रक्रिया क्रिटिकल रीजन से बाहर होती है, तो म्यूटेक्स अनलॉक हो जाता है।

 सेमाफोर (Semaphore): सेमाफोर एक और सिंक्रोनाइजेशन तंत्र है, जो म्यूटेक्स के समान ही काम करता है लेकिन इसके साथ काउंटिंग की सुविधा भी होती है। इसमें दो प्रकार के सेमाफोर होते हैं:

  • बाइनरी सेमाफोर (Binary Semaphore) : यह म्यूटेक्स के समान होता है, जहाँ इसका मान 0 या 1 हो सकता है। यह म्युचुअल एक्सक्लूज़न को सुनिश्चित करता है।
  • काउंटिंग सेमाफोर (Counting Semaphore) : इसका उपयोग तब किया जाता है जब एक से अधिक संसाधन होते हैं। यह एक काउंटर की मदद से संसाधनों का ट्रैक रखता है और कई प्रक्रियाओं को संसाधनों का उपयोग करने की अनुमति देता है।

  •  स्पिनलॉक्स (Spinlocks): स्पिनलॉक्स एक प्रकार का लॉक होता है, जिसमें जब कोई प्रक्रिया क्रिटिकल रीजन में होती है, तो दूसरी प्रक्रिया सक्रिय रूप से संसाधन को प्राप्त करने की कोशिश करती रहती है। इसका उपयोग तब किया जाता है जब क्रिटिकल सेक्शन बहुत छोटा हो, और संसाधन जल्दी ही मुक्त हो जाएगा। इसमें किसी प्रक्रिया को निष्क्रिय नहीं किया जाता, बल्कि वह संसाधन को प्राप्त करने का लगातार प्रयास करती रहती है।
  •  मॉनिटर्स (Monitors): मॉनिटर्स एक उच्च-स्तरीय सिंक्रोनाइजेशन तंत्र हैं, जो कि प्रक्रियाओं के बीच संसाधन उपयोग को नियंत्रित करते हैं। मॉनिटर्स स्वचालित रूप से म्युचुअल एक्सक्लूज़न की गारंटी देते हैं। मॉनिटर्स का उपयोग करने से क्रिटिकल रीजन की समस्या को हल करने के लिए कोडिंग सरल हो जाती है।
  •  टेस्ट एंड सेट (Test and Set): टेस्ट एंड सेट एक हार्डवेयर-आधारित सिंक्रोनाइजेशन तंत्र है, जिसमें एक विशेष निर्देश का उपयोग करके यह चेक किया जाता है कि संसाधन उपलब्ध है या नहीं। यदि संसाधन उपलब्ध है, तो उसे तुरंत ही सेट कर दिया जाता है ताकि अन्य प्रक्रियाएँ उस समय संसाधन का उपयोग न कर सकें।

Examples of Critical Region in Operating System in Hindi | क्रिटिकल रीजन के उदाहरण :

  • प्रिंटर का उपयोग (Printer Access): जब कई उपयोगकर्ता एक ही प्रिंटर का उपयोग करना चाहते हैं, तो क्रिटिकल रीजन यह सुनिश्चित करता है कि एक समय में केवल एक ही उपयोगकर्ता प्रिंटर का उपयोग कर सके। इससे यह सुनिश्चित होता है कि प्रिंटिंग ऑर्डर गड़बड़ न हो और प्रिंटिंग आउटपुट सही हो।
  • डेटाबेस एक्सेस (Database Access): जब एक डेटाबेस को कई उपयोगकर्ता या प्रक्रियाएँ एक साथ एक्सेस करना चाहती हैं, तो क्रिटिकल रीजन यह सुनिश्चित करता है कि एक समय में केवल एक ही प्रक्रिया डेटाबेस के एक हिस्से को मॉडिफाई कर सके। इससे डेटा असंगतता और रेस कंडीशन जैसी समस्याओं से बचा जा सकता है।
  • बैंक अकाउंट ट्रांजेक्शन (Bank Account Transaction): मान लीजिए कि दो लोग एक ही बैंक खाते से पैसा निकालना चाहते हैं। क्रिटिकल रीजन सुनिश्चित करेगा कि एक समय में केवल एक ही व्यक्ति खाते से पैसे निकाल सके, ताकि खाते में सही शेष राशि बनी रहे।

In this Chapter

Critical Region in Hindi
Distributed System in Hindi
Real Time System in Hindi
System Calls in Hindi
System Program in Hindi
Structure of Operating System in Hindi
Layers Design of Structure in Hindi
Unix in Hindi
Virtual Machine in Hindi
Kernel-Based Operating System in Hindi
Process Concept in Hindi
Interacting Processes in Hindi
Threads in Hindi
Fundamental of Schedulling in Hindi
Scheduling Criteria in Hindi
Long Medium Short Term Scheduling in Hindi
Scheduling Algorithms in Hindi
Structure of Concurrent System in Hindi
Critical Section in Hindi
Inter process Communication in Hindi
Monitor in Hindi
Semaphores in Hindi
Semaphores Implementation & Uses in Hindi
Logical and Physical Address in Hindi
Swapping in Hindi
Contiguous Allocation in Hindi
Segmentation in Hindi
Paging in Hindi
Paging with Segmentation in Hindi
kernel Memory Allocation in Hindi
Page Replacement Algorithms in Hindi
Virtual Memory in Hindi
Virtual Memory with demand Paging in Hindi
Deadlock & Characterization in Hindi
Methods for Handling Deadlocks in Hindi
Deadlock Thrashing in Hindi
Allocation of Frames in Hindi
Virtual Memory using Segmentation in Hindi
Interprocess Communication protocol in Hindi
Network Operating System in Hindi
Design Issues in Distributed File System in Hindi
Network Structure in Hindi
Structure Distributed System in Hindi
File System and Coordination in Hindi
Linux in Hindi
Commands of Linux in Hindi | लिनक्स के कमांड्स हिंदी में
Programmer Interface & File manipulation in Hindi
Process control in Linux in Hindi
Linux Kernel & Signals in Hindi
File System in Linux in Hindi
block & inodes in Hindi
System Editor in Hindi
Character Transliteration in Hindi
ED in Hindi
Vi Editor & There Commands in Hindi
Shell Script in Hindi
Looping & Decision Making in Hindi
Variables & File name Expansion in Hindi
Array in Hindi OS
Sub Program in Hindi
C interface with Linux in Hindi
Simpel Shell Programs in Hindi
BCA Part-1 | Operating Systems | Semester-I | MDSU Exam Paper 2023 (Held in 2024)
What is Operating System (OS) in Hindi
Operating System (OS) All Important Questions and Answers in Hindi (MDSU)
BCA || Operating System 2025 Paper || MDSU Exam Paper
BCA | OS(Operating System) 2023 Paper | MDSU Exam Paper
Type of Operating System in Hindi
Goals of Operating System in Hindi
Operation of Operating system in Hindi
Resource Allocation & Functions in Hindi
class of Operating system in Hindi
Batch Processing in Hindi
Multi Processing in Hindi
Time Sharing in Hindi