Meu entendimento tty
é que significa "escritores de teletipo" dos tempos antigos, onde as pessoas tinham que obter gravadores de teletipo para receber e inserir dados em terminais virtuais, minhas perguntas são:
O que
tty
representa no Linux?O que é
tty
realmente usado no Linux?Por que existem tantos
tty
arquivos, comotty1
,tty2
,tty3
, etc.
Como tty
funciona?
Antigamente, os teletipos eram máquinas de escrever que traduziam o que era digitado localmente em uma máquina de escrever mecânica em códigos EBCDIC ou ASCII e depois transmitia por um cabo para um computador remoto. Daí o prefixo "tele", que significa "à distância". A palavra "terminal" às vezes era usada, porque o teletipo era a extremidade terminal do fio onde os dados eram inseridos e transmitidos para o computador ou estação receptora. Cada dispositivo "tty" era conectado através de uma porta serial, porque o fio de cobre era caro e, portanto, os dispositivos de porta "paralela" eram usados principalmente para interfaces de curta distância, como uma impressora local. Isso foi antes de as redes sem fio serem amplamente utilizadas. Nos velhos tempos de ambientes de computador multiusuário, você poderia ter vários "dispositivos terminais", ou seja, 'tty' dispositivos conectados ao mesmo computador central. Este é o ambiente de hardware original no qual o Unix foi desenvolvido. Esse legado de hardware ainda está conosco na nomeação dos componentes de software no sistema operacional Linux.
Hoje no Linux, o tty é um nome legado usado para se referir à interface do usuário para entrada e saída baseada em texto, também conhecido como "terminal". Em sistemas Linux, pode haver vários "consoles" de dispositivos tty, para suportar potencialmente dezenas de portas seriais ou mais. tty0 é o atual em uso, mas o Linux permite que você alterne para outra sessão alterando para um tty diferente, por exemplo, tty1. Linux (por exemplo, Ubuntu) suporta até 6 ttys por padrão, mas esse número é configurável.
Em termos práticos, pense em um tty como um canal de comunicação serial que uma sessão do Linux usa para se comunicar com um usuário.
Como funciona é que existe um processo de análise vinculado à sessão tty que analisa a entrada do usuário e passa comandos válidos para o computador executar.