Hello दोस्तों ! इस Post में आपको semaphore के बारें में बताया जायेगा तथा यह क्या और क्यों होती है इसके बारें में भी बात करेगे, तो चलिए शुरू करते
है:-
What is Semaphores?
Operating System के semaphore को आप simple तौर
पर एक variable के रूप में use कर सकते हैं। इस variable का प्रयोग critical section problem को हल करने के लिए किया जाता है।
Semaphores
का प्रयोग threads या processes को किसी एक resource को access करने से रोकने के लिए
किया जाता है।
दुसरें शब्दों में कहें तो, “इसका
प्रयोग critical section की परेशानी को solve करने तथा process synchronization को solve करने के लिए किया जाता है।”
इसका प्रयोग multi-processing वातावरण में प्रोसेस synchronization को प्राप्त
करने के लिए भी किया जाता है।
Multi-programming
में, यदि बहुत सारी processes एक common resource का प्रयोग कर रही है तो उन्हें
इस प्रकार उस resource को access करने की जरुरत होती है जिससे कि वे processes
एक दूसरे को disturb या interfere ना करें. तो इस disturbance और interfere को रोकने के लिए semaphore का प्रयोग किया जाता है।
Semaphore
का प्रयोग ज्यादातर दो उद्देश्यों के लिए किया जाता है।
- पहला, एक ही memory space को share करने के लिए।
- दूसरा, फाइलों के access को share करने के लिए।
इसमें दो प्रकार के semaphore होते semaphore हैं:-
1.Counting semaphore 2.Binary
semaphore.
counting
semaphore non negative integer वैल्यू ले सकते हैं वही binary semaphore केवल 0 और 1 ही
लेते हैं।
Semaphores में दो operations डिफाइन होते है:- Wait तथा Signal.
Semaphores में दो operations डिफाइन होते है:- Wait तथा Signal.
critical
section में entry को wait operation द्वारा control किया जाता है तथा critical
section से exit को signal operation द्वारा हैंडल किया जाता है।
wait
तथा signal ऑपरेशनों को P तथा V operation भी कहते है।
semaphores
(S) की कार्यविधि इस प्रकार होती है:-
1:-Wait
P(S) कमांड जो है वह semaphore
की value को 1 से घटा
देती है. यदि फिर उसकी वैल्यू नकारात्मक आती है तो P ऑपरेशन
को तब तक wait करना पड़ता है जब तक कि condition satisfy नहीं हो जाती है।
2:-Signal
V(S) कमांड जो है वह semaphore
की value में 1 जोड़ देती
है। Semaphores
में mutual exclusion जो है वह वह P(S)
तथा V(S) के अन्दर ही लागू होता है. यदि बहुत
सारें process एक साथ P(S) को access करने की कोशिश करेंगे तो केवल एक process को ही allow
किया जायेगा जबकि अन्य processes को wait
करना पड़ेगा।
इस operations को नीचे define किया गया है:-
P(S) or wait(S):
If S > 0 then
Set S to
S-1
Else
Block the
calling process (i.e. Wait on S)
V(S) or signal(S):
If any processes are waiting on S
Start one of these
processes
Else
Set S to
S+1
तो हम कह सकते है कि semaphore
एक तकनीक है जो कि processes के मध्य mutual
exclusion को सुनिश्चित करती है।
C programming language में interfaces
या functions का समूह होता है जो कि semaphores
को manage करता है।
Note:- आप को यह post कैसी
लगी, और कोई सुझाव हो तो हमें Comment
में बताये और,
इसे अपने दोस्तों के साथ इसे share करे । धन्यवाद
![]() |
Share on Whatsapp |
What is Semaphore in O/S in Hindi
Reviewed by Vivek
on
फ़रवरी 24, 2020
Rating:

Sir critical section problem and it's algorithm please
जवाब देंहटाएं