Terminal de computador -Computer terminal

O DEC VT100 , um terminal de computador amplamente emulado
IBM 2741 , um terminal de computador amplamente emulado nas décadas de 1960 e 1970
(teclado/impressora)

Um terminal de computador é um dispositivo de hardware eletrônico ou eletromecânico que pode ser usado para inserir dados e transcrever dados de um computador ou sistema de computação . O teletipo foi um exemplo de um terminal de cópia impressa dos primeiros dias e antecedeu o uso de uma tela de computador por décadas.

Os primeiros terminais eram dispositivos baratos, mas muito lentos em comparação com cartões perfurados ou fita de papel para entrada, mas à medida que a tecnologia melhorou e os monitores de vídeo foram introduzidos, os terminais expulsaram essas formas mais antigas de interação da indústria. Um desenvolvimento relacionado foram os sistemas de compartilhamento de tempo , que evoluíram em paralelo e compensaram quaisquer ineficiências na capacidade de digitação do usuário com a capacidade de oferecer suporte a vários usuários na mesma máquina, cada um em seu próprio terminal ou terminais.

A função de um terminal é normalmente limitada à transcrição e entrada de dados; um dispositivo com capacidade significativa de processamento de dados local e programável pode ser chamado de "terminal inteligente" ou cliente gordo . Um terminal que depende do computador host para seu poder de processamento é chamado de " terminal burro " ou thin client . Um computador pessoal pode executar um software emulador de terminal que replica funções de um terminal do mundo real, às vezes permitindo o uso simultâneo de programas locais e acesso a um sistema host de terminal distante , seja por uma conexão serial direta ou por uma rede usando, por exemplo, SSH .

História

O console do Z3 de Konrad Zuse tinha um teclado em 1941, assim como o Z4 em 1942–1945. Mas esses consoles só podiam ser usados ​​para inserir entradas numéricas e, portanto, eram análogos aos das máquinas de calcular; programas, comandos e outros dados foram inseridos por meio de fita de papel. Ambas as máquinas tinham uma fileira de lâmpadas de exibição para resultados.

Em 1955, o computador Whirlwind Mark I foi o primeiro computador equipado com uma combinação de teclado e impressora para suportar entrada direta de dados e comandos e saída de resultados. O dispositivo era um Friden Flexowriter , que continuaria a servir a esse propósito em muitos outros computadores antigos até a década de 1960.

Terminais impressos

Teletipo Modelo 33
Um teleprinter Teletype Model 33 ASR, utilizável como um terminal
Terminal de impressão IBM 2741
Detalhe de um terminal de impressão IBM 2741, que usava um elemento de digitação Selectric "bola de golfe" mutável e era mais rápido do que as máquinas de teletipo anteriores

Os primeiros terminais de usuário conectados a computadores eram, como o Flexowriter, teleimpressoras /teledigitadoras eletromecânicas (TeleTYpewriter, TTY), como o Teletype Model 33 , originalmente usado para telegrafia ; os primeiros teletipos eram normalmente configurados como teclado Send-Receive (KSR) ou Automatic Send-Receive (ASR), o último incluindo um leitor de fita de papel e perfurador. Isso levou ao uso da interface de loop de corrente que já era usada na telegrafia, bem como a um próspero mercado de máquinas excedentes para uso em computadores.

Os terminais de teclado/impressora de design personalizado que vieram depois incluíram o IBM 2741 (1965) e o DECwriter (1970). As respectivas velocidades máximas de teletipos, IBM 2741 e LA30 (um dos primeiros DECwriters) eram 10, 15 e 30 caracteres por segundo. Embora naquela época "o papel fosse rei", a velocidade de interação era relativamente limitada.

O DECwriter foi o último grande produto de terminal de impressão. Ele desapareceu depois de 1980 sob pressão de unidades de exibição de vídeo (VDUs), com a última revisão (o DECwriter IV de 1982) abandonando a forma clássica de teletipo por outra mais parecida com uma impressora de mesa.

VDUs

Uma unidade de exibição de vídeo (VDU) exibe informações em uma tela em vez de imprimir texto em papel e geralmente usa um tubo de raios catódicos (CRT). Devido a essa tecnologia, esses dispositivos eram frequentemente chamados de "CRTs". Os VDUs na década de 1950 eram normalmente projetados para exibir dados gráficos em vez de apenas texto. Monitores CRT naquele período de tempo foram usados, por exemplo, em computadores experimentais no MIT ; Computador comercial de, por exemplo, DEC , ERA , IBM , UNIVAC ; computadores militares para, por exemplo, BMEWS , BUIC , SAGE .

Dois marcos iniciais no desenvolvimento do VDU ​​foram o Univac Uniscope 300 e o IBM 2260 , ambos em 1964. Ambos eram terminais de modo de bloco projetados para enviar uma página por vez, em vez de dispositivos de modo de caractere. O Hazeltine 2000 de 1970 foi um notável produto posterior do mesmo tipo.

O Datapoint 3300 da Computer Terminal Corporation , anunciado em 1967 e lançado em 1969, era um dispositivo de modo de caractere que emulava um teletipo modelo 33 . Isso reflete o fato de que os primeiros terminais de modo de caractere eram frequentemente implantados para substituir as máquinas de teletipo como forma de reduzir os custos operacionais.

A próxima geração de VDUs foi além da emulação de teletipo com um cursor endereçável que lhes deu a capacidade de pintar exibições bidimensionais na tela. Apesar disso, os primeiros dispositivos desse tipo eram freqüentemente chamados de "Glass TTYs". A era clássica do VDU ​​começou no início dos anos 1970 e estava intimamente ligada ao surgimento dos computadores de compartilhamento de tempo . Os primeiros produtos importantes foram o ADM-3A , VT52 e VT100 . Esses dispositivos não usavam CPU , em vez disso, dependiam de portas lógicas individuais ou chips LSI muito primitivos. Isso os tornou baratos e rapidamente se tornaram dispositivos de entrada e saída extremamente populares em muitos tipos diferentes de sistemas de computador, muitas vezes substituindo terminais de impressão anteriores e mais caros.

Depois de 1970, vários fornecedores gravitaram em torno de um conjunto de padrões comuns:

  • Conjunto de caracteres ASCII (em vez de, digamos, EBCDIC ou qualquer coisa específica para uma empresa), mas os modelos iniciais/econômicos geralmente suportavam apenas letras maiúsculas (como o ADM-3 original , o modelo Data General 6052 - que poderia ser atualizado para um 6053 com uma ROM de caracteres minúsculos – e o Heathkit H9)
  • Portas seriais RS-232 (25 pinos, prontas para conectar a um modem, mas o uso de alguns pinos específicos do fabricante estendeu o padrão, por exemplo, para uso com loops de corrente de 20 mA )
  • 24 linhas (ou possivelmente 25 – às vezes uma linha de status especial) de 72 ou 80 caracteres de texto (80 era o mesmo que os cartões perfurados da IBM ). Os modelos posteriores às vezes tinham duas configurações de largura de caracteres.
  • Algum tipo de cursor que pode ser posicionado (com teclas de seta ou "home" e outros códigos de configuração de endereço de cursor direto).
  • Implementação de pelo menos 3 códigos de controle: Carriage Return (Ctrl-M), Line-Feed (Ctrl-J) e Bell (Ctrl-G), mas geralmente muitos mais, como sequências de escape para fornecer sublinhado, dim ou reverso realce de caracteres de vídeo e, principalmente, para limpar a tela e posicionar o cursor.

A era experimental dos VDUs seriais culminou com o VT100 em 1978. No início dos anos 1980, havia dezenas de fabricantes de terminais, incluindo Lear-Siegler , ADDS , Data General, DEC , Hazeltine Corporation , Heath/Zenith , Hewlett-Packard , IBM , TeleVideo , Volker-Craig e Wyse , muitos dos quais tinham sequências de comando incompatíveis (embora muitos usassem o ADM-3 inicial como ponto de partida).

As grandes variações nos códigos de controle entre os fabricantes deram origem a softwares que identificavam e agrupavam tipos de terminais para que o software do sistema exibisse corretamente os formulários de entrada usando os códigos de controle apropriados; Em sistemas do tipo Unix, os arquivos termcap ou terminfo , o utilitário stty e a variável de ambiente TERM seriam usados; no software Business BASIC da Data General, por exemplo, no momento do login, uma sequência de códigos foi enviada ao terminal para tentar ler a posição do cursor ou o conteúdo da 25ª linha usando uma sequência de diferentes sequências de códigos de controle do fabricante e o gerado pelo terminal A resposta determinaria um número de um dígito (como 6 para terminais Data General Dasher, 4 para terminais ADM 3A/5/11/12, 0 ou 2 para TTYs sem recursos especiais) que estaria disponível para os programas dizerem qual conjunto de códigos a serem usados.

A grande maioria dos terminais era monocromática, os fabricantes ofereciam fósforos de tela verde, branco ou âmbar e às vezes azul. (Amber foi reivindicado para reduzir a fadiga ocular). Terminais com capacidade de cor modesta também estavam disponíveis, mas não eram amplamente utilizados; por exemplo, uma versão colorida do popular Wyse WY50, o WY350, oferecia 64 tonalidades em cada célula de caractere.

Os VDUs acabaram sendo deslocados da maioria dos aplicativos por computadores pessoais em rede, inicialmente lentamente após 1985 e com velocidade crescente na década de 1990. No entanto, eles tiveram uma influência duradoura nos PCs. O layout do teclado do terminal VT220 influenciou fortemente o Modelo M enviado em PCs IBM a partir de 1985 e, através dele, todos os teclados de computador posteriores.

Embora os monitores de tela plana estivessem disponíveis desde a década de 1950, os tubos de raios catódicos continuaram a dominar o mercado até que o computador pessoal fez sérias incursões no mercado de terminais de exibição. Na época em que os tubos de raios catódicos nos PCs foram substituídos por telas planas, após o ano 2000, o terminal de hardware do computador estava quase obsoleto.

Terminais "inteligentes"

Um terminal "inteligente" faz seu próprio processamento, geralmente implicando que um microprocessador está embutido, mas nem todos os terminais com microprocessadores faziam qualquer processamento real de entrada: o computador principal ao qual estava conectado teria que responder rapidamente a cada pressionamento de tecla. O termo "inteligente" neste contexto data de 1969.

Exemplos notáveis ​​incluem o IBM 2250 , predecessor do IBM 3250 e IBM 5080, e o IBM 2260 , predecessor do IBM 3270 , introduzido com o System/360 em 1964.

IBM 2250 Modelo 4, incluindo caneta ótica e teclado de função programada

A maioria dos terminais estava conectada a minicomputadores ou computadores mainframe e geralmente tinha uma tela verde ou âmbar. Normalmente, os terminais se comunicam com o computador por meio de uma porta serial por meio de um cabo de modem nulo , geralmente usando um EIA RS-232 ou RS-422 ou RS-423 ou uma interface serial de loop de corrente. Os sistemas IBM normalmente se comunicavam através de um canal Bus and Tag , um cabo coaxial usando um protocolo proprietário, um link de comunicação usando Binary Synchronous Communications ou o protocolo SNA da IBM , mas para muitos computadores DEC, Data General e NCR (e assim por diante) havia muitos fornecedores de telas competindo com o fabricante de computadores por terminais para expandir os sistemas. Na verdade, o projeto de instrução para o Intel 8008 foi originalmente concebido na Computer Terminal Corporation como o processador para o Datapoint 2200 .

Desde a introdução do IBM 3270 e do DEC VT100 (1978), o usuário e o programador puderam notar vantagens significativas nas melhorias da tecnologia VDU, mas nem todos os programadores usaram os recursos dos novos terminais ( compatibilidade com versões anteriores no VT100 e nos terminais TeleVideo posteriores , por exemplo, com "terminais burros" permitiam que os programadores continuassem a usar software mais antigo).

Alguns terminais burros foram capazes de responder a algumas sequências de escape sem precisar de microprocessadores: eles usaram múltiplas placas de circuito impresso com muitos circuitos integrados ; o único fator que classificou um terminal como "inteligente" foi sua capacidade de processar a entrada do usuário dentro do terminal - não interrompendo o computador principal a cada pressionamento de tecla - e enviar um bloco de dados por vez (por exemplo: quando o usuário terminou um campo ou formulário inteiro). A maioria dos terminais no início dos anos 80, como ADM-3A, TVI912, Data General D2, DEC VT52 , apesar da introdução de terminais ANSI em 1978, eram essencialmente terminais "burros", embora alguns deles (como os posteriores ADM e TVI models) tinham uma capacidade primitiva de envio de blocos. Os primeiros usos comuns do poder de processamento local incluíam recursos que tinham pouco a ver com o processamento de dados descarregado do computador host , mas adicionavam recursos úteis, como impressão em uma impressora local, transmissão serial de dados em buffer e handshaking serial (para acomodar velocidades de transferência serial mais altas ) e atributos de personagem mais sofisticados para a exibição, bem como a capacidade de alternar os modos de emulação para imitar os modelos do concorrente, que se tornaram recursos de venda cada vez mais importantes durante a década de 1980, especialmente, quando os compradores podiam misturar e combinar equipamentos de diferentes fornecedores em maior medida do que antes.

O avanço dos microprocessadores e a redução dos custos de memória possibilitaram que o terminal lidasse com operações de edição, como a inserção de caracteres em um campo que antes exigia uma tela cheia de caracteres a serem reenviados do computador, possivelmente em um processo lento. linha modem. Por volta de meados da década de 1980, os terminais mais inteligentes, custando menos do que a maioria dos terminais burros custariam alguns anos antes, podiam fornecer edição local de dados amigável o suficiente e enviar o formulário preenchido para o computador principal. Oferecendo ainda mais possibilidades de processamento, estações de trabalho como o TeleVideo TS-800 podem executar CP/M-86 , eliminando a distinção entre terminal e computador pessoal.

Outra das motivações para o desenvolvimento do microprocessador foi simplificar e reduzir a eletrônica necessária em um terminal. Isso também tornou possível carregar várias "personalidades" em um único terminal, de modo que um Qume QVT-102 pudesse emular muitos terminais populares da época e, assim, ser vendido para organizações que não desejavam fazer alterações no software. Tipos de terminais emulados com frequência incluídos:

O padrão de código de escape ANSI X3.64 produziu uniformidade até certo ponto, mas diferenças significativas permaneceram. Por exemplo, os terminais VT100 , Heathkit H19 no modo ANSI, Televideo 970, Data General D460 e Qume QVT-108 seguiram o padrão ANSI, mas podem existir diferenças nos códigos das teclas de função , quais atributos de caracteres estavam disponíveis, envio de blocos de campos dentro de formulários, recursos de caracteres "estrangeiros" e manuseio de impressoras conectadas na parte de trás da tela.

século 21

O termo Terminal Inteligente agora pode se referir a um computador de ponto de venda de varejo .

Contemporâneo

Embora os primeiros PCs da IBM tivessem telas verdes de uma única cor , essas telas não eram terminais. A tela de um PC não continha nenhum hardware de geração de caracteres; todos os sinais de vídeo e formatação de vídeo foram gerados pela placa de exibição de vídeo no PC ou (na maioria dos modos gráficos) pela CPU e software. Um monitor IBM PC, fosse o display monocromático verde ou o display de 16 cores, era tecnicamente muito mais semelhante a um aparelho de TV analógico (sem sintonizador) do que a um terminal. Com um software adequado , um PC pode, no entanto, emular um terminal e, nessa capacidade, pode ser conectado a um mainframe ou minicomputador. O Data General/One pode ser inicializado no modo de emulador de terminal a partir de sua ROM. Eventualmente, os computadores pessoais baseados em microprocessadores reduziram muito a demanda do mercado por terminais convencionais.

Especialmente na década de 1990, "thin clients" e terminais X combinaram o poder de processamento local econômico com instalações de computador centrais compartilhadas para reter algumas das vantagens dos terminais sobre os computadores pessoais:

Hoje, a maioria dos clientes telnet de PC fornecem emulação do terminal mais comum, o DEC VT100, usando o código de escape ANSI padrão X3.64, ou podem ser executados como terminais X usando software como Cygwin/X no Microsoft Windows ou software X.Org Server sob Linux.

Desde o advento e subsequente popularização do computador pessoal , poucos terminais de hardware genuínos são usados ​​para fazer interface com os computadores atualmente. Usando o monitor e o teclado , os sistemas operacionais modernos como o Linux e os derivados do BSD apresentam consoles virtuais , que em sua maioria são independentes do hardware utilizado.

Ao usar uma interface gráfica do usuário (ou GUI) como o X Window System , a exibição é normalmente ocupada por uma coleção de janelas associadas a vários aplicativos, em vez de um único fluxo de texto associado a um único processo. Nesse caso, pode-se usar um aplicativo emulador de terminal dentro do ambiente de janelas. Esse arranjo permite interação semelhante a um terminal com o computador (para executar um interpretador de linha de comando , por exemplo) sem a necessidade de um dispositivo de terminal físico; ele pode até executar vários emuladores de terminal no mesmo dispositivo.

Capacidades

Terminal orientado a caracteres

Um terminal de modo de caractere Televideo ASCII

Um terminal orientado a caracteres é um tipo de terminal de computador que se comunica com seu host um caractere por vez, em oposição a um terminal orientado a blocos que se comunica em blocos de dados. É o tipo de terminal de dados mais comum, pois é fácil de implementar e programar. A conexão com o computador mainframe ou servidor de terminal é feita por meio de links seriais RS-232, Ethernet ou outros protocolos proprietários .

Terminais de texto

Um terminal de texto típico produz entrada e exibe saída e erros
Editor de texto nano em execução no emulador de terminal xterm

Um terminal de texto , ou geralmente apenas terminal (às vezes console de texto ) é uma interface serial de computador para entrada e exibição de texto. As informações são apresentadas como uma matriz de caracteres formados pré-selecionados . Quando tais dispositivos usam um monitor de vídeo, como um tubo de raios catódicos , eles são chamados de " unidade de exibição de vídeo " ou "unidade de exibição visual" (VDU) ou "terminal de exibição de vídeo" (VDT).

O console do sistema geralmente é um terminal de texto usado para operar um computador. Os computadores modernos têm um teclado embutido e uma tela para o console. Alguns sistemas operacionais do tipo Unix, como Linux e FreeBSD, possuem consoles virtuais para fornecer vários terminais de texto em um único computador.

O tipo fundamental de aplicativo executado em um terminal de texto é um interpretador de linha de comando ou shell , que solicita comandos do usuário e executa cada comando após pressionar Return. Isso inclui shells Unix e alguns ambientes de programação interativos . Em um shell, a maioria dos comandos são pequenos aplicativos.

Outro tipo de aplicativo importante é o do editor de texto . Um editor de texto geralmente ocupa toda a área de exibição, exibe um ou mais documentos de texto e permite que o usuário edite os documentos. O editor de texto, para muitos usos, foi substituído pelo processador de texto , que geralmente fornece recursos de formatação avançados que faltam ao editor de texto. Os primeiros processadores de texto usavam texto para comunicar a estrutura do documento, mas os processadores de texto posteriores operam em um ambiente gráfico e fornecem uma simulação WYSIWYG da saída formatada. No entanto, os editores de texto ainda são usados ​​para documentos que contêm marcação , como DocBook ou LaTeX .

Programas como Telix e Minicom controlam um modem e o terminal local para permitir que o usuário interaja com servidores remotos. Na Internet , telnet e ssh funcionam de forma semelhante.

Na forma mais simples, um terminal de texto é como um arquivo. A gravação no arquivo exibe o texto e a leitura do arquivo produz o que o usuário insere. Em sistemas operacionais do tipo Unix, existem vários arquivos especiais de caracteres que correspondem aos terminais de texto disponíveis. Para outras operações, existem sequências de escape especiais , caracteres de controle e termios funções que um programa pode usar, mais facilmente por meio de uma biblioteca como ncurses . Para operações mais complexas, os programas podem usar chamadas de sistema ioctl específicas do terminal. Para um aplicativo, a maneira mais simples de usar um terminal é simplesmente escrever e ler sequências de texto de e para ele sequencialmente. O texto de saída é rolado, de modo que apenas as últimas linhas (normalmente 24) fiquem visíveis. Os sistemas Unix normalmente armazenam em buffer o texto de entrada até que a tecla Enter seja pressionada, para que o aplicativo receba uma string de texto pronta. Nesse modo, o aplicativo não precisa saber muito sobre o terminal. Para muitos aplicativos interativos, isso não é suficiente. Um dos aprimoramentos comuns é a edição de linha de comando (auxiliada por bibliotecas como readline ); também pode dar acesso ao histórico de comandos. Isso é muito útil para vários interpretadores de linha de comando interativos.

Interatividade ainda mais avançada é fornecida com aplicativos em tela cheia . Esses aplicativos controlam completamente o layout da tela; eles também respondem ao pressionamento de tecla imediatamente. Este modo é muito útil para editores de texto, gerenciadores de arquivos e navegadores da web . Além disso, esses programas controlam a cor e o brilho do texto na tela e o decoram com caracteres sublinhados, piscantes e especiais (por exemplo, caracteres de desenho de caixa ). Para conseguir tudo isso, o aplicativo deve lidar não apenas com strings de texto simples, mas também com caracteres de controle e sequências de escape, que permitem mover o cursor para uma posição arbitrária, limpar partes da tela, alterar cores e exibir caracteres especiais, além de respondendo às teclas de função. O grande problema aqui é que existem muitos terminais e emuladores de terminal diferentes, cada um com seu próprio conjunto de sequências de escape. Para superar isso, bibliotecas especiais (como curses ) foram criadas, juntamente com bancos de dados de descrição de terminal, como Termcap e Terminfo.

Terminais idiotas

Terminais burros são aqueles que podem interpretar um número limitado de códigos de controle (CR, LF, etc.), mas não têm a capacidade de processar sequências de escape especiais que executam funções como limpar uma linha, limpar a tela ou controlar a posição do cursor. Neste contexto, os terminais burros às vezes são apelidados de teletipos de vidro , pois eles têm essencialmente a mesma funcionalidade limitada de um teletipo mecânico. Esse tipo de terminal burro ainda é suportado em sistemas modernos do tipo Unix, definindo a variável de ambiente TERM como burro . Terminais inteligentes ou inteligentes são aqueles que também possuem a capacidade de processar sequências de escape, em particular as sequências de escape VT52, VT100 ou ANSI.

Terminais gráficos

Um terminal gráfico pode exibir imagens, bem como texto. Os terminais gráficos são divididos em terminais de modo vetorial e modo raster .

Uma exibição de modo vetorial desenha linhas diretamente na face de um tubo de raios catódicos sob controle do sistema de computador host. As linhas são formadas continuamente, mas como a velocidade da eletrônica é limitada, o número de linhas simultâneas que podem ser exibidas ao mesmo tempo é limitado. Displays em modo vetorial foram historicamente importantes, mas não são mais usados. Praticamente todas as exibições gráficas modernas são de modo raster, descendentes das técnicas de escaneamento de imagens usadas para televisão , nas quais os elementos visuais são uma matriz retangular de pixels . Uma vez que a imagem raster só é perceptível ao olho humano como um todo por um tempo muito curto, o raster deve ser atualizado muitas vezes por segundo para dar a aparência de uma exibição persistente. As demandas eletrônicas de atualização da memória do display fizeram com que os terminais gráficos fossem desenvolvidos muito mais tarde do que os terminais de texto e inicialmente custassem muito mais.

A maioria dos terminais hoje são gráficos; ou seja, eles podem mostrar imagens na tela. O termo moderno para terminal gráfico é " thin client ". Um thin client geralmente usa um protocolo como X11 para terminais Unix ou RDP para Microsoft Windows. A largura de banda necessária depende do protocolo usado, da resolução e da profundidade de cor .

Terminais gráficos modernos permitem a exibição de imagens em cores e de texto em vários tamanhos, cores e fontes (faces de tipos).

No início da década de 1990, um consórcio da indústria tentou definir um padrão, AlphaWindows , que permitiria que uma única tela CRT implementasse várias janelas, cada uma das quais deveria se comportar como um terminal distinto. Infelizmente, como o I2O , isso sofria por ser executado como um padrão fechado: os não membros não conseguiam obter informações mínimas e não havia uma maneira realista de uma pequena empresa ou desenvolvedor independente ingressar no consórcio.

Emulação

Um emulador de terminal é um software que emula um terminal de texto. No passado, antes do uso generalizado de redes locais e acesso à Internet de banda larga, muitos computadores usavam um programa de acesso serial para se comunicar com outros computadores via linha telefônica ou dispositivo serial.

Quando o primeiro Macintosh foi lançado, um programa chamado MacTerminal foi usado para se comunicar com muitos computadores, incluindo o IBM PC .

Dec Terminal foi um dos primeiros programas de terminal para o popular Altair .

O console Win32 no Windows não emula um terminal físico que suporte sequências de escape, então programas SSH e Telnet (para fazer login textualmente em computadores remotos) para Windows, incluindo o programa Telnet incluído em algumas versões do Windows, muitas vezes incorporam seu próprio código para processar sequências de fuga.

Os emuladores de terminal na maioria dos sistemas semelhantes ao Unix - como, por exemplo, gnome-terminal , qterminal, xterm e Terminal.app - emulam terminais físicos, incluindo suporte para sequências de escape; por exemplo, o xterm pode emular os terminais de hardware VT220 e Tektronix 4010 .

Modos

Os terminais podem operar em vários modos, relacionados ao envio de entradas digitadas pelo usuário no teclado para o sistema receptor (seja ele qual for):

  • Modo de caractere (também conhecido como modo de caractere por vez): Nesse modo, a entrada digitada não é armazenada em buffer e é enviada imediatamente ao sistema receptor.
  • Modo de linha (também conhecido como modo de linha por vez): neste modo, o terminal é armazenado em buffer, fornece uma função de edição de linha local e envia uma linha de entrada inteira, após ter sido editada localmente, quando o usuário pressiona um, por exemplo, ↵ Enter, EOB, chave. Um chamado "terminal de modo de linha" opera exclusivamente neste modo.
  • Modo de bloco (também conhecido como modo de tela por vez): neste modo (também chamado de orientado a bloco ), o terminal é armazenado em buffer e fornece uma função de dados de tela cheia local. O usuário pode inserir entrada em vários campos em um formulário na tela (definido para o terminal pelo sistema receptor), movendo o cursor pela tela usando teclas como e as teclas de seta e executando funções de edição localmente usando Tab ↹, , e insertassim deletepor ← Backspacediante . O terminal envia apenas o formulário preenchido, composto por todos os dados inseridos na tela, para o sistema receptor quando o usuário pressiona uma ↵ Entertecla.

Há uma distinção entre as teclas returne as ↵ Enter. Em alguns terminais de modo múltiplo, que podem alternar entre os modos, pressionar a ↵ Entertecla quando não estiver no modo de bloco não faz a mesma coisa que pressionar a returntecla. Enquanto a returntecla fará com que uma linha de entrada seja enviada para o host no modo linha por vez, a ↵ Entertecla fará com que o terminal transmita o conteúdo da linha de caracteres onde o cursor está posicionado atualmente para o host, host -prompts emitidos e tudo. Alguns terminais de modo de bloco têm ↵ Enterteclas de movimento de cursor local e an, como Returne New Line.

Diferentes sistemas operacionais de computador requerem diferentes graus de suporte de modo quando os terminais são usados ​​como terminais de computador. A interface do terminal POSIX , conforme fornecida pelos sistemas operacionais compatíveis com Unix e POSIX, não acomoda terminais em modo de bloco e raramente requer que o próprio terminal esteja no modo linha por vez, pois o sistema operacional é necessário para fornecer o modo de entrada canônico , em que o driver do dispositivo de terminal no sistema operacional emula o eco local no terminal e executa funções de edição de linha na extremidade do host. Geralmente, e especialmente para que o sistema host possa suportar o modo de entrada não canônico , os terminais para sistemas compatíveis com POSIX estão sempre no modo caractere por vez. Por outro lado, os terminais IBM 3270 conectados a sistemas MVS sempre precisam estar no modo de bloco.

Terminal orientado a bloco

Um terminal orientado a bloco ou terminal em modo de bloco é um tipo de terminal de computador que se comunica com seu host em blocos de dados, em oposição a um terminal orientado a caractere que se comunica com seu host um caractere por vez. Um terminal orientado a bloco pode ser orientado a cartão, orientado a exibição, teclado-display, teclado-impressora, impressora ou alguma combinação.

Mostrar

O IBM 3270 é talvez a implementação mais familiar de um terminal de exibição orientado a blocos, mas a maioria dos fabricantes de computadores mainframe e várias outras empresas os produziram. A descrição abaixo é em termos do 3270, mas considerações semelhantes se aplicam a outros tipos.

Os terminais orientados a blocos normalmente incorporam um buffer que armazena uma tela ou mais dados e também armazena atributos de dados, não apenas indicando a aparência (cor, brilho, piscando, etc.), mas também marcando os dados como sendo editáveis ​​pelo operador do terminal vs. .protegido contra entrada, permitindo a entrada apenas de informações numéricas versus permissão de quaisquer caracteres, etc. Em uma aplicação típica, o host envia ao terminal um painel pré-formatado contendo dados estáticos e campos nos quais os dados podem ser inseridos. O operador do terminal digita dados, como atualizações em uma entrada de banco de dados , nos campos apropriados. Quando a entrada é concluída (ou tecla ENTER ou PF pressionada no 3270s), um bloco de dados, geralmente apenas os dados inseridos pelo operador (dados modificados), é enviado ao host em uma transmissão. O buffer do terminal 3270 (no dispositivo) pode ser atualizado com base em um único caractere, se necessário, devido à existência de uma "ordem de endereço de buffer definido" (SBA), que geralmente precede qualquer dado a ser gravado/sobrescrito no buffer . Um buffer completo também pode ser lido ou substituído usando o READ BUFFERcomando ou WRITEcomando (não formatado ou formatado no caso do 3270).

Os terminais orientados a blocos causam menos carga do sistema no host e menos tráfego de rede do que os terminais orientados a caracteres. Eles também parecem mais responsivos ao usuário, especialmente em conexões lentas, já que a edição em um campo é feita localmente, em vez de depender do eco do sistema host.

Os primeiros terminais tinham recursos de edição limitados – os terminais 3270, por exemplo, só podiam verificar as entradas como números válidos. Os terminais "inteligentes" ou "inteligentes" subsequentes incorporaram microprocessadores e suportaram mais processamento local.

Os programadores de terminais orientados a blocos geralmente usam a técnica de armazenar informações de contexto para a transação em andamento na tela, possivelmente em um campo oculto, em vez de depender de um programa em execução para acompanhar o status. Este foi o precursor da técnica HTML de armazenar contexto na URL como dados a serem passados ​​como argumentos para um programa CGI .

Ao contrário de um terminal orientado a caracteres, onde digitar um caractere na última posição da tela geralmente faz com que o terminal role uma linha para baixo, inserir dados na última posição da tela em um terminal orientado a blocos geralmente faz com que o cursor se mova - mova para o início do primeiro campo editável. Os programadores podem "proteger" a última posição da tela para evitar quebra inadvertida. Da mesma forma, um campo protegido após um campo editável pode bloquear o teclado e soar um alarme sonoro se o operador tentar inserir mais dados no campo do que o permitido.

Terminais orientados a blocos comuns

Cópia impressa

entrada de trabalho remoto

Mostrar

Veja também

Notas

Referências

links externos