Cuál es la diferencia entre una actualización de software y una actualización de firmware?

Ya hay algunas respuestas razonables. Christopher Hall da una respuesta basada en un PC, que es razonable porque es donde la diferencia se encuentra más comúnmente. Gheorge Rider da una respuesta que se acerca, pero no es del todo correcta.

He estado creando firmware durante más de 30 años, así que pensé que sería mejor poner las cosas en claro.

Primero, algo de terminología:

El hardware se refiere a los trozos físicos de silicio, metal y material aislante que conforman los bits que puedes tocar en un dispositivo.

El software se refiere al conjunto de instrucciones de programa que se ejecutan en una CPU en el dispositivo. Puede estar almacenado en un soporte giratorio (un disco clásico), en silicio, en cinta o incluso en papel (antiguamente el software se creaba con tarjetas perforadas). Generalmente es fácil de cambiar.

El firmware se refiere a una clase especial de software que realiza una función específica. Suele ser un poco más complicado de cambiar que el software normal, ya que a menudo implica procedimientos especiales. El firmware se almacena normalmente en silicio (generalmente en la memoria FLASH hoy en día, pero he utilizado otros tipos de almacenamiento para el firmware en el pasado). Generalmente se utiliza para un dispositivo que hace una sola función, o una gama muy limitada de funciones. Christopher da un montón de buenos ejemplos de firmware que se encuentran comúnmente en un PC. Además de estos, tu monitor suele tener firmware incorporado. Su módem y/o router también tendrán firmware en ellos que a menudo puede ser actualizado.

Así que una actualización de software por lo general sólo implica la descarga de un trozo de código actualizado y ejecutarlo, o hacer clic derecho y seleccionar «Instalar». Una actualización de firmware en un PC implicará obtener un archivo binario y posiblemente ejecutar un trozo de código especial para cargar ese archivo binario. A veces, ese trozo de código ya está integrado en el firmware existente (esto es habitual en un módem o un router, donde suelen utilizar una interfaz web para hacerlo). Algunas actualizaciones de firmware – de hecho, la mayoría de las actualizaciones de firmware que he hecho en mi carrera – requieren un hardware especial (como una interfaz JTAG) y el software para conducirlo a conectarse con el firmware y descargar una actualización.

Definición de bono:

El wetware es lo que sucede entre el teclado y la silla.