छद्म टर्मिनल (pty / tty) क्या हैं?


92

यह वास्तव में बुनियादी सवाल हो सकता है लेकिन मैं इसे अच्छी तरह से समझना चाहता हूं।

  1. एक छद्म टर्मिनल क्या है? (TTY / Pty)
  2. हमें आपकी प्रतिक्रिया का बेसब्री से इंतेज़ार हैं। उनका परिचय कैसे हुआ और इसकी आवश्यकता क्या थी?
  3. क्या वे पुराने हैं? क्या हमें अब उनकी जरूरत नहीं है? क्या ऐसा कुछ है जो उन्हें बदल दिया गया है?
  4. कोई उपयोगी उपयोग-मामला?

मैंने क्या किया:

  1. मैन पेज पढ़ें - कुछ जानकारी मिली लेकिन सटीक तस्वीर नहीं।
  2. रिचर्ड स्टीवंस द्वारा यूनिक्स नेटवर्क प्रोग्रामिंग से उन पर पढ़ने की कोशिश की। कुछ जानकारी मिली लेकिन why?हिस्सा नहीं ।

मुझे ऐसा लगता है, यहां तक ​​कि, विशेष रूप से अगर कोई विशेष मुद्दे जैसे कि Openpty / forkpty यहां उत्पन्न नहीं होते हैं।

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

7
यह एक बहुत अच्छा अवलोकन है: linusakesson.net/programming/tty/index.php
nos

@ नोस: वाह! यह एक भयानक लिंक है। जिस चीज की मुझे तलाश थी। धन्यवाद एक टन :)
हरि

लिनक्स प्रोग्रामिंग इंटरफेस का अध्याय 62 और अध्याय 64 सहायक हो सकता है
zjk

जवाबों:


42
  1. एक उपकरण जिसमें वास्तव में एक होने के बिना एक भौतिक टर्मिनल के कार्य हैं। Xterm जैसे टर्मिनल एमुलेटर द्वारा बनाया गया। अधिक विस्तार मैनपेज पीटीआई (7) में है।
  2. परंपरागत रूप से, UNIX में प्रक्रियाओं के समूह के लिए एक नियंत्रित टर्मिनल की अवधारणा है, और कई I / O फ़ंक्शन को ध्यान में टर्मिनलों के साथ बनाया गया है। Pseudoterminals संभाल, उदाहरण के लिए, ^ C जैसे कुछ नियंत्रण वर्ण।
  3. वे पुराने नहीं हैं और कई कार्यक्रमों में उपयोग किए जाते हैं, जिसमें ssh भी शामिल है।
  4. ssh।

1
धन्यवाद @thiton क्या आप अपने उदाहरण के बारे में विस्तार से बता सकते हैं ssh? यह pty / tty का उपयोग कैसे करता है? मास्टर / दास की भूमिका कैसे होती है ssh?
हरि

3
ssh इसे बनाने वाले शेल के लिए एक पाई आवंटित करता है। शेल दास अंत से जुड़ा हुआ है और इस तरह एक सामान्य टर्मिनल की सभी क्षमताओं पर भरोसा कर सकता है (उदाहरण के लिए अगर मुझे सही याद है), और ssh डेमॉन मास्टर एंड से जोड़ता है और वहां अपना इनपुट भेजता है और प्राप्त करता है।

27

जवाब में नाम है - "छद्म" का अर्थ "वास्तविक नहीं है लेकिन" की उपस्थिति है।

पहले टर्मिनलों के साथ, संबंधित डिवाइस के साथ हमेशा हार्डवेयर का एक टुकड़ा जुड़ा होता था, चाहे वह हार्डवेयर या कोई सीरियल पोर्ट हो।

Xwindows, टेलनेट और ssh के साथ, प्रदर्शन हार्डवेयर के लिए खड़े होने का काम करने के लिए सॉफ्टवेयर "स्यूडो डिवाइस" की आवश्यकता हुई। वे "छद्म टर्मिनल" हैं ... सॉफ्टवेयर जो टर्मिनल हार्डवेयर का अनुकरण करता है, उसी तरह एक भौतिक उपकरण इनपुट और आउटपुट को संभालता है ताकि जुड़ा हुआ सॉफ़्टवेयर पता न हो कि कोई वास्तविक डिवाइस संलग्न नहीं है।


क्योंकि अब हमारे पास कई एप्लिकेशन हैं जिन्हें हार्डवेयर के एक ही टुकड़े तक पहुंचने की आवश्यकता है, हर एप्लिकेशन "छद्म" टर्मिनल के माध्यम से हार्डवेयर का उपयोग कर रहा है?
हरि

मैंने उत्तर को थोड़ा विस्तारित किया - आशा है कि यह स्पष्टता है।

नहीं, हमारे पास वास्तव में अब उस तरह का हार्डवेयर नहीं है। xterm एक क्लासिक टर्मिनल का अनुकरण करता है, बस इतना ही।

@thiton: जब आप कहते हैं emulates, सॉफ्टवेयर हिस्सा है, है ना?
हरि

1
तो आज UNIX संदर्भ में "टर्मिनल" शब्द का उपयोग करना वास्तव में गलत है? क्योंकि सब कुछ एक "छद्म टर्मिनल" है?
ए। सलाई '

11

छद्म टर्मिनलों धारावाहिक लाइनों के लिए एमुलेटर हैं। वे टेलनेट, ssh और xterm गोले के लिए एंडपॉइंट प्रदान करते हैं।


2
और वे प्राचीन अवशेष हैं (वास्तव में, गोले / पाठ अनुप्रयोग अभी भी एक उपकरण पर बातचीत कर रहे हैं जो धारावाहिक लाइन पर एक टेली-टाइप लेखक का अनुकरण करता है जैसे कि उन्होंने 40 साल पहले काम किया था ...) हमें अभी भी ज़रूरत है क्योंकि कोई प्रतिस्थापन नहीं है: - (
nos

ठीक है, अगर आप टर्मिनल पर विचार करते हैं, तो मुझे नहीं लगता कि आपको आने और जाने वाले पत्रों की एक धारा की तुलना में बहुत अधिक की आवश्यकता है ...
डिएगो सेविला

4
@ डिजी सेविला मूल यूनिक्स आविष्कारक ने 9 योजना में ट्टी / पीटीआई के साथ दूर किया, और वहाँ एक टर्मिनल बहुत अधिक डेटा की एक धारा का उपयोग करता है। लेकिन * निक्स में, टिट्स अभी भी आसपास हैं और इसका उपयोग कंसोल और टर्मिनल एमुलेटर द्वारा किया जाता है, उदाहरण के लिए टर्मिनल आकार, प्रवाह नियंत्रण, लाइन बफरिंग, विशेष कुंजी इवेंट और अन्य सामान।
nos

4
@ एनोस: यह पता चलता है कि वे प्राचीन अवशेष नहीं हैं जिन्हें हम मानते हैं। विंडोज में उनके बिना करने की कोशिश अंत में दर्दनाक है। पॉवरशेल रीमोटिंग के उपयोग से एक चीज़ में बाधा आती है: इंटरैक्टिव कंसोल प्रोग्राम काम नहीं करते हैं और सही काम करने के लिए तय नहीं किए जा सकते हैं। DOS EDIT या vi जैसे उचित पाठ संपादक की कोई संभावना नहीं है।
यहोशू

2
@ जोशुआ इसके विपरीत एक और सबूत है यूनिक्स के मूल डिजाइनरों ने प्लान 9 ओएस बनाया, जहां वे पूरी तरह से टिट्स के साथ दूर हो गए, फिर भी उन्होंने उस तरीके से (और भी बहुत कुछ) ठीक से हासिल किया।
ओपन स्कूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.