В чем разница между виртуальным терминалом и псевдотерминалом?

В чем разница между виртуальным терминалом и псевдотерминалом?

Виртуальный терминал — это терминал, который вы получаете, когда набираете Ctrl+ Alt+ F#, и который представлен файлом /dev/tty#.

В то время как псевдотерминал — это терминал, который фактически работает «внутри» tty, например: gnome-terminal, xterm, и т. д. И который представлен файлом /dev/pts/#.

Я прав?

решение1

«Виртуальный терминал» — это нечетко определенный термин, который может означать разные вещи в зависимости от того, кто говорит. Все терминалы в настоящее время являются виртуальными, если противопоставлять виртуальные терминалы физическим терминалам (например,настоящий DEC VT100).

В Linux /dev/tty[n]виртуальныконсоли. Это виртуальные терминалы (эмуляторы терминалов), реализованные ядром и не зависящие от графической среды, если таковая имеется.

/dev/pts/#каналы, используемые для взаимодействия с локальными или удаленными эмуляторами терминала, такими gnome-terminalкак Windows putty.

решение2

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

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

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

Связанный контент