पीटी और ट्टी का मतलब क्या है?


237

मैंने देखा कि कुछ ओपनसोर्स परियोजनाओं में ptyऔर कई उल्लेख ttyहैं, क्या कोई मुझे बता सकता है कि उनका क्या मतलब है और उनके बीच क्या अंतर है? धन्यवाद!

जवाबों:


225

"ट्टी" का अर्थ मूल रूप से "टेलेटाइप" और "पीटीई" का अर्थ है "छद्म टेलेटाइप"।

UNIX में, / dev / tty * कोई भी उपकरण है जो एक "टेलेटाइप" की तरह काम करता है, अर्थात, एक टर्मिनल। (जिसे टेलेटाइप कहा जाता है, क्योंकि हम उन दिनों के टर्मिनलों के लिए थे।)

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


मुझे लगता है कि जहां टेलिक्स, rsh और rlogin का समर्थन करने के लिए मुख्य रूप से यूनिक्स में जोड़ा गया है।
फ्रेड फू

5
@CharlieMartin क्या आप का मतलब है कि मटर कुछ है "जो एक टर्मिनल की तरह काम करता है?" हम ऐसा कुछ क्यों चाहते हैं? और कैसे एक और कार्यक्रम इस pty का उपयोग करता है? मेरा अनुमान है कि pty प्रोग्राम के लिए for-real टर्मिनल (tty) को कमांड या कुछ और देता है। क्या ये सही है? यदि नहीं, तो मेरे अनुमान को अनदेखा करें और कृपया मेरी टिप्पणी के पहले भाग का उत्तर दें।
23G पर OKGimmeMoney

16
एक वस्तु के रूप में एक टर्मिनल के बारे में सोचो: यह एक छोर पर कुछ को जोड़ता है और दूसरे पर स्टडआउट करता है। एक वास्तविक TTY एक भौतिक टर्मिनल से जुड़ता है। PTY एक प्रोग्राम, जैसे, xterm, या कमांड विंडो, या शेल विंडो से कनेक्ट होता है। यह तब कार्यक्रम में निहित है और कहता है कि यह वास्तव में एक टर्मिनल है, ईमानदार है। PTYs से पहले आप पाइपों के साथ इस तरह के प्रोग्राम कनेक्ट करते हैं, लेकिन पाइप में महत्वपूर्ण अंतर होते हैं, जैसे कोई प्रवाह नियंत्रण नहीं। PTYs इसे हल करने के लिए दिखाई दिए।
चार्ली मार्टिन

3
@CharlieMartin "एक वास्तविक TTY एक भौतिक टर्मिनल से जुड़ता है"। लिनक्स कंसोल के बारे में क्या? उदाहरण के लिए, एक उबंटू प्रणाली में, लिनक्स कंसोल हैं पर Ctrl-Alt-F{1..6}और वे से जुड़े हुए हैं /dev/tty{1..6}। लिनक्स कंसोल एक भौतिक टर्मिनल नहीं है, फिर भी यह a ttyN(a ptyN) से नहीं जुड़ा है । क्या मुझसे कोई चूक हो रही है?
उत्कु

1
केवल इतना है कि आप बहुत कुछ नहीं कह सकते कि LINUX के बारे में निश्चित रूप से एक अजीब मामला नहीं होगा। इस स्थिति में लिनक्स कंसोल एक कर्नेल विशेषता है जो / dev / tty dev प्रविष्टि का उपयोग करता है, लेकिन फिर उपयोगकर्ता से बाहर निकलने के लिए चीजों के एक समूह से जुड़ जाता है। en.wikipedia.org/wiki/Linux_console
चार्ली मार्टिन

234

ट्टी एक टर्मिनल है (यह टेलेटाइप के लिए खड़ा है - मूल टर्मिनलों ने आउटपुट के लिए एक लाइन प्रिंटर और इनपुट के लिए एक कीबोर्ड का उपयोग किया है!)। एक टर्मिनल मूल रूप से सिर्फ एक यूजर इंटरफेस डिवाइस है जो इनपुट और आउटपुट के लिए टेक्स्ट का उपयोग करता है।

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

उदाहरण के लिए, जब आप मशीन में जाते हैं और चलाते हैं ls, तो lsकमांड अपने आउटपुट को एक छद्म टर्मिनल में भेज रहा है, जिसका दूसरा हिस्सा SSH डेमॉन से जुड़ा हुआ है।


1
क्या आप PTYs का थोड़ा और "सटीक" उदाहरण दे सकते हैं? मुझे अभी तक समझ में नहीं आया कि वे कहाँ आते हैं, और उन्हें भी कैसे बुलाया जाता है। धन्यवाद
user3085931

क्या कोई और कब और कैसे *nixआधारित ऑपरेटिंग सिस्टम इस छद्म टर्मिनल का निर्माण कर सकता है।
कृष्णा ओझा

@darth_coder: वे तब बनाए जाते हैं जब कोई एप्लिकेशन अनुरोध करता है। ऐसा तब होता है जब आप एक नई चित्रमय टर्मिनल विंडो खोलते हैं या दूरस्थ रूप से लॉग इन करते हैं।
कैफे

@ caf आप कर्नेल मॉड्यूल या डेमॉन को एक टर्मिनल के लिए जिम्मेदार नाम दे सकते हैं।
कृष्णा ओझा

@darth_coder: कोई भी एप्लिकेशन ऐसा कर सकता है। sshdऔर xtermदो विशिष्ट उदाहरण हैं।
कैफे

21

tty: टेलेटाइप। आमतौर पर एक कंप्यूटर के सीरियल पोर्ट को संदर्भित करता है, जिससे टर्मिनलों को जोड़ा गया था।

pty: pseudoteletype। कर्नेल ने टर्मिनलों का अनुकरण करने वाले कार्यक्रमों से जुड़े छद्म-स्थानिक पोर्ट प्रदान किए, जैसे कि xterm, या स्क्रीन।


19

यदि आप बिना आदेश-पंक्ति के तर्कों के साथ माउंट कमांड चलाते हैं, जो आपके सिस्टम पर आरोहित फ़ाइल सिस्टम को प्रदर्शित करता है, तो आपको एक लाइन दिखाई देगी, जो कुछ इस तरह दिखाई देगी: कोई भी / dev / pts टाइप डेवपर्स (rw, gid = 5,) पर नहीं मोड = 620) यह इंगित करता है कि एक विशेष प्रकार की फाइल सिस्टम, डिविवर्स, / dev / pts पर मुहिम शुरू की जाती है। यह फाइल सिस्टम, जो किसी भी हार्डवेयर डिवाइस से जुड़ा नहीं है, एक "मैजिक" फाइल सिस्टम है जो कि द्वारा बनाया जाता है। लिनक्स कर्नेल। यह / proc फ़ाइल सिस्टम के समान है

जैसे / देव निर्देशिका, / dev / pts में उपकरणों के अनुरूप प्रविष्टियाँ होती हैं। लेकिन / देव के विपरीत, जो कि एक सामान्य निर्देशिका है, / dev / pts एक विशेष निर्देशिका है जो कि Linux कर्नेल द्वारा गतिशील रूप से cre- ated है। निर्देशिका की सामग्री समय के साथ बदलती रहती है और रनिंग सिस्टम की स्थिति को दर्शाती है। / Dev / pts में प्रविष्टियाँ छद्म टर्मिनलों (या छद्म-TTYs, या PTYs) के अनुरूप हैं।

लिनक्स आपके द्वारा खोले जाने वाले हर नए टर्मिनल विंडो के लिए एक PTY बनाता है और एक corre- sposing प्रविष्टि / dev / pts में प्रदर्शित करता है। PTY डिवाइस टर्मिनल डिवाइस की तरह कार्य करता है - यह कीबोर्ड से इनपुट को स्वीकार करता है और इसमें चलने वाले कार्यक्रमों से पाठ आउटपुट प्रदर्शित करता है। । PTYs क्रमांकित हैं, और PTY संख्या / dev / pts में संबंधित प्रविष्टि का नाम है।

उदाहरण के लिए, यदि नई टर्मिनल विंडो का PTY नंबर 7 है, तो इस कमांड को दूसरी विंडो से आह्वान करें:% echo 'I am a virtual di'> / dev / pts / 7 आउटपुट नई टर्मिनल विंडो में दिखाई देता है।


2

A एक कंप्यूटर पर ttyएक भौतिक t erminal- t elet y pe port है (आमतौर पर एक सीरियल पोर्ट)।

शब्द टेलिटाइप के लघुकरण है टेलीग्राफ टाइपराइटर , या टेलीटाइपराइटर एक विद्युत चुम्बकीय उपकरण है जो की जगह खुद - 1930 के दशक से डिवाइस तार 1830 के दशक और 1840 के दशक की मशीनों एन्कोडिंग।

टेलीटाइपराइटर
TTY - टेलेटाइपराइटर 1930

A ptyएक p seudo- t ele ty pe port है जिसे कंप्यूटर ऑपरेटिंग सिस्टम कर्नेल द्वारा प्रदान किया जाता है, जो सॉफ्टवेयर प्रोग्रामों को जोड़ने के लिए टर्मिनलों को जोड़ता है, जैसे ssh, xterm, या स्क्रीन।

यहां छवि विवरण दर्ज करें
PTY - PseudoTeletype

एक टर्मिनल बस एक कंप्यूटर का उपयोगकर्ता इंटरफ़ेस है जो इनपुट और आउटपुट के लिए पाठ का उपयोग करता है।


ओएस कार्यान्वयन

हालांकि ये p seudo- t ele ty pe port का उपयोग करते हैं , लेकिन इनके नामकरण और कार्यान्वयन में थोड़ा बदलाव आया है

लिनक्स एक विशेष फाइल सिस्टम mounts devpts पर / dev ( 'एस' शायद के लिए खड़े रों erial) में एक इसी प्रविष्टि बना देता है /dev/ptsजिसे आप खोलना हर नए टर्मिनल विंडो, उदाहरण के लिए/dev/pts/0


macOS / FreeBSD भी / dev फ़ाइल संरचना का उपयोग करते हैं, हालांकि, वे आपके द्वारा खोले गए हर नए टर्मिनल विंडो के लिए गिने हुए TTYनामकरण सम्मेलन का उपयोग करते हैंttys/dev/ttys002


Microsoft Windows में अभी भी LPTप्रिंटर के आउटपुट के लिए कमांड शेल के भीतर लाइन प्रिंटर टर्मिनल के लिए एक पोर्ट की अवधारणा है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.