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

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 ) ;

टिप्पणियाँ

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

half adder and full adder in hindi

  आज हम  computer in hindi  मे  आज हम half adder and full adder in hindi - computer system architecture in hindi   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं-   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं- half adder and full adder in hindi:- 1. half adder in hindi 2. full adder in hindi  1. Half adder in hindi:- half adder  सबसे basic digital arithmetic circuit 2 binary digits का जोड़ है।  एक combination circuit जो दो bits के arithmetic जोड़ को display करता है उसे half adder कहा जाता है।   half adder के इनपुट variable को Augend और addend bits कहा जाता है। आउटपुट योग और Carrie को बदलता है। दो आउटपुट variable Specified करना आवश्यक है क्योंकि 1 + 1 का योग बाइनरी 10 है, जिसमें दो अंक हैं। हम दो इनपुट वेरिएबल्स के लिए x और y और दो आउटपुट वेरिएबल के लिए S (योग के लिए) और C (कैरी के लिए) असाइन करते हैं। C output 0 है जब तक कि दोनों इनपुट 1 न हों। S आउटपुट योग के कम से कम महत्वपूर्ण बिट का Representation करता है। दो आउटपुट के लिए boolean function सीधे t

physical address and logical address in hindi

आज हम  computer course in hindi  मे हम  physical address and logical address in hindi  के बारे में बताएगें तो चलिए शुरु करते हैं-  physical address and logical address in hindi:- physical address and logical address  कोई भी address CPU द्वारा बनाया जाता है उसे लॉजिकल एड्रेस (logical address) कहते हैं और जो address memory में दिखता है उसे हम फिजिकल मैमोरी एड्रैस कहते हैं ) जिसमें Compile time और Load time address binding है कुछ converted करता है जब logical और physical address समान होते हैं अर्थात् एक जैसे होते हैं लेकिन action time address binding scheme में कुछ change आता है और जब logical और physical में अंतर होता है । इसलिये हम logic address को वर्चुअल एड्रैस ( Virtual Address ) भी कहते है और इसी का प्रयोग करते हैं । logical या virtual address हम कह सकते हैं और सारे logical address जो कि एक प्रोग्राम के द्वारा बनाये जाते हैं उन्हें लॉजिकल एड्रैस स्पेस ( Logical Address Space ) कहते हैं । इसके साथ ही जो physical address इन logical address के साथ होते हैं उन्हें हम फिजिकल एड्रैस स्पेस (