Sistemas operativos modernos
Estructura de datos de terminal Estructura de datos de terminal Terminal Reserva central de búferes Terminal r Área de búfer para la terminal O Area de búfer para la terminal 1 (a) (b) Figura 5*35. a) Reserva central de búferes. b) Búfer dedicado para cada terminal. mínales nada se exhibe en forma automática cuando se pulsa una tecla. Corresponde por com pleto al software de la computadora mostrar el carácter, si lo desea. Este proceso se llama eco. El eco se complica por el hecho de que un programa podría estar escribiendo en la pantalla mientras el usuario teclea. Como mínimo, el controlador de teclado debe decidir dónde coloca rá las nuevas entradas de modo que las salidas del programa no las sobrescriban. El eco también se complica cuando hay que exhibir más de 80 caracteres en una pantalla con líneas de 80 caracteres (o algún otro número). Dependiendo de la aplicación, podría ser apropiado o no ajustar el texto a la siguiente línea. Algunos controladores simplemente trun can las líneas a 80 caracteres y desechan los que rebasen la columna 80. Otro problema es el manejo de tabulaciones. Por lo regular, el controlador debe calcular la posición actual del cursor, tomando en cuenta tanto las salidas de los programas como las de! eco, así como calcular e! número apropiado de espacios al que se hará eco. Ahora llegamos al problema de la equivalencia de dispositivos. Como es lógico, al final de una línea de texto debería haber tanto un retorno de carro, para desplazar el cursor de vuelta a la columna 1, como un salto de línea, para avanzar a la siguiente línea. Exigir a los usuarios que tecleen ambas cosas al final de cada línea no sería visto con buenos ojos (aunque algunas terminales fienen una tecla que genera ambos caracteres, con una probabilidad de 50% de que lo haga en el orden en que el software lo espera). Corresponde al controlador convertir todo lo que llega al formato interno estándar empleado por el sistema operativo. Si el formato estándar sólo almacena un salto de línea (la convención en UNIX), los retor nos de carro deberán convertirse en saltos de línea. Si el formato interno almacena ambos carac teres (la convención en Windows), el controlador deberá generar un salto de línea cuando reciba un retomo de carro, y un retomo de carro, cuando reciba un salto de línea. Sea cual sea la con vención interna, la terminal podría requerir que se haga eco tanto de un salto de línea como de un retomo de carro, para que la pantalla se actualice como es debido. Puesto que una computadora
RkJQdWJsaXNoZXIy MjI4NDcx