Como os consoles virtuais estão relacionados aos terminais de computadores tradicionais?

1

Isso é extraído (com alguma reformulação) de Terminal de computador e console virtual , que foi fechado com um hatnote vinculado a Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'? . O pôster original estava interessado em relações e diferenças entre um terminal de computador e um console / terminal virtual. Qual é dependente do sistema operacional? Como se relaciona com os terminais texto vs gráficos ?

Citado em Wikipédia :

A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system. Early terminals were inexpensive devices but very slow compared to punched cards or paper tape for input, but as the technology improved and video displays were introduced, terminals pushed these older forms of interaction from the industry. A related development was timesharing systems, which evolved in parallel and made up for any inefficiencies of the user's typing ability with the ability to support multiple users on the same machine, each at their own terminal.

Citado em wikipedia :

A virtual console (VC) – also known as a virtual terminal (VT) – is a conceptual combination of the keyboard and display for a computer user interface. It is a feature of some operating systems such as UnixWare, Linux, and BSD, in which the system console of the computer can be used to switch between multiple virtual consoles to access unrelated user interfaces. Virtual consoles date back at least to Xenix in the 1980s.

    
por Incnis Mrsi 07.09.2015 / 15:09

1 resposta

3

Resumindo: os consoles virtuais são um recurso do console Linux e de alguns outros sistemas operacionais. Terminal de computador é um dispositivo separado que fornece ao usuário uma interface para o computador. Veja também discussão sobre a frase “terminal virtual” .

O console do sistema (ou apenas "console", em suma) de um computador mostra algumas informações do sistema operacional, como o processo de inicialização. Ele também pode executar um interpretador de linha de comando, dando feedback da entrada do usuário e mostrando os resultados textuais dos comandos executados.

O que são consoles virtuais? Este conceito faz com que um console físico (ou seja, display e teclado) se comporte como diferentes dispositivos de terminal que estão conectados ao computador. Permite o acesso a várias interfaces de usuário não relacionadas. No Linux, é uma introdução inicial (feita por Linus Torvalds) feita quase simultaneamente com o código do terminal virtual ( vt ), um dos primeiros recursos do Linux. Quando um usuário pressiona Ctrl + Alt + ( F1 - F12 ), ele instantaneamente muda para o console com número especificado, enquanto os processos em consoles (atualmente invisíveis) continuam em execução.

Como os VCs estão relacionados aos terminais tradicionais? Algumas caixas Unix (vistas por mim, c.1993) executavam vários terminais de texto conectados com RS-232. Como nos consoles virtuais modernos, eles forneceram interfaces de usuário independentes e usuários diferentes podem fazer logon em terminais diferentes. Mas também há diferenças. Apenas um destes terminais (linha serial) conectados era console , outros eram apenas terminais. Em contraste, o principal objetivo dos consoles virtuais Linux – BSD é servir como um console de sistema. O kernel Linux pode usar qualquer um deles (e usa o atual) para escrever mensagens de emergência. E, é claro, com o terminal tradicional vários usuários podem usar simultaneamente o teclado - o que não é possível em consoles virtuais.

Os terminais tradicionais podem ser somente de texto ou gráficos, certo. E terminais diferentes podem ter capacidades diferentes, em geral. Coisa análoga para consoles virtuais: com uma tela com recursos gráficos, cada pode ser usado para TUI ou para gráficos. E, no TUI, o Linux permite configurações diferentes em cada console, incluindo (desde 2.6) fontes monoespaçadas independentes, o que implica que os VCs podem ter diferenças no número de linhas de texto e cpl (embora o mesmo modo de vídeo). O kernel do Linux garante a consistência dos consoles virtuais enquanto os aplicativos de texto são usados.

Mas há uma diferença entre os conceitos também. O kernel do Linux exerce sua responsabilidade por um console virtual apenas na TUI (modo de texto de hardware ou emulação via fbdev ). Para manipular gráficos em um console virtual, um programa de espaço do usuário (como um servidor XWindow) deve manipular a entrada e a saída do console. Enquanto uma aplicação de texto pode escrever texto na “tela” quando seu console é desligado, não é possível com gráficos, no Linux. Pode-se ter o modo gráfico em mais de um VC e os programas serão executados simultaneamente. Mas o kernel não mantém o conteúdo do framebuffer para um aplicativo gráfico (o que ele faz para aplicativos TUI). Tal aplicativo deve definir seu próprio modo de vídeo, quando o usuário entra no console virtual e restaura a tela.

    
por 07.09.2015 / 15:22