Псевдотерминал

редактировать
Псевдотерминалы, поскольку они используются скриптом

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

Функция PTY является частью POSIX и Single Unix Specification в форме функции posix_openpt () с 1998 года.

Содержание

  • 1 История
  • 2 Приложения
  • 3 Варианта
  • 4 Ссылки
  • 5 Внешние ссылки

История

Псевдотерминалы присутствовали в DEC PDP-6 Монитор разделения времени, по крайней мере, еще в 1967 году, и использовался для реализации пакетной обработки. Они описаны в документации к следующему TOPS-10 на PDP-10. Другие операционные системы DEC также имели PTY, включая RSTS / E для PDP-11, а также стороннюю операционную систему TENEX для PDP-10..

Псевдотерминалы Unix возникли в 1983 году во время разработки Eighth Edition Unix и были основаны на аналогичной функции TENEX. Они были частью версии 4.2 BSD с довольно громоздким интерфейсом openpty (), определенным для использования.

ATT System V включена поддержка псевдотерминалов в качестве драйвера в их модели устройства STREAMS вместе с псевдотерминальным мультиплексором (/ dev / ptmx). Позже это превратилось в стиль PTY в Unix98.

Интерфейс программирования Linux 2010 года содержит целую главу (глава 64 «Псевдотерминалы», стр. 1375–1399.), Объясняющую псевдотерминалы. Еще одна, глава 62 «Терминалы», посвящена терминалам.

Консоль Windows была расширена, чтобы иметь интерфейс PTY под названием ConPTY в 2018 году.

Приложения

Роль процесса эмулятора терминала:

  • для взаимодействия с пользователем,
  • для подачи вводимого текста главному псевдоустройству для использования оболочкой (например, bash), которая подключена к подчиненному псевдоустройству,
  • , чтобы прочитать текст, выводимый с главного псевдоустройства, и показать его пользователю.

Процесс эмулятора терминала должен также обрабатывать команды управления терминалом, например, для изменения размера экрана. Широко используемые программы-эмуляторы терминала включают xterm, GNOME Terminal, Konsole и Terminal. Обработчики удаленного входа в систему, такие как серверы ssh и telnet, играют ту же роль, но взаимодействуют с удаленным пользователем, а не с локальным. Также рассмотрите такие программы, как expect.

Screen и Tmux, которые используются для добавления контекста сеанса к псевдотерминалу, что делает решение гораздо более надежным и универсальным. Например, каждый из них обеспечивает постоянство терминала, позволяя пользователю отключиться от одного компьютера, а затем подключиться позже с другого компьютера.

Варианты

В системе BSD PTY - файл ведомого устройства, имя которого обычно имеет вид / dev / tty [p-za- e] [0-9a-f], поддерживает все системные вызовы, применимые к устройствам текстового терминала. Таким образом, он поддерживает сеансов входа в систему. Файл главного устройства, который обычно имеет имя вида / dev / pty [p-za-e] [0-9a-f], является конечной точкой для связи с эмулятором терминала. С этой схемой именования [p-za-e]может быть не более 256 пар tty. Кроме того, поиск первого свободного мастера pty может быть racy, если не принята схема блокировки. По этой причине последние операционные системы BSD, такие как FreeBSD, реализуют PTY Unix98.

PTY BSD были признаны устаревшими на Unix98 ptys, система именования которых не ограничивает количество псевдотерминалов, доступ к которым происходит без опасности состояния гонки. / dev / ptmx- это «главный мультиплексор псевдотерминала». При его открытии возвращается файловый дескриптор главного узла и создается связанный подчиненный узел / dev / pts / N.

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-02 09:35:15
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте