Жалған терминалдар: тарихы мен қазіргі кездегі қолданылуы
Pseudoterminal
Жалған терминал (PTY) – екі процестің арасында байланыс құратын, Unix жүйелерінде қолданылатын құрылғы. Тарихы 1967 жылға дейін жетеді, қазіргі терминал эмуляторларында маңызды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Кейбір операциялық жүйелерде, Unix сияқты жүйелерді қоса алғанда, псевдотерминал, псевдо-тти немесе ПТЫ – екі немесе одан көп процестер арасында асинхронды, екі бағытты коммуникация (IPC) арнасын (екі портпен) құратын екі жалған құрылғы нүктесінен (файлдардан) тұратын жұп. Осы жұптың бірінші жалған құрылғысы, мастер, терминал эмуляторы немесе қашықтан кіру сервері (мысалы, Telnet, rlogin немесе Secure Shell сервері) үшін POSIX және Single Unix Specification API-ді 1998 жылдан бері функция түрінде ұсынады.
In some operating systems, including Unix like systems, a pseudoterminal, pseudotty, or PTY is a pair of pseudo device endpoints (files) which establish asynchronous, bidirectional communication (IPC) channel (with two ports) between two or more processes. One pseudo device in the pair, the master, provides means by which a terminal emulator or remote login server (e. g. a Telnet, rlogin, or Secure Shell server) and provides POSIX and the Single Unix Specification API in the form of a function since 1998.
Тарих
Псевдотерминалдар кем дегенде 1967 жылдан бастап DEC PDP 6 уақыт бөлісу мониторында болған және пакеттік өңдеуді іске асыру үшін қолданылған. Олар PDP 10-дағы келесі TOPS 10 құжаттамасында сипатталған. Басқа DEC операциялық жүйелерінде де PTY болды, соның ішінде PDP 11 үшін RSTS/E, сондай-ақ PDP 10 үшін үшінші тараптың TENEX операциялық жүйесі. Unix псевдотерминалдарының іске асырылуы 1970 жылдардың соңында RAND және BBN желі арқылы қашықтан қол жеткізуді қолдау үшін 6-шы нұсқаға енгізген өзгерістерге байланысты. Қазіргі заманғы Unix псевдотерминалдары 1983 жылы Unix-тің сегізінші нұсқасын әзірлеу кезінде пайда болды және TENEX-тегі ұқсас мүмкіндікке негізделген. Олар BSD-нің 4.2 нұсқасының құрамына кірді, пайдалану үшін анықталған бірқатар қиын интерфейске ие болды. AT&T-нің System V-і өздерінің STREAMS құрылғы моделінде драйвер ретінде псевдотерминалдарды қолдауды және псевдотерминалдық мультиплексорді қамтыды. Бұл кейіннен Unix98 стиліне дамыды.
Pseudoterminals were present in the DEC PDP 6 Timesharing Monitor at least as early as 1967, and were used to implement batch processing. They are described in the documentation for the succeeding TOPS 10 on the PDP 10. Other DEC operating systems also had PTYs, including RSTS/E for the PDP 11, as did the third party TENEX operating system for the PDP 10. Implementations of Unix pseudo terminals date back to the modifications that RAND and BBN made to a 6th Edition in the late 1970s to support remote access over a network. Modern Unix pseudoterminals originated in 1983 during the development of Eighth Edition Unix and were based on a similar feature in TENEX. They were part of the 4.2 release of BSD, with a rather cumbersome interface defined for use. AT&T's System V included support for pseudoterminals as a driver in their STREAMS device model, along with the pseudoterminal multiplexer This later evolved to become the Unix98 style of PTYs.
Нұсқалар
BSD PTY жүйесінде, әдетте /dev/tty[pzae][09af] нысанындағы атауы бар құл құрылғы файлы, мәтіндік терминал құрылғыларына қолданылатын барлық жүйелік шақыруларды қолдайды. Осылайша, ол кіру сессияларын қолдайды. Әдетте /dev/pty[pzae][09af] нысанындағы атауы бар бас құрылғы файлы терминал эмуляторымен байланыс жасау үшін пайдаланылады. Осы атау схемасы бойынша, ең көп дегенде 256 tty жұбы болуы мүмкін. Сонымен қатар, егер құлыптау схемасы қолданылмаса, бос pty бас құрылғысын табуда бәсекелестік туындауы мүмкін. Осы себепті, FreeBSD сияқты жаңа BSD операциялық жүйелері Unix98 PTY-ді қолданады. BSD PTY-лер Unix98 pty-лермен толыққанды ескірді, олардың атау жүйесі псевдотерминалдар санын шектемейді және оларға қауіпсіз түрде қол жеткізуге болады. /dev/ptmx – «жалған терминал бас мультиплексі». Оны ашу бас түйіндің файл дескрипторын қайтарады және оған сәйкес құл түйін /dev/pts/N құрылады.
In the BSD PTY system, the slave device file, which generally has a name of the form /dev/tty[p za e][0 9a f], supports all system calls applicable to text terminal devices. Thus it supports login sessions. The master device file, which generally has a name of the form /dev/pty[p za e][0 9a f], is the endpoint for communication with the terminal emulator. With this naming scheme, there can be at most 256 tty pairs. Also, finding the first free pty master can be racy unless a locking scheme is adopted. For that reason, recent BSD operating systems, such as FreeBSD, implement Unix98 PTYs. BSD PTYs have been rendered obsolete by Unix98 ptys whose naming system does not limit the number of pseudo terminals and access to which occurs without danger of race conditions. /dev/ptmx is the "pseudo terminal master multiplexer". Opening it returns a file descriptor of a master node and causes an associated slave node /dev/pts/N to be created.