Site hosted by Angelfire.com: Build your free website today!

Mecanismos y Funciones de los Manejadores Dispositivos (Device drivers)

 La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel: -La comunicación es mediante un flujo de bits en serie que: Comienza con un preámbulo. Sigue con una serie de bits. Concluye con una suma para verificación o un código corrector de errores.

 El preámbulo: Se escribe al dar formato al disco. Contiene el número de cilindro y sector, el tamaño de sector y otros datos similares. El controlador debe:

   Convertir el flujo de bits en serie en un bloque de bytes.

      Efectuar cualquier corrección de errores necesaria.

      Copiar el bloque en la memoria principal.

     Cada controlador posee registros que utiliza para comunicarse con la CPU:

   Pueden ser parte del espacio normal de direcciones de la memoria:   e/s mapeada a memoria.

      Pueden utilizar un espacio de direcciones especial para la   e/s, asignando a cada controlador una parte de él.

     El S. O. realiza la e/s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores. Al aceptar el comando, la CPU puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:

   Obtenga el control de la CPU.

      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.

 

 

 Registros de los controladores

 Hay tres registros importantes en casi todos los controladores: registro de datos, estado y control.

   Registro de datos: sirve para el intercambio de datos. En él   irá el controlador cargando los datos leídos y de él irá extrayendo   los datos para su escritura en el periférico.

      Registro de estado: Un bit del registro de estado sirve para   indicar que el controlador puede transferir una palabra.   En las operaciones de lectura esto significa que ha cargado   en el registro de datos un nuevo valor, mientras que en las de   escritura significa que necesita un nuevo dato. Otros bits   de este registro sirven para que el controlador indique los   problemas que ha encontrado en la ejecución de la última operación   de E/S.

      Registro de control sirve para indicarle al controlador las   operaciones que ha de realizar. Los distintos bits de este   registro indican distintas acciones que ha de realizar el   periférico. Para empezar una operación de E/S, la UCP tiene   que escribir sobre los registros anteriores los datos de la   operación a través de una dirección de E/S o de memoria asignada   únicamente al controlador.

     Funciones del controlador

 Atendiendo a las características del hardware de los dispositivos, se pueden observar los siguientes aspectos distintivos:

   Dirección de E/S. En general hay dos modelos de direccionamiento   de E/S, los que usan puertos y los que proyectan los registros   en memoria.

      Unidad de transferencia. Los dispositivos suelen usar unidades   de transferencia de tamaño fijo. Hay dos modelos clásicos   de dispositivos: de caracteres y de bloques.

      Interacción computadora-controlador. La computadora tiene   que interaccionar con la computadora para realizar las operaciones   de E/S y saber cuándo terminan.

     El controlador debe encargarse además de sincronizar la velocidad del procesador con la del periférico y de detectar los posibles errores que se produzcan en el acceso a los periféricos.

 Software de controlador

 La información entre los controladores de dispositivo y la unidad central de proceso o memoria principal se puede transferir mediante un programa que ejecuta continuamente y lee o escribe los datos del (al) controlador. Con esta técnica, que se denomina E/S programada, la transferencia de información entre un periférico y el procesador se realiza mediante la ejecución de una instrucción de E/S.