Esse conceito se aplica apenas aos drivers de terminal (que é o que a maioria dos sites cobrem) ou a qualquer driver em geral?
Os termos cru e cozido apenas se aplicam aos drivers do terminal. "Cozido" é chamado de canônico e "cru" é chamado de modo não canônico .
O driver do terminal é, por padrão, um sistema baseado em linha: os caracteres são armazenados em buffer internamente até um retorno de carro ( Enterou Return) antes de ser passado para o programa - isso é chamado de "cozido". Isto permite que certos caracteres a serem processados (ver stty(1)
), tais como Cntl-D, Cntl-S, Ctrl-U Backspace); edição de linhas essencialmente rudimentar. O motorista do terminal "cozinha" os caracteres antes de servi-los.
O terminal pode ser colocado no modo "bruto", onde os caracteres não são processados pelo driver do terminal, mas são enviados diretamente (pode ser definido que os caracteres INTR e QUIT ainda sejam processados). Isso permite que programas como emacs
e vi
usem a tela inteira com mais facilidade.
Você pode ler mais sobre isso na seção "Modo canônico" da página de termios(3)
manual.
Os termos são usados para descrever E / S de terminal e disco, mas significam coisas diferentes em cada contexto.
Os modos cru e cozido em um dispositivo terminal cobrem o processamento (caractere por vez vs. linha por vez, também existem algumas outras diferenças).
Um dispositivo de disco 'bruto' ( /dev/rdsk/*
) é um dispositivo de caractere e /dev/dsk/
é um dispositivo de bloco. IIRC, a principal diferença é que o dispositivo de bloco possui buffer do kernel e o controle refinado sobre os modos de E / S, como E / S direta / mapeada, pode ser especificado em um defeito bruto.
Uma descrição dos modos tty cru e cozido pode ser encontrada aqui. Pode encontrar aqui uma publicação sobre dispositivos de disco bruto vs dispositivos de disco cozidos .