Что означают pty и tty?

171

Я заметил, что в некоторых проектах с открытым исходным кодом есть много упоминаний о pty и tty, может кто-нибудь может сказать мне, что они означают и в чем разница между ними? Спасибо!

Теги:
networking
tty

4 ответа

155
Лучший ответ

"tty" первоначально означало "телетайп", а "pty" означает "псевдотелетип".

В UNIX/dev/tty * - любое устройство, которое действует как "телетайп", т.е. терминал. (Вызывается телетайпом, потому что это то, что у нас было для терминалов в эти непростые дни.)

A pty - псевдоотношение, запись устройства, которая действует как терминал для процесса чтения и записи там, но управляется чем-то другим. Сначала они появились (как я помню) для X Windows и экрана и т.п., Где вам понадобилось что-то, что действовало на другом терминале, но могло быть использовано из другой программы.

  • 3
    У меня были PTY в PDP-11 RSTS / E в 1976 году ...
  • 0
    Я думаю, что ptys был добавлен в Unix в первую очередь для поддержки Telnet, rsh и rlogin.
Показать ещё 7 комментариев
182

A tty - это терминал (он обозначает телетайп) - в исходных терминалах используется линейный принтер для вывода и клавиатура для ввода!). Терминал - это в основном просто устройство пользовательского интерфейса, которое использует текст для ввода и вывода.

Pty - псевдотерминал - это программная реализация, которая появляется в подключенной программе как терминал, но вместо прямой связи с "реальным" терминалом она передает вход и выход в другую программу.

Например, когда вы подключаетесь к машине и запускаете ls, команда ls отправляет свой вывод на псевдотерминал, другая сторона которого прикреплена к демону SSH.

  • 1
    Не могли бы вы привести немного более «точный» пример PTY? Я до сих пор не понял, откуда они приходят и как их вообще называют. Спасибо
  • 0
    Может кто-нибудь помочь, когда и как операционная система на базе *nix создает эти псевдо-терминалы.
Показать ещё 9 комментариев
14

tty: телетайп. Обычно это относится к последовательным портам компьютера, к которым подключены терминалы.

pty: псевдотет. Ядро предоставило псевдослучайный порт, подключенный к программам, имитирующим терминалы, такие как xterm или экран.

12

Если вы запустите команду mount без аргументов командной строки, которая отображает файловые системы, установленные в вашей системе, вы увидите строку, которая выглядит как-то как это: none на /dev/pts тип devpts (rw, gid = 5, mode = 620) Это указывает на то, что специальный тип файловой системы, devpts, монтируется в /dev/pts. файловая система, которая не связана с каким-либо аппаратным устройством, является "магической" файловой системой который создается ядром Linux. Его схож с файловой системой /proc

Как и каталог /dev,/dev/pts содержит записи, соответствующие устройствам. Но в отличие от /dev, который является обычным каталогом, /dev/pts - это специальный каталог, динамически обновляется ядром Linux. Содержимое каталога меняется со временем и отражают состояние запущенной системы. Записи в /dev/pts соответствуют псевдотерминалам (или псевдо-TTY или PTY).

Linux создает PTY для каждого нового окна терминала, которое вы открываете, и отображает спот-запись в /dev/pts. Устройство PTY действует как терминальное устройство - оно принимает ввод с клавиатуры и вывод текста из программ, которые запускаются в нем. PTY пронумерованы, а номер PTY - это имя соответствующей записи в /dev/pts.

Для Например, если новый номер PTY окна терминала равен 7, вызовите эту команду из другое окно: % echo 'Я виртуальный di > /dev/pts/7 Выход появится в новом окне терминала.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню