Firmware is software that is stored permanently inside a hardware device to make that device work. It is the lowest-level software on a computer.
Firmware sits between hardware and the operating system. Key facts:
- Stored in ROM (or a similar non-volatile chip) so it survives a power-off.
- Loaded before the operating system, the moment the computer is switched on.
- The most famous firmware is the BIOS (Basic Input/Output System), or its modern replacement UEFI, which runs the bootstrap that finds and loads the operating system from secondary storage.
- Other firmware lives inside printers, routers, hard drives, washing machines and many other devices.
- Firmware can sometimes be updated (a "firmware update"), but unlike apps it does not change every day.
Hardware → firmware → OS → application: the communication chain
A click in a word processor travels through several layers:
- The user clicks a button in a word processor (application software).
- The word processor asks the operating system to print the document.
- The OS uses the device driver for the printer to format the request.
- The driver speaks to the firmware in the printer, which controls the printer's mechanics.
- The hardware in the printer puts ink on paper.
Information flows back the other way too: when the printer finishes (or runs out of paper), the firmware sends an interrupt up the chain so the OS, then the application, then the user can be told.