2014-09-26 6 views
5

मैं पॉज़िक्स और सिस्टम वी सेमफोर के बीच अंतर पढ़ रहा था, और मैंने इसके बारे में कुछ लेख पढ़े। प्रत्येक आलेख में यह कथन लिखा गया है: "सिस्टम वी सेमफोरस फायदेमंद हैं यदि आपको एक ही चरण में कई वृद्धि-कमी के साथ परमाणु संचालन को लागू करने की आवश्यकता है।"सिस्टम वी सेमफोर एकाधिक वृद्धि/कमी

मेरे प्रश्न हैं:

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

लेखक शीर्षक के तहत एक परमाणु आपरेशन में एक से अधिक वेतन वृद्धि/सेमाफोर की घटती के लिए एक कोड लिखा है "सेमाफोर के समूह का कार्यान्वयन"। इसका व्यावहारिक उपयोग अभी भी यहां उल्लेख नहीं किया गया है।

3) http://books.google.co.in/books?id=-Mq5ve5KHXQC&pg=PA109&lpg=PA109&dq=system+v+semaphore+multiple&source=bl&ots=SsdKqyG-Kp&sig=Y7AGqHrsOWaOk8EvCX2dH2RqEnA&hl=en&sa=X&ei=RVomVK-pIIuEuwSV0ILwBQ&ved=0CDQQ6AEwBDgU#v=onepage&q=system%20v%20semaphore%20multiple&f=false

किताब से एक अंश:

"यूनिक्स प्रणाली V में, सेमाफोर तंत्र कुछ समायोजन बनाता आपरेशन atomicity बनाए रखा है लेकिन आपरेशन के जोड़ा या घटाया मूल्य हो सकता है।। एक से अधिक। (क्यों? क्या उपयोग?)। और भी अधिक, प्रक्रियाएं कई प्रकार के विभिन्न संसाधनों के लिए प्रतिस्पर्धा करते समय कई प्रकार की प्रक्रियाओं के साथ-साथ डेडलॉक समस्याओं से बचने के लिए कई सेमफोर संचालन कर सकती हैं।(कैसे? उदाहरण?) "

मुझे आशा है कि और अधिक स्पष्ट सवाल बना देता है।

करें यदि आप प्रश्न पूछा पर कोई शक है टिप्पणी। पहले से

धन्यवाद!

उत्तर

0

उदाहरण जहां एकाधिक वृद्धि/कमी आसान हो सकती है: किसी प्रकार के कॉन्फ़्रेंस सिस्टम को फैंसी करें जहां वीडियो सत्र के लिए वीडियो के लिए एक चैनल और दूसरे के लिए ध्वनि की आवश्यकता होती है, लेकिन अन्य सत्र केवल ऑडियो चैनल का उपयोग करते हैं। चैनलों तक पहुंच नियंत्रित करने के लिए, सेमफोर का उपयोग किया जा सकता है। जब एक सत्र समाप्त हो जाता है, तो इसे ओथ के लिए मुक्त करने के लिए, एक बार में, सभी सेमफोरों का उपयोग करना चाहिए एर सत्र यदि यह परमाणु नहीं है, तो वीडियो कॉन्फ़्रेंस सत्र शायद, जब यह शुरू होता है, तो ऑडियो चैनल को पकड़ने में सक्षम हो सकता है लेकिन वीडियो चैनल को पकड़ने में बहुत देर हो चुकी है।

आपका दूसरा प्रश्न लोड संतुलन से संबंधित है। [-1.1.1] से अन्य मूल्यों की अनुमति देकर, आप सेमफोर मान को कतार आकार मीटर के रूप में उपयोग कर सकते हैं। उपरोक्त सम्मेलन उदाहरण में, यदि सभी स्थानीय चैनलों पर लोड बहुत भारी है, तो शायद आप अपने सत्र को अपने चैनलों के साथ कम व्यस्त ट्रंक पर रीडायरेक्ट कर सकते हैं।

उम्मीद है कि यह थोड़ा स्पष्ट हो जाएगा।

+0

हाय रेन, आपके उत्तर के लिए धन्यवाद, लेकिन मुझे अभी भी निम्नलिखित संदेह हैं: – Sahil

+0

1) यदि सत्र समाप्त हो जाता है, तो क्या यह सेमफोरों को 'वृद्धि' नहीं करना चाहिए? (अधिकांशतः एक टाइपो, लेकिन बस इसे इंगित करना चाहता था।) 2) मुझे आपकी व्याख्या से क्या समझा गया है कि कई वृद्धि/कमी की परमाणुता एक डेडलॉक स्थिति को रोक देगी। लेकिन उत्तराधिकार में 2 सेम ऑपरेशन करके भी इससे बचा जा सकता है? (उसी क्रम में - अर्थात् ऑडियो में कमी का मतलब है और फिर प्रत्येक सत्र में वीडियो घटाएं।) – Sahil

+0

3) मुझे वास्तव में समझ में नहीं आया कि हम सेमफोर का उपयोग करके लोड संतुलन कैसे प्राप्त कर पाएंगे। जो मैं समझता हूं, सेमफोर किसी भी संसाधन से संबंधित नहीं हैं .. कृपया स्पष्ट करें और यदि संभव हो तो प्रोग्रामेटिक सबूत दें। धन्यवाद :) – Sahil

संबंधित मुद्दे