¿Cuál es la diferencia entre un controlador de dispositivo "crudo" y uno "cocinado"?


27

¿Este concepto solo se aplica a los controladores de terminal (que es lo que cubre la mayoría de los sitios) o a cualquier controlador en general?

Respuestas:


30

Los términos crudo y cocido solo se aplican a los controladores de terminal. "Cocido" se llama canónico y "crudo" se llama modo no canónico .

El controlador de terminal es, de manera predeterminada, un sistema basado en líneas: los caracteres se almacenan internamente hasta un retorno de carro ( Entero Return) antes de pasar al programa; esto se denomina "cocinado". Esto permite que ciertos caracteres para ser procesados (ver stty(1)), tales como Cntl-D, Cntl-S, Ctrl-U Backspace); edición de línea esencialmente rudimentaria. El conductor de la terminal "cocina" a los personajes antes de servirlos.

El terminal se puede colocar en modo "sin procesar" donde los caracteres no son procesados ​​por el controlador del terminal, sino que se envían directamente (se puede configurar que los caracteres INTR y QUIT aún se procesen). Esto permite que programas como emacsy viusen toda la pantalla más fácilmente.

Puede leer más sobre esto en la sección "Modo canónico" de la página de termios(3)manual.


11

Los términos se utilizan para describir E / S de terminal y disco, pero significan cosas diferentes en cada contexto.

Los modos crudo y cocido en un dispositivo terminal cubren el procesamiento (carácter a la vez frente a línea a la vez, también hay algunas otras diferencias).

Un dispositivo de disco 'en bruto' ( /dev/rdsk/*) es un dispositivo de caracteres y /dev/dsk/es un dispositivo de bloque. IIRC, la principal diferencia es que el dispositivo de bloque tiene almacenamiento intermedio en el núcleo, y el control de grano fino sobre los modos de E / S, como E / S directa / mapeada, se puede especificar en un defice sin procesar.

Una descripción de los modos tty crudos y cocidos se puede encontrar aquí. Aquí puede encontrar una publicación sobre dispositivos de disco sin procesar frente a cocidos .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.