मैं पॉज़िक्स और सिस्टम वी सेमफोर के बीच अंतर पढ़ रहा था, और मैंने इसके बारे में कुछ लेख पढ़े। प्रत्येक आलेख में यह कथन लिखा गया है: "सिस्टम वी सेमफोरस फायदेमंद हैं यदि आपको एक ही चरण में कई वृद्धि-कमी के साथ परमाणु संचालन को लागू करने की आवश्यकता है।"सिस्टम वी सेमफोर एकाधिक वृद्धि/कमी
मेरे प्रश्न हैं:
1) एकल परमाणु आपरेशन में एक से अधिक वेतन वृद्धि/कमी के लिए की जरूरत क्या है? क्या आप उदाहरण के साथ समझा सकते हैं?
2) क्यों सेम मूल्य -1 से कम मान और +1 से अधिक मान द्वारा मूल्य को बदलने की अनुमति देता है? क्या इसका कोई व्यावहारिक उपयोग/उदाहरण है?
(मुझे पता है कि मैं के लिए सेमाफोर वृद्धि या एक निर्धारित मूल्य से कमी हो सकता है सिस्टम वी सेमाफोर में semop() फ़ंक्शन के साथ) सेमाफोर सरणी & है कि एक ही sem_wait के साथ नहीं किया जा सकता है (में एक सेमाफोर या से । sem_post (इसे POSIX सेमाफोर की) लेकिन इसके साथ ही के उपयोग क्या है)
लेख मैंने पढ़ा है, आपके संदर्भ के लिए:
1) http://www.ibm.com/developerworks/library/l-semaphore/
2) Differences between System V and Posix semaphores
3) http://www.linuxdevcenter.com/pub/a/linux/2007/05/24/semaphores-in-linux.html?page=4
4) http://linuxtips.pbworks.com/w/page/29023300/SystemV%20vs%20Posix%20IPC
अद्यतन:
मैं नीचे लेख जो कई वेतन वृद्धि/एक सेमाफोर semop() का उपयोग करने का घटती पर कुछ उल्लेख किया है पढ़ा है, लेकिन मैं अभी भी इसका एक उदाहरण/व्यावहारिक उपयोग प्राप्त करने में सक्षम नहीं है।
1) http://kaharris.org/teaching/51081/Assignments/Final/systemV.pdf
लेख से एक अंश:: आपके संदर्भ के लिए लेख (शीर्षक) "एक से अधिक सेमाफोर संचालन का उदाहरण" के अंतर्गत
"सिस्टम वी सेमाफोर की शक्ति है वे कर सकते हैं कि एक ऑपरेशन में परमाणु रूप से जांच और एकाधिक सेमफोर सेट करने के लिए इस्तेमाल किया जाना चाहिए। "
उन्होंने इसे कैसे करना है इसका एक छोटा सा स्निपेट दिया है। लेकिन इसका कोई व्यावहारिक उपयोग नहीं है।
2) http://www.anirudhtom.com/2011/02/system-v-semaphores-for-babies.html
लेखक शीर्षक के तहत एक परमाणु आपरेशन में एक से अधिक वेतन वृद्धि/सेमाफोर की घटती के लिए एक कोड लिखा है "सेमाफोर के समूह का कार्यान्वयन"। इसका व्यावहारिक उपयोग अभी भी यहां उल्लेख नहीं किया गया है।
किताब से एक अंश:
"यूनिक्स प्रणाली V में, सेमाफोर तंत्र कुछ समायोजन बनाता आपरेशन atomicity बनाए रखा है लेकिन आपरेशन के जोड़ा या घटाया मूल्य हो सकता है।। एक से अधिक। (क्यों? क्या उपयोग?)। और भी अधिक, प्रक्रियाएं कई प्रकार के विभिन्न संसाधनों के लिए प्रतिस्पर्धा करते समय कई प्रकार की प्रक्रियाओं के साथ-साथ डेडलॉक समस्याओं से बचने के लिए कई सेमफोर संचालन कर सकती हैं।(कैसे? उदाहरण?) "
मुझे आशा है कि और अधिक स्पष्ट सवाल बना देता है।
करें यदि आप प्रश्न पूछा पर कोई शक है टिप्पणी। पहले से
धन्यवाद!
हाय रेन, आपके उत्तर के लिए धन्यवाद, लेकिन मुझे अभी भी निम्नलिखित संदेह हैं: – Sahil
1) यदि सत्र समाप्त हो जाता है, तो क्या यह सेमफोरों को 'वृद्धि' नहीं करना चाहिए? (अधिकांशतः एक टाइपो, लेकिन बस इसे इंगित करना चाहता था।) 2) मुझे आपकी व्याख्या से क्या समझा गया है कि कई वृद्धि/कमी की परमाणुता एक डेडलॉक स्थिति को रोक देगी। लेकिन उत्तराधिकार में 2 सेम ऑपरेशन करके भी इससे बचा जा सकता है? (उसी क्रम में - अर्थात् ऑडियो में कमी का मतलब है और फिर प्रत्येक सत्र में वीडियो घटाएं।) – Sahil
3) मुझे वास्तव में समझ में नहीं आया कि हम सेमफोर का उपयोग करके लोड संतुलन कैसे प्राप्त कर पाएंगे। जो मैं समझता हूं, सेमफोर किसी भी संसाधन से संबंधित नहीं हैं .. कृपया स्पष्ट करें और यदि संभव हो तो प्रोग्रामेटिक सबूत दें। धन्यवाद :) – Sahil