Un
controlador
de dispositivo
(llamado normalmente controlador,
o, en inglés, driver)
es un programa informático que permite al sistema operativo
interactuar con un periférico, haciendo una abstracción del
hardware y proporcionando una interfaz -posiblemente estandarizada-
para usarlo.
Se puede
esquematizar como un manual de instrucciones que le indica cómo debe
controlar y comunicarse con un dispositivo en particular.
Por
tanto, es una pieza esencial, sin la cual no se podría usar el
hardware.
Tipos
de controladores
Existen
tantos tipos de controladores como tipos de periféricos, y es común
encontrar más 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
página web del fabricante), se pueden encontrar también los
proporcionados por el sistema operativo, o también versiones no
oficiales hechas por terceros.
Creación
de controladores
Normalmente
son los fabricantes del hardware quienes escriben sus controladores,
ya que conocen mejor el funcionamiento interno de cada aparato, pero
también se encuentran controladores
libres,
por ejemplo en los sistemas operativos libres.
En este
caso, los creadores no son de la empresa fabricante, aunque a veces
hay una cooperación con ellos, cosa que facilita el desarrollo.
Si no la
hay, el procedimiento necesita de ingeniería inversa y otros métodos
difíciles o con riesgos legales.
Fallos
de controladores
Al
ser una parte crítica del sistema operativo, el
fallo de un controlador puede ser más grave que otros errores de
software, pudiendo bloquear el ordenador o incluso dañar el
hardware.
Debido a
que el hardware es (necesariamente) indeterminista, encontrar y
solucionar un fallo en un controlador es una tarea complicada ya que
no sólo hay que monitorear el programa, sino también el propio
dispositivo.