Sistemas operativos modernos
Hay ocasiones en que los caracteres ERASE o KILL deben introducirse como datos ordina rios. El carácter LNEXT sirve como carácter de escape. En UNIX, CTRL-V es la combinación predeterminada. Por ejemplo, muchos sistemas UNIX utilizaban el signo @ para representar KILL, pero el sistema de correo de Internet emplea direcciones de la forma claudia@udg.mx. Alguien que se sienta más cómodo con las convenciones antiguas podna redefínir KILL como pero entonces tendría que introducir un signo @ en forma literal para escribir una direc ción de coneo electrónico. Esto puede hacerse tecleando CTRL-V @. La secuencia CTRL-V en sí puede introducirse literalmente tecleando CTRL-V CTRL-V. Después de detectar un CTRL-V, el controlador establece un indicador para señalar que el carácter que sigue no debe recibir el procesamiento especial. El carácter LNEXT mismo no se coloca en la cola de carac teres. Para que los usuarios puedan detener una pantalla que se está desplazando en forma veni- cal antes de que desaparezca lo que desean ver, se proporcionan códigos de control que conge lan ia pantalla y luego la descongelan. En UNIX los códigos son STOP (CTRL-S) y START (CTRL-Q), respectivamente. Éstos no se almacenan; sólo se usan para establecer y borrar un indicador en la estructura de datos de la terminal. Cada vez que se intenta producir una salida, se examina el indicador Si está establecido, no se produce la salida. Por lo regular, también se suprime el eco junto con la salida del programa. A menudo es necesario eliminar un programa desbocado que se está depurando. Pueden usarse los caracteres INTR (DEL) y QUÍT (CTRLA) para este fin. En UNIX, DEL envía la señal SIGINT a todos los procesos iniciados desde la terminal. La implementación de DEL puede ser complicada. La pane difícil es lograr que ia información del controlador llegue a la pane del sistema que maneja las señales, pues ésta no ha solicitado tal información. CTRL-\ es similar a DEL, excepto que envía una señal SIGQUIT, la cual hace que se genere un vaciado de memo ria si no se atrapa o se pasa por alto. Cuando se oprime cualquiera de estas teclas, el controlador deberá hacer eco de un retomo de cano y un sallo de línea y desechar todas las entradas acu muladas para comenzar de nuevo. El valor predeterminado para INTR suele ser CTRL-C en lu gar de DEL, pues muchos programas utilizan DEL igual que el retroceso para labores de edición. Otro carácter especial es EOF (CTRL-D), que en UNIX hace que las solicitudes de lectu ra pendientes para la terminal se satisfagan con lo que contenga el búfer, aunque esté vacío. Si se teclea CTRL-D al principio de una línea, el programa obtiene una lectura de Obytes, que por convención se interpreta como fín de archivo y hace que la mayoría de los programas ac túen como si hubieran detectado un fin de archivo en un archivo de entrada. Algunos controladores de terminal permiten hacer ediciones dentro de una línea, mucho más complicadas de lo que hemos bosquejado aquí. Hay caracteres de control especiales para borrar una palabra, saltar caracteres o palabras hacia atrás o hacia adelante, saltar al principio o al final de la línea que se está tecleando, inseriar texto en medio de una línea, etc. La adición de todas estas funciones al controlador de la terminal aumenta mucho su tamaño y, además, es un desperdicio cuando se usan editores de pantalla elegantes que de todas formas trabajan en modo crudo.
RkJQdWJsaXNoZXIy MjI4NDcx