¿Qué significa "en entrada" y "en salida" en opciones como ICRNL y OCRNL?

¿Qué significa "en entrada" y "en salida" en opciones como ICRNL y OCRNL?

La documentación termiosdice algo como esto:

ICRNL

Traducir el retorno de carro a nueva línea al ingresar (a menos que esté configurado IGNCR).

OCRNL

Asigne CR a NL en la salida.

Pero, ¿qué significan exactamente "en la entrada" y "en la salida"? Esto es lo que creo:

  • "en entrada" significa cuando el terminal envía algo al dispositivo tty.
  • "en salida" significa cuando bash(o cualquier otro proceso) envía algo al dispositivo tty.

¿Estoy en lo correcto?

Respuesta1

Debe pensar en ello en términos de un "terminal tonto" (como un vt100) conectado a un puerto serie de la computadora y mirarlo desde la perspectiva de la computadora.

Entonces, "entrada" a la computadora es cuando el terminal envía datos a la computadora; por ejemplo, cuando escribe en el teclado.

De manera similar, la "salida" es cuando la computadora envía cosas a la terminal; por ejemplo, cuando imprime algo en la pantalla.

Con una configuración más moderna (por ejemplo, una consola Linux) seguimos teniendo los mismos conceptos; "entrada" son cosas escritas en el teclado, "salida" son cosas que se muestran en la pantalla.

Esto coincide con las convenciones estándar de "stdin" y "stdout".

Respuesta2

Eso es correcto, en la medida en quetérminosva, ya que sólo se ocupa de la comunicación entre el terminal (un dispositivo para mostrar caracteres combinado con un dispositivo para ingresar caracteres) y la computadora host.

Eso"en"Puede parecer incómodo, pero es sólo una forma breve de decir "en el proceso de realizar entradas" o "en el proceso de realizar salidas".

información relacionada