¿Qué es "firmware" en la terminología de Linux?

Pregunta:

Me confunde el uso de firmware en el contexto de Linux.

Mi comprensión del firmware y el controlador es que el firmware es el código que se ejecuta en el metal desnudo de un dispositivo, como un IC Bluetooth, un controlador de teclado, una tarjeta de video o un microcontrolador de un solo propósito. El firmware expone una interfaz para que el sistema operativo utilice sus servicios.

En comparación, el controlador es el software que usa el kernel para comunicarse con las interfaces mencionadas anteriormente proporcionadas por el firmware. Por lo tanto, un controlador de video, un controlador de teclado, un controlador de radio bluetooth.

Entonces, ¿por qué sigo leyendo sobre los archivos de firmware de Linux que deben instalarse (por ejemplo, aquí )? ¿Se cargan estos en el hardware? ¿Estos archivos son usados ​​por el kernel? ¿Cuál es el significado de firmware en este contexto?

Respuesta:

En el contexto del kernel de Linux, el firmware es un software que se ejecuta en otro procesador del sistema, por ejemplo , un controlador inalámbrico, una GPU, un controlador SCSI … Este software solía almacenarse en ROM (de varios tipos) adjunto al controlador correspondiente , pero para reducir costos y simplificar las actualizaciones, los controladores ahora tienden a depender del sistema operativo del host para cargar el firmware por ellos.

Por lo tanto, el kernel no usa los archivos de firmware, sino que el kernel los carga en otras piezas de hardware. Esto es también lo que hace que sea vagamente aceptable tener software sin código fuente en los sistemas FLOSS: el argumento es que no se está ejecutando en la CPU principal sino en otro dispositivo.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım