Driver (controlador)

Un driver, también llamado controlador de dispositivo o simplemente controlador, es un software cuya función es controlar un determinado dispositivo que está conectado a una computadora. Un controlador proporciona una interfaz de software a los dispositivos de hardware, permitiendo que el sistema operativo y otros programas y aplicaciones accedan a funciones del hardware sin necesidad de conocer detalles precisos del hardware que se está utilizando. Los controladores dependen del hardware y del sistema operativo.

Driver (controlador)

Qué son los drivers

Un driver, también conocido como controlador, es un programa informático o software, que hace posible la interacción entre el sistema operativo de un ordenador y un dispositivo periférico. El controlador proporciona una interfaz que permite al usuario el uso de un periférico a través del ordenador. Un driver es un elemento esencial, sin el cual es imposible el uso de un determinado hardware.

El objetivo principal de los controladores de dispositivos es proporcionar una capa de abstracción actuando como un traductor entre un dispositivo de hardware y las aplicaciones o sistemas operativos que lo utilizan. Así, los programadores pueden escribir el código de aplicación de nivel superior independientemente del hardware específico que el usuario final esté usando.

El driver se comunica con el dispositivo a través del bus o subsistema de comunicaciones al que se conecta el hardware. Cuando un programa invoca una rutina del controlador, el controlador envía comandos al dispositivo. Una vez que el dispositivo envía datos de vuelta al controlador, el controlador puede invocar rutinas en el programa que realizó la petición inicial.

Respecto a los tipos de drivers, en la actualidad existe una gran variedad de drivers, existiendo al menos uno para cada periférico que se comercializa en el mercado. Cada hardware puede tener uno o varios drivers, cada uno con nivel distinto de funcionalidades, ya que además del que produce el propio fabricante del hardware, existen algunos desarrolladores que también los crean de forma independiente. Así mismo, algunos sistemas operativos instalan su propia versión del driver.

Por lo que se refiere a cómo instalar un driver, la instalación de un controlador suele ser bastante sencilla, ya que el mismo hardware lo suele instalar de forma automática en el ordenador una vez que se establece la conexión con éste. Sin embargo, en algunos casos se hace necesario la instalación de forma independiente del driver, a través de un CD (por lo general proporcionado por el fabricante del hardware) o descargándolo desde Internet. Los controladores suelen ir en un CD adjunto al dispositivo, o bien están disponibles para su descarga en la página del fabricante. Debe tenerse en cuenta que el driver tiene que ser compatible con el sistema operativo empleado en el ordenador.

Algunos sistemas operativos facilitan la instalación de los drivers, proporcionando programas que realizan búsquedas en la web, también existes programas independientes que realizan esta labor.

Los drivers son de vital importancia para el funcionamiento correcto de un hardware y del mismo ordenador. Un fallo en un driver hace imposible la interacción entre el hardware y el ordenador, y puede causar fallos en el sistema operativo e incluso causar daños en el mismo hardware. Es muy importante hacer una correcta instalación de los drivers, además de mantenerlos actualizados. En el caso de presentarse un fallo en un controlador, lo ideal es repararlo de manera inmediata, para evitar fallos mayores.

Programar un driver requiere un conocimiento profundo de cómo funciona el hardware y el software para una plataforma determinada. Debido a que los controladores requieren un acceso de bajo nivel a las funciones del hardware para operar, normalmente operan en un entorno altamente privilegiado, por lo que pueden causar problemas en el sistema si funcionan mal. En los sistemas operativos modernos, la mayoría del software de nivel de usuario puede dejar de funcionar sin afectar en gran medida al resto del sistema, sin embargo, incluso los drivers que se ejecutan en modo usuario pueden bloquear un sistema si el dispositivo está erróneamente programado.