article आप उत्कृष्ट है, और सुधार करने के लिए कठिन है का उल्लेख है, लेकिन यह नहीं बल्कि तकनीकी है। मैं एक कम तकनीकी व्याख्या (!, मेरे साथ सहन यूनिक्स गुरु)
एक पाइप सिर्फ एक यूनिडायरेक्शनल डेटा चैनल है देने की कोशिश करेंगे: यह केवल एक छोर पर लिखा जा सकता है, और अन्य पर पढ़ें। बिडरेक्शनल इंटर-प्रोसेस संचार के लिए आपको हमेशा दो पाइप की आवश्यकता होगी। पाइप चारों ओर बिट्स को स्थानांतरित करने के लिए उत्कृष्ट हैं, लेकिन अधिक के लिए नहीं।
ए पीटी (स्यूडोटेर्मिनल) दोनों सिरों पर पढ़ और लिखा जा सकता है, लेकिन यह केवल एक द्विपक्षीय डेटा चैनल से कहीं अधिक है। इसे समझने के लिए, वास्तविक टर्मिनल पर एक नज़र रखना उपयोगी होता है: एक अंत में एक कीस्ट्रोक पढ़ने और एक टेलीलेट या स्क्रीन पर अक्षर भेजने की प्रक्रिया होती है। दूसरी तरफ एक असली मानव एक कीबोर्ड पर टक्कर लगी है और ऊपर उल्लिखित स्क्रीन पर घूर रही है। केवल एक छोर में फ़ाइल डिस्क्रिप्टर होता है, दूसरा अंत सिर्फ एक कनेक्टर और केबल होता है।
ऐतिहासिक रूप से, टर्मिनल ने कई विशेषताओं को विकसित किया है जिन्हें उन पर चल रहे कार्यक्रमों (जैसे 'इको मोड' या 'कैननिकल मोड' द्वारा नियंत्रित किया जा सकता है, termios (3)
देखें) इसके अलावा, एक टर्मिनल उपयोगकर्ता को उपरोक्त तरीके से -निश्त कनेक्टर और केबल) संकेत भेजते हैं जिनका उपयोग 'नौकरी नियंत्रण' के लिए किया जा सकता है, उदाहरण के लिए पृष्ठभूमि में अग्रभूमि नौकरी डालने के लिए CTRL-Z टाइप करके।
एक pty
कोई वास्तविक टर्मिनल जहां दोनों समाप्त होता है की तरह है फ़ाइल वर्णनकर्ता हैं: गुलाम अंत की जानकारी देता (है कि एक प्रक्रिया:
गुलाम अंत वास्तव में कोई वास्तविक टर्मिनल की तरह बर्ताव "निम्न प्रक्रिया") से पढ़ा जा सकता है, और इसे लिख सकता है, लेकिन टर्मिनल एटिब्यूट्स जैसे इको मोड या इंटरप्ट कैरेक्टर (जैसे CTRL + C) भी सेट कर सकता है। यह आमतौर पर यह भी अवगत नहीं होगा कि वास्तविक स्क्रीन और कीबोर्ड से कनेक्ट नहीं है।
मास्टर अंत, और अधिक एक कीबोर्ड और उपयोग के लिए टेली टाइप की तरह लग रहा मनुष्यों द्वारा नहीं, बल्कि अन्य प्रक्रियाओं के द्वारा: किसी भी प्रक्रिया है कि मास्टर अंत खोल दिया है इसे करने के लिए लिख सकते हैं, और गूंज प्राप्त होगा (लेकिन केवल यदि निम्न प्रक्रिया ने दास पर ECHO
विशेषता सेट की है)। यह (अधिकांश आधुनिक इकाइयों पर भी) उस सत्र को नियंत्रित कर सकता है जिसमें दास को टर्मिनल नियंत्रित करना), उदाहरण के लिए CTRL + Z भेजकर।
को समझने के लिए क्या एक को नियंत्रित करने के लिए टर्मिनल है, इसे फिर से उपयोगी है परिदृश्य में जहाँ कोई वास्तविक उपयोगकर्ता एक असली टर्मिनल पर प्रवेश होने के बारे में सोचना।उपयोगकर्ता "सत्र" शुरू कर सकता है, यानी प्रक्रियाओं का संग्रह, उनमें से कुछ अग्रभूमि नौकरियों में, पृष्ठभूमि में अन्य।
अराजकता को रोकने के लिए, एक नियंत्रण टर्मिनल (यानी इसके साथ जुड़े कर्नेल संरचना) ट्रैक करता है कि कौन सी प्रक्रियाएं अग्रभूमि या पृष्ठभूमि नौकरी में हैं, और कौन सी प्रक्रियाओं को पढ़ने और लिखने की अनुमति है। जब भी कोई प्रक्रिया कुछ अवैध कोशिश करती है (जैसे नियंत्रण प्रक्रिया टर्मिनल से पढ़ने की पृष्ठभूमि प्रक्रिया) ऑपरेशन विफल हो जाएगा (EIO
के साथ) और पूरे काम को कर्नेल (सिग्नल SIGTTIN
का उपयोग करके)
यह दिखाता है कि, बस एक वास्तविक टर्मिनल के साथ, केवल एक पीटीआई का दास अंत एक नियंत्रित टर्मिनल हो सकता है, और यह अवधारणा केवल यूनिक्स सिस्टम पर समझ में आता है जो नौकरी नियंत्रण (किसी भी यूनिक्स सिस्टम, आजकल) का समर्थन करता है
क्या मेरा प्रश्न खराब है ? मुझे कोई जवाब नहीं दिख रहा है और सोच रहा था कि क्या मैंने कुछ गलत पूछा है – kprincipe
नहीं, आपका प्रश्न अच्छा है (मुझे अपने बारे में सोचने में याद है)। हालांकि, यह बहुत व्यापक है, और गैर-तकनीकी रूप से जवाब देने में मुश्किल है, जबकि आपके द्वारा उल्लेख किया गया लेख पहले से ही बहुत अच्छा है। मैं पीटीवी के लिए –
के नीचे एक उत्तर देने का प्रयास करूंगा, यह भी देखें http://en.wikipedia.org/wiki/Pseudo_terminal – nos