Qual é o objetivo de Ctrl-S?

Qual é o objetivo de Ctrl-S?

Ctrl+ Sinterrompe toda a saída para o terminal que pode ser reiniciado com Ctrl+ Q.

Mas, em primeiro lugar, por que Ctrl+ existe? SQue problema estava tentando ser resolvido com a implementação dessa sequência de controle?

Responder1

Muito antes de existirem computadores, já existiamteleimpressoras(também conhecidos como teletipos, também conhecidos como teletipos). Pense neles aproximadamente como a mesma tecnologia de um telégrafo, mas com algum tipo de teclado e algum tipo de impressora conectado a eles.

Como os teletipos já existiam quando os computadores foram construídos e como os computadores da época eram do tamanho de uma sala, os teletipos tornaram-se uma interface de usuário conveniente para os primeiros computadores - digite um comando, aperte o botão enviar, espere um pouco e o a saída do comando é impressa em uma folha de papel à sua frente.

Controle de fluxo de softwareoriginou-se nessa época - se a impressora não pudesse imprimir tão rápido quanto o teletipo estava recebendo dados, por exemplo, o teletipo poderia enviar um comando de controle de fluxo XOFF ( Ctrl+ S) para o lado remoto dizendo "Pare de transmitir por enquanto", e então poderia enviar o comando de controle de fluxo XON ( Ctrl+ Q) para o lado remoto dizendo "Já consegui, continue".

E esse uso sobrevive no Unix porque os emuladores de terminal modernos estão emulando terminais físicos (como ovt100) que estavam (de certa forma) emulando teletipos.

Responder2

É um caractere de controle da época dos terminais VT100 e similares. Havia capacidade de rolagem limitada (se houver) nesses terminais, para começar, o CTRL-S permitia congelar a saída para visualizar o que está atualmente na tela sem que ela fosse cancelada.

Quase tudo o que você vê nos terminais modernos foi implementado para emular os sistemas de terminais mais antigos.

Responder3

Aliás, se você estiver listando uma saída longa na tela, é provável que você não leia necessariamente tão rápido quanto o computador que cospe a saída. Usar CTRL-S/CTRL-Q em um gato (ou cauda ativa) é MUITO útil para parar e retomar a saída.

Responder4

Em teletipos antigos com leitor de fita de papel, o recebimento de um controle-Q ligaria o leitor de fita de papel e começaria a enviar caracteres da fita como se tivessem sido digitados no teclado. Control-S desligaria o leitor de fita de papel. Se considerarmos que os teletipos foram originalmente concebidos não para imprimir dados de computadores, mas sim de outros teletipos, deveria ficar bastante claro como "desligar o leitor de fita de papel" poderia ser interpretado como análogo a "solicitar à outra extremidade que pare de transmitir".

Aliás, control-R ativaria a perfuração da fita de papel, de modo que cada caractere recebido pelo teletipo (ou, se o eco local estivesse habilitado, digitado no teclado) também seria perfurado na fita de papel; control-T desligaria o perfurador de fita de papel. Ao contrário das operações associadas ao controle-S e ao controle-Q, entretanto, essas operações parecem não ter equivalente moderno.

Além disso, os nomes originais para control-Q/R/S/T eram DC1/DC2/DC3/DC4 ("Device Control 1", etc.). Embora eu não tenha certeza da história, tal nomenclatura sugere que originalmente eles pretendiam desencadear algum tipo de ação não especificada, mas a coisa mais comum que as pessoas faziam com o DC1 e o DC3 era controlar o leitor de fita de papel.

informação relacionada