सीधे मुख्य सामग्री पर जाएं

semaphore in os in hindi

आज हम computer course in hindi मे हम semaphore in os in hindi के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं- 

semaphore in os in hindi:-

semaphore in os यहाँ अभी - अभी हमने  पहले वाले artical में mutual exclusion के प्रोब्लम के लिए जिस algorithm मतलब solution की बात कि वह mutual exclusion के सभी problems को solve नहीं कर पाता है यह एक Dutch Mathematician , जिनका नाम Dekker था , ने सबसे पहले mutual exclusion प्रोब्लम को हल किया। लेकिन algorithm केवल दो ही प्रोसेसेस पर कार्य करता है तथा इसे दो से अधिक प्रोसेस पर लागू नहीं किया जा सकता है । Semaphore जो एक cynchronization tool है , जिसे Dijkstra नाम के वैज्ञानिक के द्वारा develope किया गया है और mutual exclusion प्रोबलम को solve करने के लिए कई ऑपरेटिंग सिस्टम में  system call या built - in functions के रूप में implement किया गया है । यह सेमोफोर ( Semaphore ) एक integer वैरिएबल है जिसे S से सूचित किया जाता है । अत : S केवल non - negative intejer value को accept करता है तथा इसे दो primitive operations - wait और signal के द्वारा access तथा manipulate किया जा सकता है और ये दोनों ही primitives Semaphore वैरिएबल के रूप में argument accept करते हैं । इनके classical definition को pseudocode में इस तरह define किया जा सकता हैं-

1. pseudocode में wait का classic definition:- 

wait ( S ) 
while ( S < O ) 
; // no - operation 
S- -

2. Pseudocode में signal का classical definition :-

signal ( s ) 
S ++ ; 
}
wait और signal operations में semaphore के integer value में modification अलग - अलग होना चाहिए और जब कोई प्रोसेस semaphore की वैल्यू को modify करता है , तो कोई भी दूसरा प्रोसेस उसी semaphore की value को उसी समय मतलब एक साथ modify नहीं कर सकता है और इसके wait ( S ) की स्थिति में S ( S < = 0 ) के integer value की जांच तथा इसके modification ( S -- ) भी बिना किसी intrruption के execute होने चाहिए और semaphores की functioning को समझने के लिए इस algorithm पर करते है।

3. Readers Writers Problem :-

इसमें फाइल या रिकॉर्ड एक से अधिक concurrent processes द्वारा share किया जा सकता है और जहाँ कुछ प्रोसेसेस shared object पर read operation कर सकते हैं वहीं कुछ write operation । 
वे प्रोसेसेस जो shared object पर रीड ऑपरेशन करते हैं और readers कहे जाते हैं तथा वे प्रोसेस जो shared object पर राइट ऑपरेशन करते हैं , writers कहे जाते हैं । यदि किसी shared object पर readers और writers एक साथ access करते हैं को कुछ समस्याएँ हो सकती हैं और इसी समस्या को Readers / Writers Problem कहा जाता है । Readers / Writers Problem के कई variation हैं । इनमें साधारण First Readers / Writers Problem है । 
First Readers / Writers problem में कोई भी reader तब तक wait नहीं करता है , जब तक किसी writer को shared object को use करने की permission नहीं दी जाती है।
 Second Readers / Writers Problem में यदि कोई writer shared object को access करने के लिए wait करता रहता है , तो कोई भी नया reader ऑब्जेक्ट पर read ऑपरेशन start नहीं कर सकता है ।
इन दोनों में किसी भी समस्या का starvation हो सकता है । जहाँ 
First Readers / Writers Problem को solve करने में writers starve कर सकते हैं , वहीं Second Readers / Writers Problem को solve करने में veaders , starve कर सकते हैं । starvation वह स्थिति है जिसमें प्रोसेसेस सेमाफोर ( semaphore ) के अन्दर indifinite time तक execution के लिए wait करते हैं । starvation को indefinite blocking भी कहते हैं ।

structure of a writer process :-

wait ( wrt ) ; 
.........................
.........................
writing is being performed 
........................ 
........................ 
........................ 
........................ 
signal ( wrt ) ;
........................ 

structure of a reader process:-

wait ( mutex ) ; 
readerscount ++ ; 
if ( readerscount == 1 )
wait ( wrt ) : 
signal ( mutex ) ; 
.......................
.......................
reading is being performed 
.......................
.......................
wait ( mutex ) ; 
readerscount - - ; 
if ( readerscount == 0 ) 
signal ( wrt ) ; 
signal ( mutex ) ;

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Recovery technique in dbms । रिकवरी। recovery in hindi

 आज हम Recovery facilities in DBMS (रिकवरी)   के बारे मे जानेगे रिकवरी क्या होता है? और ये रिकवरी कितने प्रकार की होती है? तो चलिए शुरु करतेे हैं- Recovery in hindi( रिकवरी) :- यदि किसी सिस्टम का Data Base क्रैश हो जाये तो उस Data को पुनः उसी रूप में वापस लाने अर्थात् उसे restore करने को ही रिकवरी कहा जाता है ।  recovery technique(रिकवरी तकनीक):- यदि Data Base पुनः पुरानी स्थिति में ना आए तो आखिर में जिस स्थिति में भी आए उसे उसी स्थिति में restore किया जाता है । अतः रिकवरी का प्रयोग Data Base को पुनः पूर्व की स्थिति में लाने के लिये किया जाता है ताकि Data Base की सामान्य कार्यविधि बनी रहे ।  डेटा की रिकवरी करने के लिये यह आवश्यक है कि DBA के द्वारा समूह समय पर नया Data आने पर तुरन्त उसका Backup लेना चाहिए , तथा अपने Backup को समय - समय पर update करते रहना चाहिए । यह बैकअप DBA ( database administrator ) के द्वारा लगातार लिया जाना चाहिए तथा Data Base क्रैश होने पर इसे क्रमानुसार पुनः रिस्टोर कर देना चाहिए Types of recovery (  रिकवरी के प्रकार ):- 1. Log Based Recovery 2. Shadow pag

method for handling deadlock in hindi

आज हम  computer course in hindi  मे हम   method for handling deadlock in hindi  के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं- method for handling deadlock in hindi:- deadlock  को बचाने या हटाने के लिये हमें protocol  का प्रयोग करना पड़ सकता है और जब हम यह fixed कर लें कि सिस्टम को deadlock की state में नहीं जायेगा । हम सिस्टम को deadlock की state में पहचान करने एवं recover करने के लिए जाने दे सकते है । हम सारी परेशनियों को एक साथ हटा सकते हैं , और सिस्टम में फिर दुबारा से deadlock मौजूद नहीं होगा । यह solution कई ऑपरेटिंग सिस्टम एवं UNIX के द्वारा use में लिया जाता है , यह fix करने के लिये कि deadlock कभी नहीं होगा , सिस्टम को या तो  deadlock  बचाव scheme का use करना पड़ेगा या फिर deadlock को हटाने की scheme का use करना पड़ेगा । एक methods का set है जो यह fix करता है कि स्थिति में से एक को sald नहीं किया जा सकता । यह method को रोकते हैं Constraining के द्वारा resource की जरूरत पड़ती है । दूसरी तरफ , deadlock को हटाने की जरूरत पड़ती है ऑपरेटिंग सिस्टम की advanced addition