Controladores de hardware o “Drivers” ¿Qué son y por qué son importantes para nuestra computadora?

banner drivers

El desarrollo de las computadoras está sujeto al avance de la electrónica y de tecnologías que cada día es más acelerado y diverso. Han existido muchos fabricantes de computadoras y cada uno hacia los componentes físicos (Hardware) de una manera distinta. En los inicios de la informática era complicado usar varios componentes de hardware porque muchas veces no eran compatibles física o lógicamente. Las incompatibilidades se debían a conectores distintos, su forma de funcionar no era la misma y no existía una manera común de usarlos. Cada uno de estos componentes necesitan de controladores de hardware para poderlos utilizar.

Principales fabricantes de componentes y enlaces a sus sitios oficiales

Enlace de una lista detallada de fabricantes de hardware por componentes (Anexo de Wikipedia)

Un paso importantísimo en el desarrollo de la informática fue la aparición de la IBM PC con una arquitectura abierta, que proponía un estándar abierto en el desarrollo de las computadoras. Muchos fabricantes de hardware podían seguirlo y desarrollar componentes distintos que a su vez fueran compatibles entre sí. Aunque había mejores soluciones de hardware, la IBM PC revolucionó toda la industria por la facilidad con la que se podían adquirir los componentes y crear ordenadores personales asequibles al público en general. Con el pasar del tiempo muchos fabricantes de los que hoy conocemos adoptaron esos estándares de hardware y posibilitaron el desarrollo vertiginoso de las computadoras que conocemos hoy.

Pero para usar una computadora no basta con solo hardware, se necesita software, que es la parte de control lógico. Ese software debe ser capaz de gestionar todo el componente físico del PC (hardware) y realizar muchas funciones de soporte para todo. Este software especial se le llama Sistema Operativo y desde el mismo desarrollo de las primeras computadoras han evolucionado y surgido muchos de los que conocemos hoy. Por citar algunos : Unix, FreeBSD, Microsoft Windows, GNU Linux, MacOS, Android, IOS entre muchos otros.

Los sistemas operativos proporcionan una simplificación para el manejo de los recursos físicos de un computador. Para esto el sistema operativo necesita saber al detalle cómo hacer funcionar de manera correcta cada componente físico del computador. A pesar de que se han estandarizado mucho las especificaciones de los componentes de hardware, el mismo desarrollo de los equipos de cómputo en muchas ocasiones se sale de esa estandarización.

Es imposible que un sistema operativo sea capaz de controlar al detalle todos los dispositivos físicos de cualquier computador, debido a la gran cantidad de fabricantes distintos. Se ideó una solución para esto que consiste en agregar complementos de software adicional al sistema operativo para que pueda manejar los nuevos dispositivos que se desarrollen y todas sus funciones. A estos complementos de software se les llamó “controladores de hardware” o drivers por su nombre en inglés. A continuación veremos una definición un poco más formal.


¿Qué es un controlador de hardware (Driver)?

Un controlador de hardware es un software hecho a la medida y específicamente para usar un dispositivo de hardware o una clase de dispositivos; es el intermedio entre el sistema operativo y un dispositivo físico. Su objetivo es hacer abstracción del hardware y proporcionar una interfaz común para poder usar el dispositivo. Sin un driver un componente de hardware no se puede utilizar.

Controlador de hardware, intermediario entre el Sistema operativo y el componente electrónico

Importancia de los controladores de hardware

Un paso importante después de instalar un sistema operativo en una computadora es la instalación de los controladores (Drivers) los cuales generalmente vienen en un CD o DVD que proporciona el fabricante de la computadora o del dispositivo físico en cuestión.

CD de Drivers(Controladores de hardware)
Fotos de CD de Drivers de diferentes fabricantes

En algunos casos el sistema operativo es capaz de poner muchos de los drivers que se necesitan durante el proceso de instalación, pero en otros casos no. Un ejemplo de esto es cuando tenemos componentes de hardware que salieron al mercado mucho tiempo después que el sistema operativo que estamos instalando. Estos componentes pueden ser: tarjetas de video, tarjetas de sonido, dispositivos incluidos en la propia placa base (Motherboard), tarjetas de red, escáneres, impresoras, unidades de discos (HD, SSD), cámaras, dispositivos adaptadores USB, etc.

Existen clases de controladores y en casos de no contar con el específico, el sistema operativo en cuestión puede usar drivers genéricos. Estos nos permitirán usar el dispositivo a medias. Por ejemplo, supongamos que tenemos un teclado multimedia como el que se muestra en la imagen a continuación.

Foto de teclado multimedia
(teclado que posee teclas con funciones especiales orientadas a la multimedia y más, las cuales se salen de las funciones estándares de un teclado común)

Una vez que instalamos el sistema operativo este detecta que hay un teclado y como no trae el controlador de dispositivo (driver) exacto para este teclado, el sistema operativo instala uno genérico. En este caso tendríamos el problema de que el teclado funcionará a medias. Funcionarán las teclas estándares (las comunes en todos los teclados), pero las funciones especiales de este teclado multimedia no estarán disponibles. Por lo tanto debemos buscar el driver específico de nuestro teclado e instalarlo para que el dispositivo funcione al 100 %. Lo mismo ilustrado en el ejemplo anterior puede ocurrir con casi todos los componentes de hardware de nuestros ordenadores.

Hay que tener en cuenta que los controladores de hardware (drivers) son software desarrollado por el fabricante y en muchas ocasiones este solo provee el controlador para algún sistema operativo en específico y no liberan el código fuente del mismo. En esos casos los usuarios de otros sistemas operativos no pueden usar este componente de hardware o tienen que recurrir a drivers desarrollados por terceros que los hacen a partir de procesos de ingeniería inversa y no siempre se obtiene todo el funcionamiento correcto de estos dispositivos. Este es el caso de sistemas operativos como las distribuciones de GNU Linux.

La mayoría de los fabricantes de hardware solo producían drivers para Microsoft Windows por ser el sistema operativo más usado a nivel mundial. Esta es una tendencia que poco a poco se está dejando de seguir y los fabricantes están haciendo drivers para varios sistemas operativos (Microsoft Windows, GNU Linux, MacOS, Android, IOS) e incluso liberando los códigos fuentes de los mismos.

Una solución que puedes usar cuando no dispones de los drivers de tu computadora y no encuentras en ningún lugar los requeridos puede ser usar algún software de paquete de drivers. Dentro de los más conocidos tenemos a Driver Pack Solutions y aquí te dejamos el enlace a su sitio oficial https://driverpack.io/es.

Importante: Siempre es más recomendado usar los drivers originales del dispositivo (Los que provee el fabricante).

En sistemas operativos como GNU Linux los drivers son incorporados directamente en el kernel del sistema. Además se pueden agregar otros a través de la carga dinámica de módulos del kernel.

En Microsoft Windows podemos ver el árbol de dispositivo de hardware que maneja el sistema operativo, accediendo al menú del clic secundario sobre el icono de Equipo(Mi PC, Equipo, Este equipo) y escogiendo la opción Administrar. El sistema muestra una ventana en la que escogemos en el panel izquierdo “Administrador de dispositivos“. En el panel central aparecerá el árbol de clases de dispositivos. Podemos desplegar cualquiera de estas clases y ver los dispositivos de hardware instalado que el sistema es capaz de manejar.

Ventana Administración de equipos de Microsoft Windows
Árbol de dispositivos de hardware manejados por el sistema

Desplegando una rama y haciendo clic secundario sobre algún elemento es posible acceder al menú de opciones generales sobre los dispositivos como se muestra en la imagen a continuación.

Menú de un controlador de dispositivo (driver)

Si accedemos a la opción “Propiedades” nos aparecerá una ventana con todos los detalles acerca del dispositivo en cuestión en la cual podemos ver además detalles del controlador que está usando en la pestaña “controlador”

Ventana de un controlador de hardware en Microsoft Windows

Existen numerosas aplicaciones que permiten hacer una copia de respaldo de los drivers que está usando actualmente el sistema. Esta opción es de vital importancia para así no perderlos y en caso de reinstalar el sistema poder restaurarlos.

Herramientas para hacer respaldo de los controladores de hardware

Llegado a este punto ya debes tener una idea más acertada acerca de los controladores de hardware, “drivers” y debes comprender la importancia de que tu computadora tenga los controladores requeridos y siempre actualizados.

Ir al contenido