असिंक्रोनस सीरियल संचार में “हार्डवेयर हैंडशेकिंग” (जैसे RTS/CTS लाइनों का उपयोग) की क्या भूमिका होती है?
- (a)दोनों उपकरणों की आंतरिक घड़ियों को सिंक्रोनाइज़ करना
- (b)ट्रांसमिशन से पहले डेटा को एन्क्रिप्ट करना
- (c)पैरिटी बिट्स का उपयोग करके त्रुटि पहचान प्रदान करना
- (d)बफ़र ओवरफ़्लो को प्रबंधित करके डेटा हानि को रोकना
उत्तर
क्यों
सही उत्तर — D. हार्डवेयर हैंडशेकिंग अलग तारों (dedicated wires) पर होने वाला फ़्लो कंट्रोल है। रिसीवर RTS/CTS लाइनों से बताता है कि वह और डेटा ले सकता है या नहीं।
जब उसका बफ़र लगभग भर जाता है, तो वह सिग्नल हटा लेता है, और भेजने वाला तब तक रुका रहता है, जब तक सिग्नल लौट न आए।
इस तरह कोई भी बाइट ऐसे समय नहीं पहुँचती, जब उसे रखने की जगह न हो। यही विकल्प (d) है: बफ़र ओवरफ़्लो से होने वाली डेटा हानि को रोकना।
अन्य विकल्प क्यों गलत हैं
- (a)दोनों उपकरणों की आंतरिक घड़ियों को सिंक्रोनाइज़ करना — असिंक्रोनस लिंक में कोई साझा घड़ी (clock) होती ही नहीं। हर कैरेक्टर एक स्टार्ट बिट से शुरू होता है, और दोनों सिरे पहले से एक ही बॉड रेट (baud rate) पर सेट रहते हैं, इसलिए RTS/CTS के पास सिंक्रोनाइज़ करने को कोई घड़ी है ही नहीं।
- (b)ट्रांसमिशन से पहले डेटा को एन्क्रिप्ट करना — RTS और CTS तैयार / तैयार नहीं (ready / not-ready) वाले कंट्रोल सिग्नल हैं। ये डेटा बिट्स को छूते तक नहीं, इसलिए कुछ भी एन्क्रिप्ट नहीं कर सकते।
- (c)पैरिटी बिट्स का उपयोग करके त्रुटि पहचान प्रदान करना — पैरिटी बिट हर कैरेक्टर फ़्रेम के भीतर अलग से जुड़ा एक बिट है, और त्रुटि जाँचने का एक सरल तरीका। इसे अलग से सेट किया जाता है, और हैंडशेकिंग चालू हो या बंद, यह अपना काम करता है।
अवधारणा
फ़्लो कंट्रोल तेज़ भेजने वाले को धीमे रिसीवर की क्षमता से ज़्यादा डेटा भेजने से रोकता है। हार्डवेयर फ़्लो कंट्रोल में 'रुको' और 'भेजो' के संदेश डेटा स्ट्रीम के भीतर नहीं, बल्कि अलग तारों पर जाते हैं: RTS (Request To Send) और CTS (Clear To Send)।
Windows के सीरियल ड्राइवर के दस्तावेज़ इसका एक ठोस रूप बताते हैं।
RTS हैंडशेकिंग चालू हो, तो इनपुट बफ़र तीन-चौथाई से ज़्यादा भरते ही ड्राइवर RTS को लो (low) कर देता है, और बफ़र आधे से कम रह जाने पर उसे फिर हाई (high) कर देता है।
CTS मॉनिटरिंग चालू हो, तो CTS बंद रहने तक ड्राइवर आउटपुट रोक देता है।
दूसरा तरीका सॉफ़्टवेयर फ़्लो कंट्रोल, XON/XOFF, है, जिसमें रिसीवर डेटा स्ट्रीम के भीतर ही विशेष 'रुको' और 'शुरू करो' कैरेक्टर भेजता है। Windows की सीरियल सेटिंग्स दोनों देती हैं।
मुख्य तथ्य
- RTS का पूरा रूप Request To Send और CTS का Clear To Send है।
- असिंक्रोनस सीरियल में डेटा बिना किसी बाहरी क्लॉक सिग्नल के भेजा जाता है, और हर कैरेक्टर की शुरुआत एक स्टार्ट बिट बताता है।
- CTS फ़्लो कंट्रोल चालू होने पर Windows का सीरियल ड्राइवर CTS बंद रहने तक आउटपुट रोक देता है।
- XON/XOFF सॉफ़्टवेयर फ़्लो कंट्रोल है: डेटा के भीतर ही भेजे गए 'रुको' और 'शुरू करो' कैरेक्टर।
आगे की तैयारी
सामान्य भ्रम
- 'असिंक्रोनस' पढ़कर मान लेना कि हैंडशेक का काम घड़ियों को सिंक्रोनाइज़ करना है, जबकि असिंक्रोनस लिंक में कोई साझा घड़ी होती ही नहीं।
- फ़्लो कंट्रोल (जो तय करता है कि कब भेजना है) को पैरिटी (जो जाँचती है कि कैरेक्टर सही-सलामत पहुँचा या नहीं) से मिला देना।
प्रश्न तरीके का नाम, RTS/CTS, देता है और पूछता है कि वह किसलिए है। दो गलत विकल्प सीरियल लिंक के दूसरे हिस्सों के काम हैं: टाइमिंग (स्टार्ट बिट और पहले से तय बॉड रेट) और त्रुटि जाँच (पैरिटी बिट)।
संबंधित PYQ
इस प्रश्न से सीधे संबंधित कोई पूर्व PYQ उपलब्ध नहीं।