पोलिंग (कंप्यूटर विज्ञान)

मतदान, या पूछताछ, क्लाइंट प्रोग्राम द्वारा एक तुल्यकालिक गतिविधि के रूप में बाहरी उपकरण की स्थिति को सक्रिय रूप से नमूना करने के लिए संदर्भित करता है। पोलिंग का उपयोग अधिकांशतः इनपुट/आउटपुट के संदर्भ में किया जाता है (I/O), और इसे मतदान के रूप में भी जाना जाता है I/O या सॉफ्टवेयर संचालित I/O. हार्डवेयर कार्यान्वयन का एक अच्छा उदाहरण प्रहरी घड़ी है।

विवरण
पोलिंग वह प्रक्रिया है जहां कंप्यूटर या कंट्रोलिंग उपकरण किसी बाहरी उपकरण की तत्परता या स्थिति की जांच करने के लिए प्रतीक्षा करता है, अधिकांशतः निम्न-स्तरीय हार्डवेयर के साथ उदाहरण के लिए, जब एक प्रिंटर (कंप्यूटिंग) एक समानांतर पोर्ट के माध्यम से जुड़ा होता है, तो कंप्यूटर तब तक प्रतीक्षा करता है जब तक कि प्रिंटर को अगला वर्ण प्राप्त नहीं हो जाता। ये प्रक्रियाएँ केवल पढ़ने की स्थिति रजिस्टर के रूप में मिनट हो सकती हैं। इसे कभी-कभी 'व्यस्त प्रतीक्षा व्यस्त-प्रतीक्षा' मतदान के समानार्थक रूप में प्रयोग किया जाता है। ऐसी स्थिति में जब ए I/O ऑपरेशन की आवश्यकता है, कंप्यूटर की स्थिति की जांच के अतिरिक्त और कुछ नहीं करता है I/O उपकरण तैयार होने तक, जिस बिंदु पर उपकरण एक्सेस किया जाता है। दूसरे शब्दों में, कंप्यूटर उपकरण के तैयार होने तक प्रतीक्षा करता है। मतदान उस स्थिति को भी संदर्भित करता है जहां एक उपकरण को तत्परता के लिए बार-बार जांचा जाता है, और यदि ऐसा नहीं होता है, तो कंप्यूटर एक अलग कार्य पर वापस आ जाता है। चूंकि व्यस्त प्रतीक्षा के रूप में सीपीयू चक्रों की अपव्ययी नहीं है, यह सामान्यतः मतदान बाधित-संचालित I/O के विकल्प के रूप में कुशल नहीं है।

एक सरल एकल-उद्देश्य प्रणाली में, व्यस्त-प्रतीक्षा भी पूरी तरह से उपयुक्त है यदि कोई कार्रवाई संभव नहीं है I/O एक्सेस, किंतु अधिकतर यह परंपरागत रूप से सरल हार्डवेयर या गैर-कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली का परिणाम था।

मतदान अधिकांशतः मशीन कोड निम्न-स्तर के हार्डवेयर के साथ घनिष्ठ रूप से जुड़ा होता है। उदाहरण के लिए, एक समानांतर प्रिंटर पोर्ट को यह जांचने के लिए मतदान करना कि क्या वह दूसरे वर्ण के लिए तैयार है, एक बाइट के एक अंश के रूप में जांच करना सम्मिलित है। यह बिट पढ़ने के समय दर्शाता है कि प्रिंटर केबल में एक तार कम या उच्च वोल्टेज पर है या नहीं है| वह I/O निर्देश जो इस बाइट को पढ़ता है वह सीधे आठ वास्तविक दुनिया के तारों की वोल्टेज स्थिति को आठ परिपथ (फ्लिप फ्लॉप (इलेक्ट्रॉनिक्स) एस) में स्थानांतरित करता है जो एक सीपीयू रजिस्टर के एक बाइट को बनाते हैं।

पोलिंग का हानि यह है कि यदि जाँच के लिए बहुत सारे उपकरण हैं, तो उन्हें पोल ​​करने के लिए आवश्यक समय I/O उपकरण की सेवा के लिए उपलब्ध समय से अधिक हो सकता है।

एल्गोरिदम
मतदान को निम्न चरणों में वर्णित किया जा सकता है:

होस्ट क्रियाएं: नियंत्रक क्रियाएं:
 * 1) होस्ट बार-बार नियंत्रक के व्यस्त बिट को तब तक पढ़ता है जब तक कि यह स्पष्ट न हो जाए (0 के मान के साथ)।
 * 2) स्पष्ट होने पर, होस्ट आदेश को आदेश हार्डवेयर रजिस्टर में लिखता है। यदि होस्ट आउटपुट भेज रहा है, तो यह राइट बिट सेट करता है और डेटा-आउट रजिस्टर में एक बाइट लिखता है। यदि होस्ट इनपुट प्राप्त कर रहा है, तो यह डेटा-इन रजिस्टर से नियंत्रक द्वारा लिखे गए डेटा को पढ़ता है, और रीड बिट को अगले आदेश के रूप में 0 पर सेट करता है।
 * 3) होस्ट आदेश के लिए तैयार बिट को 1 पर सेट करता है।
 * 1) जब नियंत्रक नोटिस करता है कि आदेश -रेडी बिट सेट है, तो यह व्यस्त बिट को 1 पर सेट करता है।
 * 2) नियंत्रक आदेश रजिस्टर पढ़ता है। यदि राइट बिट अंदर सेट है, तो यह डेटा-आउट रजिस्टर से पढ़ता है और आवश्यक कार्य करता है I/O उपकरण पर संचालन। यदि रीड बिट सेट है, तो उपकरण से डेटा को होस्ट के पढ़ने के लिए डेटा-इन रजिस्टर में लोड किया जाता है।
 * 3) एक बार संचालन समाप्त हो जाने के बाद, नियंत्रक आदेश -तैयार बिट को साफ़ करता है, ऑपरेशन को सफल दिखाने के लिए त्रुटि बिट को साफ़ करता है, और व्यस्त बिट को साफ़ करता है।

प्रकार
एक मतदान चक्र वह समय होता है जिसमें प्रत्येक तत्व की एक बार निगरानी की जाती है। इष्टतम मतदान चक्र कई कारकों के अनुसार अलग-अलग होगा, जिसमें प्रतिक्रिया की वांछित गति और मतदान के ओवरहेड (जैसे, निर्धारण (कंप्यूटिंग) और बैंडविड्थ (कंप्यूटिंग)) सम्मिलित हैं।

रोल कॉल मतदान में, मतदान उपकरण या प्रक्रिया प्रत्येक तत्व को एक निश्चित अनुक्रम में एक सूची पर पूछताछ करती है। क्योंकि यह प्रत्येक तत्व से प्रतिक्रिया की प्रतीक्षा करता है, गैर-प्रतिक्रियाशील तत्वों के कारण होने वाले लॉक-अप को रोकने के लिए एक समय तंत्र आवश्यक है। यदि मतदान संदेशों के लिए ओवरहेड अधिक है, तो रोल कॉल मतदान अक्षम हो सकता है, प्रत्येक मतदान चक्र में मतदान के लिए कई तत्व होते हैं और केवल कुछ तत्व सक्रिय होते हैं।

'हब पोलिंग' में, जिसे टोकन पोलिंग भी कहा जाता है, प्रत्येक तत्व अगले तत्व को कुछ निश्चित अनुक्रम में मतदान करता है। यह तब तक जारी रहता है जब तक कि पहला तत्व नहीं पहुंच जाता, जिस समय मतदान चक्र फिर से प्रारंभ हो जाता है।

सम्मिलित तत्वों के निष्पादन या संचरण अनुक्रम को नियंत्रित करने के लिए मतदान को विभिन्न कंप्यूटिंग संदर्भों में नियोजित किया जा सकता है। उदाहरण के लिए, मल्टीटास्किंग ऑपरेटिंग प्रणाली में, विभिन्न प्रतिस्पर्धी प्रक्रियाओं के लिए प्रोसेसर समय और अन्य संसाधनों को आवंटित करने के लिए पोलिंग का उपयोग किया जा सकता है।

नेटवर्क में, मतदान का उपयोग यह निर्धारित करने के लिए किया जाता है कि कौन से नोड नेटवर्क तक पहुंचना चाहते हैं। इसका उपयोग रूटिंग प्रोटोकॉल द्वारा रूटिंग जानकारी प्राप्त करने के लिए भी किया जाता है, जैसा कि ईजीपी (बाहरी गेटवे प्रोटोकॉल) के स्थिति में होता है।

मतदान का एक विकल्प व्यवधानों का उपयोग है, जो उपकरणों या प्रक्रियाओं द्वारा उत्पन्न संकेत (आईपीसी) हैं जो इंगित करते हैं कि उन्हें ध्यान देने की आवश्यकता है, संवाद करना चाहते हैं, आदि। चूंकि कई स्थितियों में मतदान बहुत सरल हो सकता है (जैसे, मल्टीटास्किंग ऑपरेटिंग प्रणाली ) इंटरप्ट्स का उपयोग करना अधिक कुशल है क्योंकि यह प्रोसेसर के उपयोग और/या बैंडविड्थ खपत को कम कर सकता है।

मतदान संदेश
एक पोल संदेश एक नियंत्रण-पावती संदेश है।

मल्टीड्रॉप लाइन व्यवस्था में (एक केंद्रीय कंप्यूटर और विभिन्न टर्मिनल जिसमें टर्मिनल (दूरसंचार) कंप्यूटर से और कंप्यूटर से एक ही संचार लाइन साझा करते हैं), प्रणाली एक मास्टर/स्लेव (प्रौद्योगिकी) | मास्टर/स्लेव मतदान व्यवस्था का उपयोग करता है जिससे केंद्रीय कंप्यूटर आउटगोइंग लाइन पर एक विशिष्ट टर्मिनल के लिए संदेश (मतदान संदेश कहा जाता है) भेजता है। सभी टर्मिनल आउटगोइंग लाइन को सुनते हैं, किंतु केवल वह टर्मिनल जिसे पोल किया गया है, आने वाली लाइन पर ट्रांसमिशन के लिए तैयार होने वाली कोई भी जानकारी भेजकर उत्तर देता है।

स्टार नेटवर्क में, जो अपने सरलतम रूप में, एक केंद्रीय प्रसार बदलना, ईथरनेट हब, या कंप्यूटर से युक्त होता है, जो संदेशों को प्रसारित करने के लिए एक नाली के रूप में कार्य करता है, लाइनों पर अराजकता से बचने के लिए पोलिंग की आवश्यकता नहीं होती है, किंतु इसका उपयोग अधिकांशतः अनुमति देने के लिए किया जाता है। मास्टर एक व्यवस्थित विधि से इनपुट प्राप्त करने के लिए। ये पोल संदेश मल्टीड्रॉप लाइन केस से भिन्न होते हैं क्योंकि साइट के पते की आवश्यकता नहीं होती है, और प्रत्येक टर्मिनल केवल उन पोल को प्राप्त करता है जो इसे निर्देशित किए जाते हैं।

यह भी देखें

 * अमूर्तता (कंप्यूटर विज्ञान)
 * अतुल्यकालिक I/O
 * थोड़ा पीटना
 * अनंत लूप
 * इंटरप्ट अनुरोध (पीसी आर्किटेक्चर)
 * पूर्णांक (कंप्यूटर विज्ञान)
 * क्यु
 * एकाधिक अतुल्यकालिक आवधिक मतदान
 * प्रौद्योगिकी खींचो
 * चयन करें (यूनिक्स)
 * संकेत (आईपीसी)

संदर्भ
Attente active