Tty linux что это

Что такое TTY в Linux? (и как использовать команду tty)

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Телепринтеры 1800-х годов

Кодирование Бодо в конечном итоге стало наиболее близким к стандарту в кодировании телепринтера, и оно было принято большинством производителей. Оригинальный аппаратный дизайн Бодо имел всего пять клавиш, похожих на клавиши пианино. Оператор должен был выучить конкретную комбинацию клавиш для каждой буквы. В итоге система кодирования Baudot была соединена с традиционной раскладкой клавиатуры.

Чтобы отметить это продвижение, машины были названы телетайпами. Это было сокращено до телетайпа и в конечном итоге до TTY. Так вот откуда мы получаем аббревиатуру TTY, но при чем тут телеграфия?

ASCII и Телекс

Когда ASCII прибыл в 1963 году, он был принят производителями телетайпа. Несмотря на изобретение и широкое использование телефона, телетайпы все еще набирали силу.

Телекс был всемирной сетью телетайпов, которая позволяла отправлять письменные сообщения по всему миру. Они были основным средством передачи письменных сообщений в период после Второй мировой войны до бума факсимильных аппаратов 1980-х годов.

Компьютеры тоже развивались. Они стали способны взаимодействовать с пользователями в режиме реального времени и поддерживать несколько пользователей. Старый пакетный метод работы стал недостаточным. Люди не хотели ждать своих результатов 24 часа или дольше. Создание стопок перфокарт и ожидание результатов было более неприемлемым.

Людям требовалось устройство, которое позволяло бы им вводить инструкции и отправлять результаты обратно им. Люди хотели эффективности.

Телетайп перепрофилированный

Телетайп был идеальным кандидатом в качестве устройства ввода / вывода. В конце концов, это было устройство, предназначенное для того, чтобы сообщения можно было набирать, кодировать, отправлять, получать, декодировать и печатать.

Что заботило телетайп, если устройство на другом конце соединения не было другим телетайпом? Пока он говорил на одном языке кодирования и мог принимать сообщения и отправлять сообщения обратно, телетайп был счастлив.

И, конечно, он использовал более-менее стандартную клавиатуру.

Аппаратные эмулированные телетайпы

Телетайпы стали средством взаимодействия по умолчанию с большими мини-компьютерами и компьютерами мэйнфреймов той эпохи.

В конечном итоге они были заменены устройствами, которые эмулировали эти электромеханические машины с использованием электроники. У них были катодно-лучевые трубки (ЭЛТ) вместо бумажных рулонов. Они не дрожали при доставке ответов с компьютера. Они разрешали до сих пор невозможные функции, такие как перемещение курсора по экрану, очистка экрана, выделение текста и т. Д.

Программные эмулированные телетайпы

В среде рабочего стола Linux и других Unix-подобных операционных систем, таких как macOS, окно терминала и приложения, такие как x-term и Konsole, являются примерами виртуальных телетайпов. Но они полностью эмулируются программным обеспечением. Они называются псевдо-телетайпами. Это было сокращено до PTS.

Что может сказать нам tty?

В Linux существует мультиплексор псевдо-телетайпа, который обрабатывает соединения со всеми псевдо-телетайпами окна терминала (PTS). Мультиплексор является ведущим, а PTS являются ведомыми. Мультиплексор обращается к ядру через файл устройства, расположенный в / dev / ptmx.

Команда tty напечатает имя файла устройства, которое ваш ведомый псевдотелептик использует для взаимодействия с мастером. И это, по сути, номер вашего окна терминала.

Давайте посмотрим, что tty сообщает для нашего окна терминала:

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Ответ показывает, что мы подключены к файлу устройства в / dev / pts / 0.

Наше оконное окно, которое является программной эмуляцией телетайпа (TTY), связано с мультиплексором псевдотелетипа как псевдо телетайп (PTS). И это, оказывается, номер ноль.

Тихий вариант

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Это производит выходное значение, однако:

Это, вероятно, будет наиболее полезным в сценариях Bash. Но даже в командной строке мы можем продемонстрировать, как выполнить команду, только если вы работаете в окне терминала (сеанс TTY или PTS).

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Поскольку мы работаем в сеансе TTY, наш код выхода равен 0, и вторая команда выполняется.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Кому Командование

Другие команды могут показать ваш номер TTY. Команда who выводит информацию для всех зарегистрированных пользователей, включая вас.

Алек и Мэри удаленно подключены к компьютеру Linux. Они подключены к ПТС один и два.

Пользователь Дэйв отображается как подключенный к «: 0».

Это представляет экран и клавиатуру, физически подключенную к компьютеру. Хотя экран и клавиатура являются аппаратными устройствами, они все равно подключены к мультиплексору через файл устройства. tty показывает, что это / dev / pts / 2.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Доступ к TTY

Вы можете получить доступ к полноэкранному сеансу TTY, удерживая клавиши Ctrl + Alt и нажав одну из функциональных клавиш.

Ctrl + Alt + F3 вызовет приглашение входа в систему tty3.

Это не псевдотелептик (эмулируемый программным обеспечением); это виртуальный телетайп (эмулируется аппаратно). Он использует экран и клавиатуру, подключенные к вашему компьютеру, для эмуляции виртуального телетайпа, как это делал DEC VT100.

Вы можете использовать функциональные клавиши Ctrl + Alt с функциональными клавишами от F3 до F6, и при желании вы можете открыть четыре сессии TTY. Например, вы можете войти в tty3 и нажать Ctrl + Alt + F6, чтобы перейти к tty6.

Чтобы вернуться к графическому окружению рабочего стола, нажмите Ctrl + Alt + F2.

Нажатие Ctrl + Alt + F1 вернет вас к приглашению на вход в сеанс графического рабочего стола.

Однажды, Ctrl + Alt + F1 до Ctrl + Alt + F6 откроет полноэкранные консоли TTY, а Ctrl + Alt + F7 вернет вас в среду графического рабочего стола. Если вы работаете с более старым дистрибутивом Linux, возможно, именно так ведет себя ваша система.

Это было проверено на текущих версиях Manjaro, Ubuntu и Fedora, и все они вели себя так:

Доступ к этим полноэкранным консолям позволяет людям, использующим установки Linux только из командной строки — и многие серверы Linux настроены таким образом, — иметь несколько доступных консолей.

Вы когда-нибудь работали на машине с Linux с графическим окружением рабочего стола и что-то вызывало зависание вашей сессии? Теперь вы можете перейти к одному из сеансов консоли TTY, чтобы попытаться исправить ситуацию.

Вы можете использовать top и ps чтобы попытаться идентифицировать отказавшее приложение, затем использовать kill чтобы завершить его, или просто использовать shutdown чтобы попытаться закрыть настолько изящно, насколько позволит состояние компьютера.

Три маленькие буквы с большой историей

Команда tty получила свое название от устройства конца 1800-х годов, появившегося в Unix в 1971 году, и по сей день является частью Linux и Unix-подобных операционных систем.

За этим маленьким парнем стоит настоящая история.

Источник

Что такое TTY в Linux?

Команда tty (сокр. от англ. «teletypewriter») выводит имя используемого вами терминала в Linux. Но какая предыстория стоит за названием этой команды и чем она может быть нам полезна? Сейчас разберемся.

Телепринтеры из 1800-х годов

В 1830-х и 1840-х годах были разработаны машины, известные как телепринтеры. Телепринтер позволял отправителю с помощью специального устройства, напоминающего клавиатуру, набирать сообщения и отправлять их «по проводам» в отдаленные места. По приему, полученный текст распечатывали на бумаге. Это было эволюционным шагом в телеграфии, которая до сих пор использовала только азбуку Морзе и подобные коды.

Перед отправкой сообщение кодировалось, затем передавалось получателю, на месте получения оно декодировалось и распечатывалось. Для кодирования и декодирования сообщений использовалось несколько методов. Самым известным и популярным являлся метод, запатентованный в 1874 году Эмилем Бодо, в честь которого была названа единица измерения символьной скорости передачи данных (бод). К слову сказать, его схема кодирования символов на 89 лет опередила появление стандарта ASCII.

Кодировка Бодо в конечном итоге стала наиболее близкой к стандарту кодирования телепринтеров, в связи с чем, она была принята большинством производителей. Оригинальная конструкция оборудования Бодо состояла всего лишь из пяти клавиш, похожих на клавиши пианино. Оператор должен был выучить определенную комбинацию для каждой буквы. Со временем, система кодирования Бодо была объединена с традиционной раскладкой клавиатуры.

В ознаменование этого прогресса машины были названы «телетайпными пишущими машинами» или просто «телетайпами» (англ. «teletypes», сокр. от «teletypewriters»). В дальнейшем название урезали до TTY. Вот откуда появилась аббревиатура TTY. Но какое отношение телеграф имеет к вычислительной технике?

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Телетайп времен Второй мировой войны

ASCII и Telex

1963 год ознаменовался выходом стандарта ASCII, который был принят производителями телетайпов. Несмотря на изобретение и широкое использование телефона, популярность телетайпов все еще была высока.

Телекс (англ. «Telex», сокр. от «telegraph exchange») — это всемирная сеть телетайпов, которая позволяла отправлять письменные сообщения по всему миру. Они были основным средством передачи письменных сообщений в период после Второй мировой войны вплоть до бума факсимильной связи (факсов) в 1980-х годах.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это
Советский факсимильный аппарат «ФТА-П», 1960 год

В тоже время развивались и компьютеры. Они становились способными взаимодействовать с пользователями в режиме реального времени и поддерживать работу сразу с несколькими из них. При этом старый пакетный метод работы с устаревшими аппаратами все сильнее обнажал свои недостатки. Люди не хотели тратить целые сутки (а то и больше) на ожидание результатов выполнения вводимых ими программ. Делать стопки перфокарт и ждать результатов всю ночь было уже неприемлемо: требовалось устройство, которое позволяло бы вводить инструкции и сразу получать результат. Нужна была эффективность. И телетайп стал идеальным кандидатом для использования в качестве устройства ввода-вывода.

Аппаратно-эмулированные телетайпы

Телетайпы стали стандартным средством взаимодействия с мини-компьютерами и большими мейнфреймами той эпохи.

С течением времени телетайпы были заменены на электронные устройства, которые имитировали электромеханическое строение телетайпов. Но при этом, в этих устройствах вместо рулонов бумаги использовались электронно-лучевые трубки (ЭЛТ), они не тряслись при доставке ответов с компьютера и допускали доселе невозможные функции, такие как: перемещение курсора по экрану, очистка экрана, выделение текста жирным шрифтом и так далее.

Видеотерминал DEC VT05 был ранним примером виртуального телетайпа и предком знаменитого DEC VT100. Продажи DEC VT100 исчислялись миллионами штук.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Программно-эмулированные телетайпы

В Linux и других UNIX-подобных операционных системах (например, macOS), окно терминала и приложения по типу x-term и Konsole являются примерами виртуальных телетайпов, работа которых полностью эмулируется при помощи программного обеспечения. Из-за этой особенности терминалы получили название псевдо-телетайп (сокр. «PTS», от англ. «pseudo-teletypes»).

Команда tty

В Linux существует мультиплексор псевдо-телетайпов, который обрабатывает соединения со всех терминалов псевдо-телетайпов (PTS). Мультиплексор является ведущим устройством, а PTS — подчиненными. Мультиплексор общается с ядром через файл устройства, расположенный в /dev/ptmx.

Команда tty выводит имя специального файла устройства, который ваш ведомый псевдо-телетайп использует для взаимодействия с ведущим устройством. И это, по сути, номер вашего окна терминала.

Давайте посмотрим, какую информацию выведет команда tty для нашего окна терминала:

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Как видите, мы подключены к специальному файлу устройства /dev/pts/1.

Наше окно терминала, представляющее собой программную эмуляцию телетайпа (TTY), подключено к мультиплексору псевдо-телетайпа как псевдо-телетайп (PTS) под номером 1.

Тихий режим

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Некоторые служебные значения, возвращаемые командой tty:

0 — если стандартный ввод поступает с устройства TTY (эмулированного или физического).

1 — если стандартный ввод не поступает с устройства TTY.

2 — синтаксическая ошибка, использовались неправильные параметры командной строки.

3 — произошла ошибка записи.

Данные значения будут наиболее полезны при написании bash-скриптов. Но даже в командной строке мы можем продемонстрировать, как выполнить команду при условии, что вы работаете в окне терминала (сеанс TTY или PTS).

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Поскольку мы работаем в сеансе TTY, наш код выхода равен 0 (успех), и выполняется вторая команда.

Команда who

Также есть и другие команды, которые могут отобразить ваш номер TTY. Команда who выведет информацию обо всех вошедших в систему пользователей, включая вас.

На следующем скриншоте видно, что к компьютеру с Linux подключен пользователь diego. Часть :0 представляет собой экран и клавиатуру, физически подключенные к компьютеру. Несмотря на то, что экран и клавиатура являются аппаратными устройствами, они все равно соединены с мультиплексором через файл устройства /dev/pts/1.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Доступ к TTY

Вы можете получить доступ к полноэкранному сеансу TTY, удерживая нажатыми сочетание клавиш Ctrl+Alt и нажимая одну из функциональных клавиш.

Нажатие сочетания клавиш Ctrl+Alt+F3 вызовет приглашение для входа в систему tty3.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Это не псевдо-телетайп (эмулируемый программным обеспечением); это виртуальный телетайп (эмулируемый аппаратным обеспечением). Он использует экран и клавиатуру, подключенные к вашему компьютеру, для эмуляции виртуального телетайпа, как это делал DEC VT100.

Вы можете использовать сочетание клавиш Ctrl+Alt с функциональными клавишами F3-F6 для открытия соответствующих сеансов TTY. Например, вы можете войти в tty3 и нажать Ctrl+Alt+F6, чтобы перейти в tty6.

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Чтобы вернуться в графическую среду рабочего стола, нажмите Ctrl+Alt+F2. Нажатие Ctrl+Alt+F1 вернет вас на экран входа в сеанс графического рабочего стола.

Следующие сочетания клавиш были протестированы на текущих версиях дистрибутивов Debian, Manjaro, Ubuntu и Fedora:

Ctrl+Alt+F1 — возвращает вас на экран входа в графическую среду рабочего стола.

Ctrl+Alt+F2 — возвращает вас в графическую среду рабочего стола.

Ctrl+Alt+F3 — открывает tty3.

Ctrl+Alt+F4 — открывает tty4.

Ctrl+Alt+F5 — открывает tty5.

Ctrl+Alt+F6 — открывает tty6.

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

Заключение

Команда tty, получившая свое название от устройства конца 1800-х годов, появилась в UNIX в 1971 году. С дальнейшим развитием вычислительных машин телетайпы, а затем и видеотерминалы отошли в прошлое. Однако подсистемы для работы с ними хоть и претерпели существенные изменения, остались в ядрах операционных систем.

Источник

Русские Блоги

Linux tty устройство введение

оглавление

предисловие

Слово tty происходит от Teletypes, или Teletypewriters, это самый ранний тип терминального оборудования, похожий на teletypewriter,телетайппроизводить. Первоначально tty относится к физическому или виртуальному терминалу, подключенному к системе Unix. Терминал представляет собой устройство символьного типа, обычно использующее tty для общей ссылки на различные типы терминальных устройств. Со временем, когда терминальное соединение может быть установлено через последовательный порт, имя также используется для обозначения любого последовательного устройства. Он также имеет различные типы, такие как последовательные порты (ttySn, ttySACn, ttyOn), преобразователи USB-последовательный порт (ttyUSBn) и модемы, для работы которых требуется специальная обработка (например, традиционные устройства типа WinModem). Виртуальное устройство tty поддерживает виртуальную консоль, которая может подключаться к компьютеру через клавиатуру и сетевое соединение или через сеанс xterm.

Это также можно объединить с процессом init в коде запуска ядра, чтобы открыть / dev / console и выполнить sys_dup (0) дважды, а также стандартный ввод, стандартный вывод, стандартную ошибку и копию стандартного ввода и вывода после ветвления процесса. понимание.

Персональный компьютер имеет только консоль и нет терминала. Конечно, если вы хотите, вы можете подключить один или два символических терминала к последовательному порту. Тем не менее, Linux использует персональный компьютер в качестве миникомпьютера в соответствии со стандартом POSIX. На консоли виртуальный шестизначный терминал (или терминал виртуальной консоли tty1-tty6) виртуализируется с помощью программного обеспечения getty (число можно изменить в / etc / inittab ) И графический терминал, в виртуальном графическом терминале вы можете использовать программное обеспечение (например, rxvt) для виртуализации неограниченного количества псевдо-терминалов (pts / 0 и т. Д.). Но это все виртуально. Хотя используется то же самое, нет физического объекта. Таким образом, на персональном компьютере есть только одна фактическая консоль, без терминалов, и все терминалы моделируются на консоли программным обеспечением. Если вы хотите использовать персональный компьютер в качестве хоста и подключить его к реальному физическому терминалу через последовательный порт или сетевую карту, кто будет делать это с точки зрения стоимости?

1. Терминалы классифицируются в соответствии с их собственными возможностями

1. Тупой терминал (тонкий клиент)

Ранние компьютерные терминалы связывались через последовательный порт RS-232, который мог интерпретировать только ограниченное количество управляющих кодов (CR, LF и т. Д.), Но не мог обрабатывать выполнение специальных функций escape-последовательности (таких как очистка линий, очистка экранов или управление Положение курсора). Проще говоря, это терминал с ограниченной вычислительной мощностью, который, как правило, имеет только ограниченные функции, подобные механическим телетайпам. Этот тип терминала называется тупым терминалом. Он по-прежнему поддерживается в современных Unix-подобных системах, устанавливая переменную окружения TERM = dumb. Иногда тупой терминал используется для обозначения любого типа традиционного компьютерного терминала, подключенного через RS-232, терминал последовательной связи, который не обрабатывает данные локально или не выполняет пользовательские программы локально. Термин «тупой» терминал иногда относится к общедоступному компьютерному терминалу, который имеет ограниченные функции, только возможности монохромной обработки текста или напрямую передает каждый набранный символ, не ожидая ответа хоста.

2. Смарт-терминал (толстый клиент)

Во-вторых, терминальное оборудование системы Linux

Терминальные устройства системы Linux обычно имеют следующие типы:

1. Консоль

В некоторых случаях console и tty0 совпадают, то есть используется текущий виртуальный терминал, и виртуальный терминал также активируется. Поэтому в некоторых материалах говорится, что / dev / console является символической ссылкой на / dev / tty0, но сейчас кажется неправильным говорить это: согласно документации ядра, до 2.1.71 / dev / console устанавливается в соответствии с различными системами, символ При связывании с / dev / tty0 или другим tty * после версии 2.1.71 его отображение полностью контролируется кодом ядра.

Если оконечное устройство хочет реализовать консольную функцию, оно должно зарегистрировать структуру struct console в ядре, что часто встречается в драйверах последовательных портов. Если устройство хочет реализовать функцию tty, подсистема tty ядра должна зарегистрировать структуру struct tty_driver, а функция регистрации находится в drivers / tty / tty_io.c. Устройство может реализовывать консоль и tty_driver одновременно, что обычно делается для последовательных портов.

Введите echo «tekkaman»> / dev / tty в текущем терминале, и он будет отображаться непосредственно в текущем терминале.

Виртуальная консоль / dev / ttyn

Если вы открываете такой файл в процессе, и файл не является консолью другого процесса, файл является консолью процесса. Данные процесса printf будут выводиться здесь. На ПК пользователи могут использовать alt + Fn для переключения консоли. Кажется, что есть несколько экранов. Эта виртуальная консоль соответствует tty1

/dev/tty1Ждите первой виртуальной консоли

Например, при использовании ALT + F2 для переключения виртуальной консолью системы является / dev / tty2, а текущая консоль (/ dev / tty) указывает на / dev / tty2

В системах UNIX компьютерные мониторы часто называют консолями. Он эмулирует терминал типа Linux, и с ним связаны некоторые специальные файлы устройств: tty0, tty1, tty2 и т. Д. Когда вы входите в консоль, используется tty1. При использовании комбинации клавиш Alt + [F1-F6] мы можем переключиться на tty2, tty3 и т. Д.

Вы можете войти в разные виртуальные консоли, что позволяет системе иметь несколько разных сеансов одновременно.

2. Псевдо-терминал pty (псевдо-tty)

Исторически существует два набора псевдо-терминальных программных интерфейсов:

Мы открыли терминал под X Window или использовали telnet или ssh для входа на хост Linux. В настоящее время мы все используем устройство pty. Например, если кто-то использует программу telnet для подключения к вашему компьютеру через Интернет, программа telnet может открыть устройство / dev / ptmx для получения fd. На этом этапе программа getty должна запускаться на соответствующем / dev / pts / *. Когда telnet получает символ с удаленного конца, он передается в программу getty через ptmx, pts / *, а программа getty возвращает строку «login:» в сеть через pts / *, ptmx и telnet Информация. Таким образом, программа входа в систему и программа telnet взаимодействуют через «псевдотерминал».

Если программа рассматривает pts / * как устройство с последовательным портом, ее операции чтения / записи на порту будут отражены в другом / dev / ptmx пары логических оконечных устройств, а / dev / ptmx Другая программа используется для чтения и записи логических устройств. Таким образом, две программы могут связываться друг с другом через это логическое устройство, во многом как операция конвейера между парами логических устройств. Для pts / * любая программа, предназначенная для использования устройства с последовательным портом, может использовать логическое устройство. Но для программ, использующих / dev / ptmx, они должны быть специально разработаны для использования логических устройств / dev / ptmx.

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

3. Последовательный терминал (/ dev / ttySn)

Например, в командной строке введите: echo tekkaman> / dev / ttyS1 отправит «tekkaman» на устройство, подключенное к порту ttyS1 (COM2).

В ядре после 2.6 некоторые микросхемы Samsung (такие как S3C24x0 и т. Д.) Называли узел последовательного оконечного устройства ttySACn. Микросхемы TI серии Omap начали использовать собственный драйвер omap-uart с версии 2.6.37. Узел устройства называется ttyOn, чтобы отличать его от имени устройства «ttySn» при использовании драйвера 8250.

4. Другие типы терминалов

Существует также много других типов специальных файлов терминальных устройств для множества различных символьных устройств, таких как / dev / ttyIn терминальные устройства для устройств ISDN.

три, Перевод документации ядра

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

Документ ядра / Документация / devices.txt отрывок перевода:

Terminal, or TTY devices are a special class of character devices. A

terminal device is any device that could act as a controlling terminal

for a session; this includes virtual consoles, serial ports, and

Это включает в себя виртуальные консоли, последовательные порты и псевдо-терминалы (PTY).

All terminal devices share a common set of capabilities known as line

disciplines; these include the common terminal line discipline as well

as SLIP and PPP modes.

Все оконечные устройства имеют ряд общепринятых возможностей линейного регулирования.

Это включает в себя общие правила для терминальных линий, такие как режимы SLIP и PPP.

All terminal devices are named similarly; this section explains the

naming and use of the various types of TTYs. Note that the naming

conventions include several historical warts; some of these are

Linux-specific, some were inherited from other systems, and some

reflect Linux outgrowing a borrowed convention.

Наименование всех оконечных устройств относительно просто. В этом разделе представлены названия и использование различных типов TTY.

Обратите внимание, что соглашение об именах содержит некоторые исторические требования:

Некоторые из них специфичны для Linux,

Некоторые унаследованы от других систем,

Другие отражают развитие Linux на основе заимствованных соглашений.

A hash mark (#) in a device name is used here to indicate a decimal

number without leading zeroes.

Знак (#) в имени устройства используется для обозначения десятичного числа, которое не начинается с 0.

Virtual consoles and the console device

Виртуальная консоль и консольное устройство

Virtual consoles are full-screen terminal displays on the system video

monitor. Virtual consoles are named /dev/tty#, with numbering

starting at /dev/tty1; /dev/tty0 is the current virtual console.

/dev/tty0 is the device that should be used to access the system video

card on those architectures for which the frame buffer devices

(/dev/fb*) are not applicable. Do not use /dev/console

Виртуальная консоль находится в системеВидео мониторнаполноэкранныйДисплейный терминал.

/ dev / tty0 может использоваться для доступа к системной видеокарте в тех архитектурах, где устройства кадрового буфера (/ dev / fb *) не применимы.

И / dev / console не используется для этой цели.

The console device, /dev/console, is the device to which system

messages should be sent, and on which logins should be permitted in

single-user mode. Starting with Linux 2.1.71, /dev/console is managed

by the kernel; for previous versions it should be a symbolic link to

either /dev/tty0, a specific virtual console such as /dev/tty1, or to

a serial port primary (tty*, not cu*) device, depending on the

configuration of the system.

Начиная с Linux 2.1.71, / dev / console управляется ядром ,

Предыдущая версия представляла собой динамическую ссылку на / dev / tty0, конкретную виртуальную консоль (такую ​​как / dev / tty1) или устройство последовательного мастера (tty *, non-cu *), которое зависело от конфигурации системы.

Serial ports

Серийный порт

Serial ports are RS-232 serial ports and any device which simulates

one, either in hardware (such as internal modems) or in software (such

as the ISDN driver.) Under Linux, each serial ports has two device

names, the primary or callin device and the alternate or callout one.

Each kind of device is indicated by a different letter. For any

letter X, the names of the devices are /dev/ttyX# and /dev/cux#,

respectively; for historical reasons, /dev/ttyS# and /dev/ttyC#

correspond to /dev/cua# and /dev/cub#. In the future, it should be

expected that multiple letters will be used; all letters will be upper

case for the «tty» device (e.g. /dev/ttyDP#) and lower case for the

«cu» device (e.g. /dev/cudp#).

The names /dev/ttyQ# and /dev/cuq# are reserved for local use.

Имена (/ dev / ttyQ # и / dev / cuq #) зарезервированы для локального использования.

The alternate devices provide for kernel-based exclusion and somewhat

different defaults than the primary devices. Their main purpose is to

allow the use of serial ports with programs with no inherent or broken

support for serial ports. Their use is deprecated, and they may be

removed from a future version of Linux.

Arbitration of serial ports is provided by the use of lock files with

the names /var/lock/LCK..ttyX#. The contents of the lock file should

be the PID of the locking process as an ASCII number.

Арбитраж последовательного порта обеспечивается через файл блокировки (/var/lock/LCK..ttyX#).

Содержимое файла блокировки должно быть кодом ASCII PID процесса блокировки.

It is common practice to install links such as /dev/modem

which point to serial ports. In order to ensure proper locking in the

presence of these links, it is recommended that software chase

symlinks and lock all possible names; additionally, it is recommended

that a lock file be installed with the corresponding alternate

device. In order to avoid deadlocks, it is recommended that the locks

are acquired in the following order, and released in the reverse:

Обычной практикой является установка ссылки, такой как / dev / modem, для указания на последовательный порт.

Чтобы обеспечить надлежащую блокировку существования этих ссылок, рекомендуется, чтобы программное обеспечение отслеживало символы и блокировало все возможные имена;

Кроме того, рекомендуется установить файл блокировки для соответствующего устройства резервного копирования.

Чтобы избежать взаимных блокировок, рекомендуется приобретать блокировки в следующем порядке и освобождать их в обратном порядке:

1. The symbolic link name, if any (/var/lock/LCK..modem)

2. The «tty» name (/var/lock/LCK..ttyS2)

3. The alternate device name (/var/lock/LCK..cua2)

1. Символическое имя ссылки, если доступно (/var/lock/LCK..modem)

2. Имя «tty» (/var/lock/LCK..ttyS2)

3. Имя устройства резервного копирования (/var/lock/LCK..cua2)

In the case of nested symbolic links, the lock files should be

installed in the order the symlinks are resolved.

В случае вложенных символических ссылок файлы блокировки должны быть установлены в порядке символических ссылок для решения проблемы.

Under no circumstances should an application hold a lock while waiting

for another to be released. In addition, applications which attempt

to create lock files for the corresponding alternate device names

should take into account the possibility of being used on a non-serial

port TTY, for which no alternate device would exist.

В любом случае приложение должно подождать, пока другая программа снимет блокировку, а затем удерживать блокировку.

Кроме того, приложения, которые пытаются создать файлы блокировки для соответствующих альтернативных имен устройств, должны рассмотреть возможность использования для не последовательных портов TTY, где нет альтернативного устройства.

Pseudoterminals (PTYs)

Псевдо-терминалы (PTYs)

Pseudoterminals, or PTYs, are used to create login sessions or provide

other capabilities requiring a TTY line discipline (including SLIP or

PPP capability) to arbitrary data-generation processes. Each PTY has

a master side, named /dev/pty[p-za-e][0-9a-f], and a slave side, named

/dev/tty[p-za-e][0-9a-f]. The kernel arbitrates the use of PTYs by

allowing each master side to be opened only once.

Псевдо-терминалы (или PTY) используются для создания сеансов входа в систему или для предоставления других процессов, которые требуют процедур tty line (включая возможности SLIP или PPP) для генерации данных.

Каждый PTY имеет ведущего (/ dev / pty [p-za-e] [0-9a-f]) и подчиненного (/ dev / tty [p-za-e] [0-9a-f] ).

Ядро разрешает использование PTY, позволяя открывать каждый мастер только один раз.

Once the master side has been opened, the corresponding slave device

can be used in the same manner as any TTY device. The master and

slave devices are connected by the kernel, generating the equivalent

of a bidirectional pipe with TTY capabilities.

Как только мастер включен, соответствующее ведомое устройство может использоваться так же, как и любое устройство TTY.

Как ведущее, так и подчиненное устройства подключаются к ядру, в результате получается двунаправленный канал с функцией TTY.

Recent versions of the Linux kernels and GNU libc contain support for

the System V/Unix98 naming scheme for PTYs, which assigns a common

device, /dev/ptmx, to all the masters (opening it will automatically

give you a previously unassigned PTY) and a subdirectory, /dev/pts,

for the slaves; the slaves are named with decimal integers (/dev/pts/#

in our notation). This removes the problem of exhausting the

namespace and enables the kernel to automatically create the device

nodes for the slaves on demand using the «devpts» filesystem.

Последняя версия ядра Linux и библиотеки GNU включает поддержку System V и Unix98 для именования PTY.

Он выделяет общее устройство (/ dev / ptmx) для всех мастеров (если открыть его, вы автоматически получите ранее неназначенный PTY) и подкаталог (/ dev / pts) для ведомого устройства, ведомое устройство использует десятичное число Целочисленное (/ dev / pts / #) наименование.

Это устраняет проблему исчерпания пространства имен и позволяет ядру автоматически создавать узлы устройств для подчиненных по требованию через файловую систему «devpts».

4. Понимание системы TTY (графическая иллюстрация)

Tty linux что это. Смотреть фото Tty linux что это. Смотреть картинку Tty linux что это. Картинка про Tty linux что это. Фото Tty linux что это

Веб-страница Википедии о терминалах:Computer terminal | System console | Linux console

Выше я понимаю tty после обращения к онлайн-информации. Справочные материалы:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *