Se conoce como firmware al conjunto de instrucciones de un programa informático que se encuentra registrado en una memoria ROM, flash o similar. Estas instrucciones fijan la lógica primaria que ejerce el control de los circuitos de alguna clase de artefacto.

Un término este, el que ahora nos ocupa, que parece ser tiene su origen en la década de los años 60. Más exactamente podemos exponer que se empleó por primera vez fue en el año 1967 en un artículo que Rudy Meléndez publicó en la revista Datamotion.

El firmware, cuyo nombre hace referencia a la programación en firme, forma parte del hardware ya que se encuentra integrado a la electrónica, pero también está considerado como parte del software al estar desarrollado bajo algún lenguaje de programación. Podría decirse que el firmware funciona como el nexo entre las instrucciones que llegan al dispositivo desde el exterior y sus diversas partes electrónicas.

En concreto podemos establecer que el firmware de cualquier dispositivo tecnológico lo que hace es cumplir básicamente tres claras funciones. En primer lugar, logra otorgar al sistema en cuestión las rutinas fundamentales de funcionamiento y respuesta con respecto a las peticiones usuales que recibe y debe satisfacer al usuario. En segundo lugar, queda claro que otra de las misiones que realiza es establecer una sencilla y cómoda interfaz para que, de esta manera, se pueda acometer rápida y fácilmente la configuración del sistema mediante el uso de una serie determinada de parámetros. Y finalmente, en tercer lugar, otra de las funciones más importantes que acomete todo firmware es controlar y gestionar tanto lo que es el arranque del sistema del dispositivo como la correspondiente iniciación.

Los microprocesadores, las impresoras, los monitores y los chips de memoria son algunos de los dispositivos que cuentan con firmware. Un ejemplo de firmware es el programa BIOS de la computadora, que comienza a funcionar apenas se enciende la máquina. Más exactamente podemos establecer que existen tres tipos de BIOS claramente diferenciados que se clasifican en base al método que se ha empleado para grabarlos: ROM.

Se graba en el momento en el que se crea el chip y su información ya no se puede modificar. PROM. Funciona de manera similar a las memorias de clase ROM pero sólo se puede escribir una única vez. EPROM. Funciona como las citadas ROM pero tiene la novedad de que permite borrarse y escribirse tantas veces como se estime oportuno. La arquitectura de una computadora está formada por distintas capas con diferentes niveles de abstracción.

El hardware es la base y luego aparece el firmware. Sobre él se suceden el ensamblador, el kernel, el sistema operativo y, al final, las aplicaciones.
Cabe destacar que el usuario, por lo general, cuenta con la posibilidad de actualizar el firmware de un dispositivo para solucionar errores o incrementar sus prestaciones. Estas actualizaciones, de todas formas, son riesgosas ya que si se produce algún fallo en el proceso, el dispositivo puede dejar de funcionar.

La actualización del firmware ofrece, de todos modos, varias ventajas: puede permitir, por ejemplo, que una grabadora de CD incremente su velocidad de 48x a 52x. Hackeando el firmware A veces una nueva o modificada versión no oficial de firmware es creada por terceros para proporcionar nuevas características o para abrir una funcionalidad oculta.

Los ejemplos incluyen Whited00r para iPhone e iPod Touch, Rockbox para los reproductores de audio digital, CHDK y Magic Lantern para las cámaras digitales de Canon, y OpenWrt para los enrutadores inalámbricos, el firmware de región libre para unidades de DVD, que no son de región libre con el firmware oficial, así como muchos proyectos de homebrew para las consolas de juego. Éstos pueden a menudo abrir funcionalidad computacional en dispositivos previamente limitados (ej., ejecutar Doom en iPods). La mayoría de los hacks de firmware son libres y también de código abierto.

Estos hacks usualmente utilizan la facilidad de actualización del firmware en muchos dispositivos para instalarse o ejecutarse en ellos. Algunos, sin embargo, deben recurrir a exploits para funcionar, porque el fabricante ha intentado bloquear el hardware para evitar que utilicen código no autorizado.
Compartir
Tutoriales En Linea

Mi nombre es Alexander fundador y CEO, y me gusta llamarme un Geek. Amo la informática, tecnología y todo lo que está relacionado con ella. Inicié este sitio con la intención de compartir conocimientos como cursos en línea, tutoriales y videotutoriales. Estoy muy entusiasmado con la información que he descubierto y compartido hasta el momento. La verdad es que lo he hecho con el mayor de los gustos. Así es, soy un Geek con una visión para compartir conocimiento. Leer mas...