Эмулятор терминала
Эта статья требует дополнительных цитат для проверки . ( октябрь 2009 г. ) |


Эмулятор терминала , или приложение терминала , представляет собой компьютерную программу , которая эмулирует видео терминал в какой -то другой архитектуре отображения. все терминалы , удаленные Несмотря на то, что термин обычно синонимичен с терминалом оболочки или текста, охватывает включая графические интерфейсы. Эмулятор терминала внутри графического пользовательского интерфейса часто называют окном терминала .
Окно терминала позволяет пользователю доступ к текстовому терминалу и ко всем его приложениям, таким как приложения командной строки (CLI) и приложения текстового пользовательского интерфейса (TUI). Они могут работать на одной и той же машине или на другой через Telnet , SSH , объект или над прямым последовательным соединением . В Unix, подобных операционным системам, это обычно имеет одно или несколько оконных окон, подключенных к локальной машине.
Терминалы обычно поддерживают набор последовательностей побега для управления цветом, позицией курсора и т. Д. Примеры включают семейство стандартов последовательности контроля терминалов, которое включает в себя ECMA-48 , ANSI X3.64 и ISO/IEC 6429 .
Фон
[ редактировать ]В первые дни вычислений, с появлением интерактивных вычислений, преобладающая модель включала центральный компьютер, подключенный к нескольким терминалам. [ 1 ] Эта конфигурация, известная как централизованная модель или модель мэйнфреймов, включала мощный центральный компьютер, который выполнял все задачи обработки, в то время как клеммы служили устройствами ввода/вывода для пользователей для взаимодействия с системой. Эти системы первоначально основывались на характере.
Характер-ориентированные терминалы
[ редактировать ]
Ориентированный на символ терминал-это тип компьютерного терминала, который связывается со своим хостом по одному символу за раз, в отличие от блока-ориентированного терминала , который связывается в блоках данных. Это наиболее распространенный тип терминала данных, потому что он прост в реализации и программировании. Подключение к компьютеру мэйнфрейма или сервера терминала достигается посредством последовательных ссылок RS-232, Ethernet или других запатентованных протоколов .
Терминалы, ориентированные на характер, могут быть «тупыми» или «умными». Тупые терминалы [ 2 ] это те, которые могут интерпретировать ограниченное количество контрольных кодов (CR, LF и т. Д.), Но не имеют возможности обрабатывать специальные последовательности побега, которые выполняют такие функции, как очистка линии, очистка экрана или управление позицией курсора. В этом контексте тупые терминалы иногда дублируются стеклянные телетипы , поскольку они по сути имеют такую же ограниченную функциональность, как и механический телетип. Этот тип тупого терминала по-прежнему поддерживается в современных системах Unix, установленной переменной средыTERM
к dumb
Полем Умные или интеллектуальные терминалы - это те, которые также имеют возможность обрабатывать последовательности побега, в частности, последовательности Escape VT52, VT100 или ANSI. Эмуляторы
[ редактировать ]Когда персональные компьютеры стали повсеместными в 1980 -х годах, они предложили возможность запустить программное обеспечение на персональном компьютере пользователя, предоставляя возможность заменить дорогие и космические аппаратные терминалы на что -то, что имело дополнительные функции. [ 3 ] Сразу же стало доступно программное обеспечение, которое могло бы эмулировать функции аппаратных терминалов на ПК. Примерами такого программного обеспечения для DOS были Telix или телемат, который был опубликован в 1988 году и мог подражать терминалу DEC VT102. [ 4 ]
Рабочие станции , обычно использующие версии Unix , также стали обычными в 1980 -х годах. Системы UNIX обычно обеспечивали доступ к командной строке с локально прикрепленными или наболенными терминалами. Рабочие станции UNIX были разработаны для использования в основном через графический интерфейс пользователя (GUI); Чтобы обеспечить доступ к командной строке, графический интерфейс включал в себя приложения эмулятора терминалов, которые вели себя как локально прикрепленные к терминалам.
В течение 1990 -х годов появились новые операционные системы, такие как Windows и OS/2 , предоставляя техническую информацию для большего количества эмуляторов терминалов, таких как Telix для Windows , Zoc для OS/2 или Putty , который был первоначально выпущен для Windows в 1998 году и которые (вместе с Его производные) по -прежнему является очень популярным выбором по сей день. [ 5 ]
Благодаря успеху Linux , особенно работающего на центрах обработки данных и облачных серверов, [ 6 ] [ мертвая ссылка ] Необходимость доступа к удаленным компьютерам через терминалы на основе символов остается. Это видно в том, что сегодня списки эмуляторов терминалов, которые могут служить альтернативой вышеупомянутой замазке , предлагает более 100 альтернатив. [ 7 ] [ сомнительно - обсудить ]
Примеры эмулированных терминалов
[ редактировать ]Многие терминальные эмуляторы были разработаны для физических аппаратных терминалов, таких как VT52 , VT100 , VT220 , VT320 , IBM 3270/8/9/E , IBM 5250 , IBM 3179G , Общие данные D211, Hewlett-Packard HP700/92, Sperry/Unisys 2000. -series UTS60 , Burroughs/Unisys A-Series T27/TD830/ET1100, добавляет точку зрения, AT386, Siemens Nixdorf (SNI) 97801, Televideo 925 и Wyse 50/60.
Некоторые терминальные эмуляторы, такие как XERM , реализуют дополнительные функции, отсутствующие в эмулированном терминале. [ 8 ]
Кроме того, были разработаны программы для эмуляции различной системной консоли «терминалов», таких как консоль рабочей станции Sun и консоль Linux .
Наконец, некоторые эмуляторы просто относятся к набору стандартов, таких как стандарты для кодов побега ANSI .
Такие программы доступны на многих платформах, включая DOS , Unix-подобные системы, включая Linux и MacOS , Windows и встроенные операционные системы, найденные в мобильных телефонах и промышленном оборудовании.
Детали реализации
[ редактировать ]Unix-подобные системы
[ редактировать ]В прошлом, Unix и Unix-подобные системы использовали серийные устройства порта, такие как порты RS-232 , и предоставлены /dev/*
файлы устройства для них. [ 9 ]
С эмуляторами терминалов эти файлы устройства эмулируются с использованием пары псевдотерминальных устройств. Эта пара используется для эмуляции физического порта/соединения с конечной точкой вычислений хоста - аппаратное обеспечение компьютера, предоставленное API операционной системы, некоторым другим программным обеспечением, таким как Rlogin , Telnet или SSH или еще. [ 10 ] Например, в системах Linux они будут /dev/ptyp0
(для главной стороны) и /dev/ttyp0
(Для подчиненной стороны) Псевдотерминальные устройства соответственно.
Есть также специальные виртуальной консоли , такие как файлы /dev/console
Полем В текстовом режиме запись в файл отображает текст на виртуальной консоли и чтение из файла возвращает текст, который пользователь записывает в виртуальную консоли. Как и в других текстовых терминалах , существуют также специальные последовательности побега , элементы управления и функции , которые может использовать программа, легче всего через библиотеку, такую как Ncurses . Для более сложных операций программы могут использовать консольные и терминальные специальные вызовы системных вызовов. Можно сравнить устройства, используя шаблоны VCS («Экран виртуальной консоли») и VCSA («Экран виртуальной консоли с атрибутами»), таких как /dev/vcs1
и /dev/vcsa1
. [ 11 ]
Некоторые терминальные эмуляторы также включают последовательности побега для настройки поведения терминала, чтобы облегчить хорошее взаимодействие между терминалом и программами, работающими внутри него, например, для настройки скобки вставки .
Виртуальные консоли могут быть настроены в файле /etc/inittab
Читать по init текстовый режим входа в - как правило, он запускает процесс Getty для нескольких виртуальных консолей. X Window System может быть настроена в /etc/inittab
или с помощью диспетчера X Display . Ряд распределений Linux использует SystemD вместо init , что также позволяет конфигурации виртуальной консоли.
CLI Инструменты
[ редактировать ]Типичные системные программы Linux, используемые для доступа к виртуальным консолям, включают:
chvt
Чтобы переключить текущую виртуальную консолиopenvt
запустить программу на новой виртуальной консолиdeallocvt
Чтобы закрыть неиспользованную виртуальную консоли в настоящее время
Местный эхо
[ редактировать ]Эмуляторы терминалов могут реализовать локальную функцию Echo , которая может быть ошибочно назвать « полумуплекс » или все еще немного неправильно «echoplex» (который формально является механизмом обнаружения ошибок , а не опцией входного дисплея). [ 12 ] [ 13 ] [ 14 ] [ 15 ]
Режим линии в время/локальное редактирование
[ редактировать ]Эмуляторы терминалов могут реализовать локальное редактирование, также известное как «режим линии в время». Это также ошибочно называется « полумуплексным ». [ Цитация необходима ] В этом режиме эмулятор терминала отправляет только полные линии ввода в систему хоста. Пользователь вводит и редактирует линию, но он проводится локально в эмуляторе терминала при редактировании. Он не передается до тех пор, пока пользователь не указал свое завершение, обычно с ↵ Enter Ключ на клавиатуре или какую -то кнопку «Отправить» в пользовательском интерфейсе. В этот момент вся линия передается. Режим Line-y-времени подразумевает локальный Echo, поскольку в противном случае пользователь не сможет увидеть линию, когда она редактируется и построена. [ 12 ] [ 16 ] Тем не менее, режим линии в время не зависит от режима Echo и не требует локального эха. Например, при вводе пароля вход в локальный редактирование возможна, но локальный эхо отключен (в противном случае пароль будет отображаться). [ 17 ]
Сложности режима линии на время иллюстрируются опцией режима линии в протокол Telnet. Чтобы правильно его реализовать, реализация виртуальной терминала сети, предоставленная программой эмулятора терминала, должна быть способна распознавать и должным образом иметь дело с событиями «прерывание» и «прервать», которые поступают в середине локального редактирования линии. [ 18 ]
Синхронные терминалы
[ редактировать ]![]() | Этот раздел , возможно, содержит оригинальные исследования . ( Январь 2011 ) |
В асинхронных терминалах данные могут течь в любом направлении в любое время. В синхронных терминалах протокол контролирует управление, которые могут отправлять данные, когда. IBM 3270 Терминалы на основе , используемые с мэйнфреймами IBM, являются примером синхронных терминалов . Они работают в практическом режиме «экрана на время» (также известного как режим блока ). Пользователи могут внести многочисленные изменения на странице, прежде чем отправлять обновленный экран на удаленную машину в качестве единого действия.
Эмуляторы терминалов, которые имитируют 3270 протокола, доступны для большинства операционных систем, для использования как тех, кто администрирует системы, такие как Z9 , так и те, которые используют соответствующие приложения, такие как CICS .
Другие примеры синхронных терминалов включают IBM 5250 , ICL 7561, Honeywell Bull VIP7800 и Hewlett-Packard 700/92.
Виртуальные консоли
[ редактировать ]Виртуальные консоли , также называемые виртуальными терминалами, являются эмулированными текстовыми терминалами , используя клавиатуру и монитор персонального компьютера или рабочей станции. Слово «текст» является ключевым, поскольку виртуальные консоли не являются терминалами графического интерфейса, и они не работают внутри графического интерфейса. Виртуальные консоли встречаются в большинстве систем , подобных UNIX . Они в основном используются для доступа и взаимодействия с серверами, без использования графической среды рабочего стола.
Смотрите также
[ редактировать ]- Бинарная синхронная связь
- Список терминальных эмуляторов
- Онлайн -поставщик услуг
- Серийный интерфейс
- Терминальный мультиплексор
Примечания
[ редактировать ]- ^ FU Berlin, 3. Архитектура мини -снятия
- ^ «Что такое тупой терминал? Определение и значение» . BusinessDictionary.com . Архивировано из оригинала 13 августа 2020 года . Получено 13 марта 2019 года .
- ^ «Подражая терминалу на персональных компьютерах» .
- ^ "Телемат Вики" .
- ^ «Клиенты SSH для Windows» .
- ^ «Выработка Linux в центре данных» .
- ^ «Альтернативы замазку» .
- ^ Томас Э. Дики. «XERM - Часто задаваемые вопросы (FAQ)» . Почему VT220?.
- ^ «Краткая история терминальной эмуляции | Turbosoft» . www.ttwin.com . Получено 2021-10-04 .
- ^ "Ubuntu Manpage: Tty - общий интерфейс терминала" . manpages.ubuntu.com . Получено 2021-10-04 .
- ^ «Свалки экрана» . Клавиатура Linux и консоль Howto . Проект документации Linux . Получено 2008-07-31 .
Текущее содержимое экрана /dev /ttyn можно получить с помощью устройства /dev /vcsn (где «VCS» обозначает «виртуальный экран консоли»). [...] Из программы обычно лучше использовать /dev /vcsan (`` виртуальная консольная экрана с атрибутами) - он начинается с заголовка, дающего количество строк и столбцов и расположение курсора. См. VCS (4).
- ^ Подпрыгнуть до: а беременный Dantith 2004 , p. 171.
- ^ Weik 2000 , "echo" с. 478.
- ^ Weik 2000 , "echoplex" с. 479.
- ^ Weik 2000 , "Echoplex Mode" с. 479.
- ^ Bangia 2010 , с. 324.
- ^ Стивенс и Райт 1994 , с. 413.
- ^ Миллер 2009 , с. 590, 591.
Ссылки
[ редактировать ]- Бангия, Рамеш (2010). "Линейный режим терминал". Словарь информационных технологий . Лаксми. ISBN 978-93-8029-815-3 .
- Дайнт, Джон (2004). "Эхо". Оксфордский словарь вычислительных наук (5 -е изд.). Издательство Оксфордского университета. ISBN 978-0-19-860877-6 .
- Миллер, Филип М. (2009). TCP/IP - Руководство по протоколу Ultimate . Тол. 2 - Применение, доступ и безопасность данных. Universal-Publishers. ISBN 978-1-59942-493-4 .
- Стивенс, В. Ричард ; Райт, Гэри Р. (1994). TCP/IP проиллюстрирован . Аддисон-Уэсли Профессиональные Компьютерные серии. Тол. 1: протоколы. Аддисон-Уэсли. ISBN 978-0-201-63346-7 .
- Вейк, Мартин Х. (2000). «Терминальная эмуляция». Компьютерная и коммуникационная словарь . Тол. 1. Спрингер. п. 1763. doi : 10.1007/1-4020-0613-6_19359 . ISBN 978-0-7923-8425-0 .
Внешние ссылки
[ редактировать ]
- ‹ Шаблон Curlie рассматривается для удаления .› Терминальная эмуляция в Curlie
- Определение окна терминала с помощью информационного проекта Linux (LINFO)