Firmware
In short: Firmware is software permanently built into a device that controls its hardware at a basic level. It lives in non-volatile memory (flash) and survives without power.
In more detail: Between bare hardware and an operating system, every device needs a program that takes the first steps. In a PC this is the BIOS/UEFI firmware on the motherboard. But hard drives, routers, printers, keyboards, network cards and smartphones also have their own firmware.
In Depth
- Tasks: Start and check hardware, address devices, load the operating system (boot process), offer simple settings.
- Storage: Formerly mask-programmed ROM, later EPROM/EEPROM, today mostly flash chips that can be rewritten by update.
- PC firmware: BIOS (old) and UEFI (modern). Here you set boot order, Secure Boot and hardware options.
- Firmware update (flashing): Fixes bugs and security holes, adds features or hardware support. It must never be interrupted by a power failure, otherwise the device may become unusable (“bricked”). Good motherboards therefore have a second backup image (dual BIOS).
- Firmware vs. driver vs. software: Firmware runs in the device itself. A driver runs in the operating system and mediates between system and device. Applications run on top.
- Security: Firmware runs very deep and is loaded before the operating system. Malicious code there is hard to detect (rootkits). Signatures, Secure Boot and regular updates help.
- Open alternatives: coreboot, OpenWrt (routers), Libreboot.
See also: BIOS, UEFI, Secure Boot, Drivers