Un controlador de dispositivo, llamado normalmente controlador es un
programa informtico que permite al sistema operativo interactuar con un perifrico, haciendo una abstraccin del hardware y proporcionando una interfaz (posiblemente estandarizada) para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cmo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podra usar el hardware. Existen tantos tipos de controladores como tipos de perifricos, y es comn encontrar ms de un controlador posible para el mismo dispositivo, cada uno ofreciendo un nivel distinto de funcionalidades. Por ejemplo, aparte de los oficiales (normalmente disponibles en la pgina web del fabricante), se pueden encontrar tambin los proporcionados por el sistema operativo, o tambin versiones no oficiales hechas por terceros.
Controladores universales
Los controladores universales incluyen la mayora del cdigo necesario
para los dispositivos de un determinado tipo de dispositivos (como impresoras y mdems) para que se comuniquen con los componentes apropiados del sistema operativo (como la impresora o los subsistemas de comunicaciones). Un mini controlador es un controlador pequeo y sencillo que contiene cualquier instruccin adicional necesaria para un dispositivo concreto. En muchos casos, sin embargo, el controlador universal para una categora de dispositivos determinada tambin incluye el cdigo necesario para que los dispositivos diseados para el estndar ms frecuente funcionen con esa categora. Por ejemplo, el controlador Unimodem funciona con todos los mdems compatibles con comandos AT.
COMO FUNCIONAN
El trabajo del controlador consiste en convertir el flujo de bits en serie en
un bloque de bytes y realizar cualquier correccin de errores que se necesite, ya declarado libre de errores, puede copiarse en la memoria central. Cada controlador tiene algunos registros que utiliza para establecer comunicacin con la unidad central de procesamiento. Y como en la figura de abajo muestra las direcciones de E/S y los vectores de interrupcion asigados a algunos de los controladores de la IBM PC.
El proceso que realizan es el siguiente:
1. El controlador lee del bloque de la unidad de serie 2. Calcula la suma de comprobacin para verificar que no hay errores de lectura 3. El controlador produce una interrupcin ( para que el sistema operativo pueda leer el bloque de discos del buffer del controlador; ejecute un ciclo, que es lo que le lleva leer un byte o palabra del registro de dispositivos del controlador y almacenarlo en memoria ) 4. Luego de descartar errores el controlador copia el primer byte o palabra en la memoria central en la direccin especifica por la direccin de memoria del DMA 5. Incrementa la direccin del DMA y determina el conteo DMA por el numero de bytes que acaba de transferir; todo se repite hasta que el conteo DMA se vuelve cero. DRIVERS Y EL SISTEMA OPERATIVO Permite al sistema operativo interactuar con un perifrico, haciendo una abstraccin del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cmo debe controlar y
comunicarse con un dispositivo en particular. Por tanto, es una pieza
esencial, sin la cual no se podra usar el hardware. El sistema operativo casi siempre trata con el controlador, no con el dispositivo. Casi todas las microcomputadoras y mini computadoras utilizan el modelo de un solo bus para establecer comunicacin entre la unidad central de procesamiento (CPU) y los controladores.