जब एक से ज्यादा processes (प्रक्रियाएं) एक ही code segment को एक्सेस करती है तो उस segment को critical section कहते है। क्रिटिकल सेक्शन shared variables या resources को contain किये रहता है जिन्हें data variable की consistency को बनाये रखने के लिए synchronize करने की जरूरत होती है।

सरल शब्दों में कहें तो, “critical section जो है वह instructions/statements का एक समूह होता है जिन्हें अपने आप execute करने की आवश्यकता होती है, जैसे कि – resources को access करना।” critical section को एक ही समय में एक से ज्यादा processes के द्वारा execute नही किया जा सकता है; क्योंकि ऑपरेटिंग सिस्टम को processes को allow और disallow करने में परेशानी का सामना करना पड़ता है।

इसका मतलब यह है कि केवल एक process ही अपने critical section को execute कर सकती है यदि कोई दूसरी process अपने critical section को execute करना चाहती है तो उसे पहले वाले के खत्म होने का इन्तजार करना पड़ेगा।

Critical Section Problem का Solution

critical section problem को solve करने के लिए निम्नलिखित conditions को satisfy करने की आवश्यकता होती है:-

  1. Mutual Exclusion – इसका मतलब यह है कि यदि एक प्रोसेस critical section के अंदर execute हो रही हो तो दूसरी अन्य प्रोसेस critical section के अंदर प्रवेश नही करनी चाहिए.

2. Progress – progress का अर्थ है कि प्रोसेस critical section का प्रयोग नही कर रही है. तो इस स्थिति में दूसरी process को critical section का प्रयोग करने देना चाहिए।

3. Bounded Waiting – इसका मतलब यह है कि प्रत्येक process का एक सिमित waiting time होना चाहिए. और जब waiting time खत्म हो जाए तो उस process को critical section में प्रवेश करने देना चाहिए. (अगर एक सिमित waiting time नही होगा तो प्रोसेस अनिश्चितकाल के लिए wait करते रह जाएगा.)


Leave a Reply