Process Synchronization क्या हैं? (process synchronization in Hindi)
Process Synchronization क्या हैं?
Process Synchronization सहायता से सिस्टम resource के व्यवस्थित बंटवारे synchronization को सम्मिलित किया जा सकता है। जब कभी भी हम सिस्टम resource के विषय में सोचा जाता है तो इसका इस्तेमाल कैसे सुव्यवस्थित रूप से करे इसका निर्धारण करने आवश्यक होता है
जैसे उदाहरण के लिए जब हम सामान्य रोड और रेलवे फाटक के भी के synchronization को समझते हैं जब किसी समय ट्रैन आने वाली होती है उसके बाद फाटक अपने आप ही बंद हो जाती है और उसके साथ ही सड़क पर चल रहे गाड़ी को रुकना पड़ता है ट्रैन के जाने का इंतजार करना पड़ता है जैसे ही ट्रेन चली जाती है और फिर फाटक भी खुल जाती है जिससे गाड़ियों का आना जाना शुरू हो जाता है इसे यह कहा जा सकता है कि अलग यह एक दो अलग-अलग प्रकार के transporting services के बीच के synchronization का उदाहरण कहा जा सकता है।
इसी प्रकार से एक दिशा के लिये एक ही पटरी लगी हुई है तो इस प्रकार उस दिशा में जा रहे सभी ट्रेनों में आवश्यकता के अनुसार दूरी होना आवश्यक है इसलिए signal system निर्माण किया गया है इससे ट्रैन क्रेस नही होती टकराती नही अर्थात signal system का synchronized होना आवश्यक है।
Process synchronization क्या हैं?
Computer system में उपस्थित installed operating सिस्टम और processor के बीच मे इस synchronization को स्थापित करना आवश्यक होता है। इसे इस प्रकार से भी समझा जा सकता है जैसे की प्रोसेसिंग के दौरान ही output को अगर print की आवश्यकता होती है तो प्रोसेसर के द्वारा operating system को request भेजा जाता है और इसके साथ ही प्रिंट हुआ या नही इसके reply के लिए wait किया जाता है
जैसे ही प्रिंट हो गया इसका पता operating system चलता है तब इसका reply processor को भेज दिया जाता है इस प्रकार कहा जा सकता है operating system और processor के बीच मे synchronization होना आवश्यक होता है।
Process Synchronization के निम्न प्रकार के तत्व होते हैं:
(1) Background:
वर्तमान के समय मे कंप्यूटर में multitasking operating system अर्थात एक समय मे एक से अधिक प्रोग्राम का use किया जाता execute किया जा सकता हैं इससे तात्पर्य एक से अधिक कार्यो को एक समय में कंप्यूटर में कर सकते हैं इसमें कुछ execution Background process और कुछ foreground process मान सकते हैं।
इसे कुछ इस प्रकार से समझा जा सकता है जैसे कि कुछ व्यंजन लिया जाता है उसे बनाने की प्रक्रिया को Background process समझा जा सकता है और इसके साथ ही खाने के समान में हम उसमे से कहते हैं उसे Foreground process समझ सकते हैं क्योंकि इसमें खाने की प्रक्रिया हमारे सामने होती हैं और खाना बनाने की प्रक्रिया में वह हमारे आखो के पीछे होती है।
हमे यहाँ ऑपरेटिंग सिस्टम की सहायता से जो भी देखते हैं वह foreground क्रिया होती है लेकिन जो दिख रहा होता है वह केवल इतना कार्य को नही करता ऑपरेटिंग सिस्टम वे हमारे पीछे बहुत से कार्य करते हैं जो हमे पता ही नही चलता इसे Background process कहाँ जाता हैं अब यह आपको समझ आ ही गया होगा नही तो एक और उदाहरण के माध्यम से समझते हैं।
जैसे Computer के disk में कोई file कॉपी किया जाता है इसके लिए operating system को इनपुट डिवाइस की सहायता से निर्देश देते हैं तब background में उस field content को disk में लिखने का कार्य करता हैं जो यह हमारे पीछे होता है हमे दिखाई नही पड़ता फिर यह कार्य हो जाने पर disk में कॉपी file दिखाई पड़ता है इसे निम्न चित्र से समझा जा सकता है:
(2) The critical-section problem:
Computer बहुत से अनेकों process चलते रहता है और इसमें कोई एक process critical-section में execution के लिए जाता तब उसके बाद कोई अन्य process प्रवेश नही कर सकता वे allow नही होते इसकी यह एक समस्या होती है जिसे निम्न प्रकार से समझ सकते हैं:
code segment यह प्रत्येक process में एक होता ही है जिसे critical-section के नाम से जाना जाता है जिसकी सहायता से शेयर किए गए data तक पहुच सकते है।
(3) Synchronization Hardware:
बहुत से स्थितियां होती जिसमे system के द्वारा ही hardware support उपलब्ध कराता है system केके द्वारा critical section के लिए hardware support इसके समस्याओं का समाधान होता है इसे uniprocess के द्वारा समाधान किया जाता है। आधुनिक सिस्टम में atomic hardware निर्देश दिया जाता है जिसे निम्न प्रकार से देख सकते हैं:
Atomic=non-interruption
यहां memory की जांच कर उसे मान दिया जाता है और आपस मे बदल देते हैं जैसे:
(4) Semaphores:
इसमे busy और waiting नही करना पड़ता यह एक synchronized tool होता है यह जिस प्रकार Railway system में होता है ये उसी प्रकार होते हैं इसमे एक दिशा में एक पटरी होती है जिसमे ट्रैन एक समय मे एक train का जाना होता है उसी प्रकार इसमे एक process के हो जाने के बाद दूसरा process execute के लिए आता है।
इसमे ‘S’ एक परिवर्तनांक होता है और इसमें बदलाव लाकर दो operation, wait() और signal() निर्धारण कर सकते हैं जिनको P() और V() के नाम से जानते हैं।
(5) Critical Regions:
इसका कार्य high level synchronization का निर्माण करने का कार्य होता है। Shared variable vl और उनका प्रकार T को निम्न प्रकार declare कर सकते हैं:
var v1 : shared T;
यहाँ variable vl को केवल statement के अन्तर्गत ही access कर सकते है।
region v1
(6) Monitor:
- जब मॉनिटर के अन्तर्गत process को wait state में रख दिया जाता है तब condition variable को निम्न प्रकार से दिया जाता है: condition x,y;
- अगर Conditional variable में सिर्फ दो operator wait एवं signal का यूज़ किया जाता हैं Wait को निम्न प्रकार declare क्र सकते है: x.wait();
- इसी प्रकार signal को निम्न प्रकार से डिफाइन कर सकते हैं x.signal();
- Signal operation का प्रभाव कब नहीं पड़ता जब कोई एक जैसे suspend process नहीं होता हैं यदि कोई एक process भी suspend है तो यह उस process को आगे बढायेगा।
This comment has been removed by the author.