Articulo de referencia

Disciplina de línea

Una disciplina de línea ( LDISC ) es una capa en el subsistema de terminal en sistemas tipo Unix desde la versión 7 Unix . [ 1 ] El subsistema de terminal consta de tres capas: ...

Una disciplina de línea ( LDISC ) es una capa en el subsistema de terminal en sistemas tipo Unix desde la versión 7 Unix . [ 1 ] El subsistema de terminal consta de tres capas: la capa superior para proporcionar la interfaz del dispositivo de caracteres , el controlador de hardware inferior para comunicarse con el hardware o pseudo terminal , y la disciplina de línea intermedia para implementar el comportamiento común a los dispositivos de terminal.

La disciplina de línea vincula el código del controlador de dispositivo de bajo nivel con las rutinas de interfaz genéricas de alto nivel (como read(2), write(2) e ioctl (2)), y es responsable de implementar la semántica asociada con el dispositivo. [ 2 ] La política está separada del controlador de dispositivo para que el mismo controlador de hardware serie pueda ser utilizado por dispositivos que requieren un manejo de datos diferente.

Por ejemplo, la disciplina de línea estándar procesa los datos que recibe del controlador de hardware y de las aplicaciones que escriben en el dispositivo según los requisitos de un terminal en un sistema tipo Unix. En la entrada, maneja caracteres especiales como el carácter de interrupción (normalmente Control-C ) y los caracteres de borrado y eliminación (normalmente retroceso o suprimir , y Control-U, respectivamente) y, en la salida, reemplaza todos los caracteres LF con una secuencia CR / LF .

También se podría usar un puerto serie para una conexión a Internet por línea telefónica mediante un módem serie y PPP . En este caso, se usaría una disciplina de línea PPP; esta acumularía los datos de entrada de la línea serie en paquetes de entrada PPP, entregándolos a la pila de red en lugar de al dispositivo de caracteres, y transmitiría los paquetes que la pila de red le entregara a través de la línea serie.

Algunos sistemas tipo Unix, como Solaris , utilizan STREAMS para implementar disciplinas de línea.

Referencias

  1. "El TTY desmitificado" .
  2. Manual de interfaces del kernel de FreeBSDtty(4)