No
importa el sistema operativo que utilicemos, siempre tendremos la necesidad de
categorizar el software, los controladores (drivers) y el firmware. Ahora bien,
¿Cuál es la diferencia entre estos 3 términos que suelen estar ligados entre sí?
Este
artículo tiene el propósito de explicar la diferencia entre software, driver y firmware.
¡Iniciemos!
El firmware
Es
posible que tengas la última versión de tu sistema operativo. Este puede ser
visualmente atractivo. Sin embargo, el sistema operativo es inútil sino cuentas
con una máquina que soporte dicho sistema operativo.
El
firmware es un programa informático que
ayuda al sistema operativo a realizar su labor. El firmware lo encontramos en muchos
dispositivos, incluyendo ordenadores, dispositivos móviles, controles remotos,
consolas de juegos, unidades USB y varios sistemas embebidos. Está presente en
un chip de memoria no volátil y rara vez requiere una actualización.
El
firmware está diseñado para controlar el hardware de un dispositivo. En el caso de una computadora lo llamamos BIOS (Basic
Input Output System) o UEFI (Unified Extensible Firmware Interface). La BIOS es
la primera cosa que vemos cuando se enciende la PC. Puede interactuar con el
hardware y comprobar que no existen errores. La BIOS llama a otro programa
llamado gestor de arranque, quien realizar el trabajo de despertar al sistema operativo para que este funcione.
Controlador – Driver
¿Qué
hace un conductor? Conduce un coche, una moto o un camión. Similar es el caso del
driver de un dispositivo, este está diseñado para funcionar en computadoras y
otros dispositivos. Su tarea es conducir el hardware que es para lo que está
diseñado, es decir, actúa como mediador entre el hardware y el sistema operativo.
Un
sistema operativo no viene con soporte para todo el hardware presente en la
máquina. Se puede tomar el ejemplo de la tarjeta gráfica instalada en tu computadora.
Existen diferentes compañías de fabricación de estos productos y es por eso que
el sistema operativo necesita de equipos a la medida – diseñada por los propios
fabricantes de hardware – para acceder a estos componentes de hardware.
Cada
controlador tiene la intención de trabajar para uno o un grupo de dispositivos.
En la computadora, el controlador utiliza varias interfaces de buses para
comunicarse con el dispositivo. Por ejemplo, la PCI Express. Se utiliza para
conectar los componentes de hardware como GPU, adaptadores inalámbricos y
tarjetas de audio. Además, no todos los drivers están diseñado para interactuar
con el usuario. Muchos hacen su trabajo en el anonimato.
El
desarrollo de los drivers requiere de mucho cuidado, ya que trata directamente
con el hardware. Si hay algo que puede confundir el controlador de dispositivo,
esto puede conducir a un fallo del sistema. Es por eso que se necesita una
persona calificada para escribir el software del controlador para un
dispositivo.
En
posteriores versiones de Windows 8, Microsoft ha tratado de reducir la
dependencia de los drivers. Ellos preinstalan los controladores de dispositivos
universales que pueden trabajar para varios dispositivos similares.
Software
Cualquier
cosa etiquetada como software no existe físicamente, a diferencia del
hardware. El pionero británico de la informática Alan Turing fue la persona que
acuñó el término software.
El
sistema operativo que se está ejecutando en este momento es también un software
y proporciona un espacio de trabajo para otro software instalado en el sistema
operativo. Incluso el controlador de dispositivo que he mencionado antes es
también un tipo de software. Este tipo de software es conocido como software
del sistema. Esto es vital para el funcionamiento del sistema. Hay que
mencionar que el malware es un grupo independiente de software con sus subdivisiones,
entre estos los virus, troyanos, gusanos, etc.
Un
punto digno de mención es que el software es un término amplio. Las cosas a las
que nos referimos como software en el uso diario se llaman software de aplicación.
Esta categoría abarca desde antivirus, procesadores de textos, navegador web
hasta software multimedia, entre otros. En pocas palabras, estos están
diseñados para realizar alguna aplicación en el equipo.