BCA / B.Tech 12 min read

Critical Section in Hindi

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


क्रिटिकल सेक्शन (Critical Section) वह हिस्सा है किसी प्रोग्राम का जहाँ संसाधनों का साझा (shared resources) उपयोग किया जाता है। ये संसाधन अन्य प्रक्रियाओं द्वारा भी इस्तेमाल किए जा सकते हैं, इसलिए यह जरूरी है कि जब एक प्रक्रिया क्रिटिकल सेक्शन में हो,
 तो अन्य प्रक्रियाएँ उस समय उस संसाधन तक पहुंच न पाएं। क्रिटिकल सेक्शन की समस्या मुख्यतः मल्टीप्रोसेसिंग या मल्टीथ्रेडिंग सिस्टम्स में आती है, जहाँ कई प्रक्रियाएँ या धागे एक साथ एक ही संसाधन का उपयोग करना चाहते हैं।

इस समस्या का हल देने के लिए सिंक्‍रोनाइजेशन (Synchronization) की आवश्यकता होती है, ताकि प्रक्रियाएँ एक दूसरे से स्वतंत्र रूप से काम कर सकें और कोई डेटा असंगतता (inconsistency) या डेटा रेस (data race) जैसी समस्या न हो।

 क्रिटिकल सेक्शन की समस्या को हल करने के लिए विभिन्न प्रोटोकॉल और एल्गोरिदम का उपयोग किया जाता है, ताकि किसी एक समय में केवल एक ही प्रक्रिया क्रिटिकल सेक्शन में प्रवेश कर सके।


क्रिटिकल सेक्शन समस्या समानांतर प्रक्रियाओं या धागों के बीच सिंक्रोनाइजेशन की चुनौती को दर्शाती है। इसे हल करने के लिए म्युचुअल एक्सक्लूज़न, प्रोग्रेस, और बाउंडेड वेटिंग जैसी शर्तों का पालन करना आवश्यक होता है।
 विभिन्न एल्गोरिदम और तकनीकों जैसे पेटर्सन एल्गोरिदम, सेमाफोर, म्यूटेक्स, और मॉनिटर्स का उपयोग क्रिटिकल सेक्शन समस्या को हल करने में मदद करता है। इन समाधानों के बिना, मल्टीप्रोसेसिंग सिस्टम्स में डेटा असंगतता, 
रेस कंडीशन और डेडलॉक जैसी समस्याएँ उत्पन्न हो सकती हैं, जो सिस्टम की दक्षता और विश्वसनीयता को प्रभावित करती हैं।

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

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

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

Conditions for Solution  in Operating System in Hindi | क्रिटिकल सेक्शन समस्या को हल करने के लिए शर्तें : 

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

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

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

Methods to Solve Critical Section Problem in Operating System in Hindi | क्रिटिकल सेक्शन को हल करने की विधियाँ : 

1. पेटर्सन एल्गोरिथ्म (Peterson's Algorithm): यह एल्गोरिथ्म दो प्रक्रियाओं के बीच क्रिटिकल सेक्शन समस्या को हल करने के लिए डिज़ाइन किया गया है। यह म्युचुअल एक्सक्लूज़न और प्रोग्रेस शर्तों को पूरा करता है। पेटर्सन एल्गोरिथ्म में प्रत्येक प्रक्रिया के लिए एक फ्लैग और एक टर्न वेरिएबल का उपयोग किया जाता है ताकि दोनों प्रक्रियाएँ समन्वित रूप से क्रिटिकल सेक्शन में प्रवेश कर सकें।

2. लॉक और अनलॉक (Lock and Unlock): यह सबसे सामान्य समाधान है जहाँ किसी संसाधन को पहले लॉक किया जाता है, और जब प्रक्रिया उस संसाधन का उपयोग समाप्त कर लेती है, तो उसे अनलॉक किया जाता है। यह म्युचुअल एक्सक्लूज़न को सुनिश्चित करता है। लॉकिंग और अनलॉकिंग विधियों का उपयोग विभिन्न प्रकार के ताले (Locks) जैसे म्यूटेक्स (Mutex) और सेमाफोर (Semaphore) द्वारा किया जाता है।

3. सेमाफोर (Semaphore): सेमाफोर एक सिंक्रोनाइज़ेशन टूल है जिसका उपयोग कई प्रक्रियाओं के बीच संसाधनों के उपयोग को नियंत्रित करने के लिए किया जाता है। इसमें दो मुख्य प्रकार होते हैं:

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

काउंटिंग सेमाफोर (Counting Semaphore): इसका उपयोग तब किया जाता है जब एक से अधिक संसाधन हों। यह कई प्रक्रियाओं को संसाधनों का उपयोग करने की अनुमति देता है, लेकिन एक सीमा के भीतर।

4. मॉनिटर (Monitors): मॉनिटर एक हाई-लेवल सिंक्रोनाइज़ेशन टूल है, जो कि ऑपरेटिंग सिस्टम या प्रोग्रामिंग भाषाओं में निर्मित होता है। यह डेटा को साझा करने वाले प्रक्रियाओं के बीच समन्वय सुनिश्चित करता है। मॉनिटर स्वचालित रूप से म्युचुअल एक्सक्लूज़न की गारंटी देता है और इसके साथ ही इसे कोडिंग के दौरान उपयोग करना आसान होता है।

5. टेस्ट एंड सेट (Test and Set): यह एक हार्डवेयर आधारित समाधान है, जिसमें एक विशेष निर्देश का उपयोग किया जाता है। इसमें एक शेयर किए गए वेरिएबल को एटॉमिकली चेक किया जाता है कि क्या वह फ्री है या नहीं। अगर वह फ्री है, तो उसे सेट किया जाता है ताकि दूसरी प्रक्रिया उसे एक्सेस न कर सके।

Examples of Critical Section  in Operating System in Hindi | क्रिटिकल सेक्शन के उदाहरण :

  • बैंक ट्रांजेक्शन (Bank Transaction): मान लीजिए दो लोग एक ही बैंक खाते से पैसा निकालना चाहते हैं। अगर दोनों प्रक्रियाएँ एक ही समय पर खाते की जानकारी एक्सेस करती हैं और पैसा निकालती हैं, तो खाते में गलत राशि शेष रह सकती है। क्रिटिकल सेक्शन का उपयोग यह सुनिश्चित करता है कि एक समय में केवल एक ही व्यक्ति खाते की जानकारी का उपयोग कर सके।
  • प्रिंटर का उपयोग (Printer Use): जब एक से अधिक उपयोगकर्ता एक ही प्रिंटर का उपयोग करना चाहते हैं, तो क्रिटिकल सेक्शन यह सुनिश्चित करेगा कि एक समय में केवल एक ही प्रक्रिया प्रिंटर तक पहुंच सके और उसका उपयोग कर सके।

In this Chapter

Critical Section 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 Region 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