Псевдотерминал - это концепция ядра, которая была введена для представления программам дисциплины терминальной линии, чтобы программы думали, что они общаются с реальным терминалом. Это позволяет программам работать без изменений независимо от того, обращаются ли они к реальному терминальному устройству (например, последовательному порту) или псевдотерминалу.
Например, интерфейс, обеспечиваемый сетевым подключением, совсем не похож на последовательную линию, поэтому используется пара псевдотерминалов (главный и подчиненный). Процесс сетевого обработчика открывает главную сторону псевдотерминала, читает с нее и записывает в нее. То, что написано на ведущей стороне, появляется для чтения на ведомой стороне, и наоборот. Вдобавок все команды ioctl для изменения дисциплины линии и т. Д. Доступны в файловых дескрипторах на ведомой стороне.
Короче говоря, можно сказать, что псевдотерминал позволяет моделировать реальный терминал с помощью программного обеспечения.
«Виртуальный терминал» - это неопределенный термин, который может означать разные вещи в зависимости от того, кто говорит. В настоящее время все терминалы являются виртуальными, если виртуальные терминалы противопоставляются физическим терминалам (например, реальный DEC VT100 ).
В Linux / dev / tty [n]
являются виртуальными консолями . Это виртуальные терминалы (эмуляторы терминала), реализованные ядром и не зависящие от графической среды, если таковая имеется.
/ dev / pts / #
- это каналы, используемые для взаимодействия с локальными или удаленными эмуляторами терминала, такими как gnome-terminal
или Windows putty
.