Las unidades de entrada y salida
constan por lo general de un componente mecánico y otro electrónico. El
componente electrónico se llama controlador de dispositivo de adaptador.
La tarjeta controladora tiene por
lo general un conector, en el que se puede conectar el cable que va al
dispositivo en sí. Muchos controladores pueden manejar dos, cuatro y hasta ocho
dispositivos idénticos. Si la interfaz entre el controlador y el dispositivo es
estándar, ya sea un estándar oficial, de tipo ANSI, IEEE o ISO, o bien un
estándar de hecho, entonces las compañías pueden fabricar controladores o
dispositivos que se ajusten a esa interfaz.
Mencionamos esa distinción entre
controlado y dispositivo por que el sistema operativo casi siempre trabaja con
el controlador y no con el dispositivo. Casi todas las micro y mini
computadoras utilizan el modelo de un bus para la comunicación entre la CPU y
los controladores. Los grandes mainframes utilizan con frecuencia otro modelo,
con varios buses y computadoras especializadas en Entrada y Salida llamadas
canales de entrada y salida que toman cierta carga de entrada y salida fuera de
la CPU principal.
La labor del controlador es
convertir el flujo de bits en serie en un bloque de bytes y llevar a cabo
cualquier corrección de errores necesaria. Lo común es que el bloque de bytes
ensamble, bit a bit, en un buffer dentro del controlador. Después a verificar
la suma y declarar al bloque libre de errores, se le puede copiar en la memoria
principal.
El controlador de una terminal
CRT también funciona como un dispositivo de bits en un nivel igual de bajo. Lee
bytes que contienen caracteres a exhibir en la memoria y genera las señales utilizadas
para modular la luz CRT para que esta se escriba en la pantalla. El controlador
también genera las señales para que la luz CRT vuelva a realizar un trazo
horizontal después de terminar una línea de rastreo, así como las señales para
que se vuelva a hacer un trazo vertical después de rastrear en toda la
pantalla. De no ser por el controlador CRT, el programador del sistema
operativo tendría que programar en forma explicita el rastreo análogo del tubo
de rayos catódicos. Con el controlador, el sistema operativo inicializa éste
con pocos parámetros, tales como el número de caracteres por línea y el número
de líneas en la pantalla, para dejar que el controlador se encargue de dirigir
en realidad el rayo de luz.
Cada controlador tiene unos
cuantos registros que se utiliza para la comunicación con la CPU. En ciertas
computadoras, estos registros son parte del espacio normal de direcciones de la
memoria.
El sistema operativo realiza la
entrada y salida al escribir comandos en los registros de los controladores.
Muchos de los comandos tienen parámetros, los cuales también se cargan de los
registros del controlador. Al aceptar un comando, la CPU puede dejar al
controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador
provoca la interrupción para permitir que el sistema operativo obtenga el
control de la CPU y verifique los resultados de la operación. La CPU obtiene
los resultados y el estado del dispositivo al leer uno o más bytes de
información de los registros del controlador.
No hay comentarios:
Publicar un comentario