Os dispositivos pty possuem dois buffers de entrada?

2

Quando os dispositivos terminais estão no modo cozido, a entrada de bytes no terminal é armazenada em cache e processada pelo kernel, alguns bytes são usados para edição de linha e "cosumed", fazendo com que read retorne uma linha por vez.

Mas para pty, Output para master fd pode ser lido como entrada do slave fd e vice-versa, então minha pergunta é:

Os dispositivos pty possuem dois buffers de entrada independentes, ao contrário de tty, um buffer por dispositivo tty?

    
por 神秘德里克 03.10.2018 / 11:10

1 resposta

3

Um pty se comporta como um tty normal. Um tty normal tem entrada (modo cru e cozido) e filas de saída.

Com um pty, a fila de saída tty é conectada à entrada mestre e a entrada tty é conectada à saída mestre. Portanto, não é que haja mais filas, é que você pode considerar a fila de saída tty como entrada do lado do mestre.

Adicionado

Um pty é um tty normal. A parte tty genérica lida com coisas como edição de linha, entrada de modo raw e cozido, controle de fluxo como Ctrl + S e assim por diante.

Cada tty tem um back-end que lida com entrada e saída reais. Isso pode ser um driver serial. Pode ser o driver que faz interface com um teclado e o VGA ou o buffer de quadros. Também pode ser um mestre de PTY. No caso de um pty, a saída tty é disponibilizada para o mestre ler e as gravações principais são colocadas na fila de entrada bruta.

    
por 03.10.2018 / 11:23