Um console virtual é executado como um processo e implementado com base no pseudoterminal?

3

O Linux tem 7 consoles virtuais, que correspondem a 7 arquivos de dispositivos /dev/tty[n] .

Um console virtual é executado como um processo, como um emulador de terminal? (Não tenho certeza. Parece que um console virtual é parte do kernel e, se isso estiver correto, não pode ser um processo.)

É um console virtual implementado com base no pseudoterminal, assim como um emulador de terminal? (Eu acho que não. Caso contrário, um arquivo de dispositivo do console virtual será /dev/pts/[n] , em vez de /dev/tty[n] )

Obrigado.

    
por Tim 28.11.2018 / 02:04

1 resposta

7

Isso está incorreto.

Existe um programa emulador de terminal embutido no kernel do Linux. Não se manifesta como um processo em execução com identificadores de arquivos abertos. Também não requer dispositivos pseudo-terminais. É colocado sobre o framebuffer e o subsistema de eventos de entrada, que usa interfaces de kernel internas para acessar. Ele se apresenta para sistemas de modo aplicativo como uma série de 63 (não 7) dispositivos terminal virtual do kernel, /dev/tty1 to /dev/tty63 .

Os terminais virtuais de espaço do usuário são implementados usando dispositivos pseudo-terminais. Dispositivos de terminais pseudo-terminal, dispositivos de terminal virtual de kernel e dispositivos de terminal reais sobrepostos em portas seriais são os três tipos de dispositivos de terminal (no que diz respeito a programas aplicativos) no Linux.

Por causa da falta de coordenação, a documentação do Linux agora está muito ruim neste assunto. Há vários anos não há página de manual para dispositivos de terminal virtual do kernel em vários sistemas operacionais Linux, embora existam páginas para os outros dois tipos de dispositivos de terminal. Esta página de manual teria explicado o número correto ou dispositivos e seus nomes de arquivos do dispositivo e usado para ler:

A Linux system has up to 63 virtual consoles (character devices with major number 4 and minor number 1 to 63), usually called /dev/ttyn with 1 <= n <= 63. The current console is also addressed by /dev/console or /dev/tty0, the character device with major number 4 and minor number 0.

As pessoas do Debian notaram que o Debian estava faltando uma página de manual console (4) em 2014, e mudaram para a instalação do Linux Manpages Project, apenas para pessoas no mesmo projeto para deletar seu console (4) página de manual um ano e um pouco depois em 2016 porque "Debian e derivados não instalam esta página" e "Debian não carrega mais".

Leitura adicional

por 28.11.2018 / 09:01