Прошивка (firmware)
Коротко: Прошивка (firmware) — це програмне забезпечення, постійно вбудоване в пристрій і керує його обладнанням на базовому рівні. Воно зберігається в енергонезалежній пам’яті (флеш) і зберігається без живлення.
Докладніше: Між голим обладнанням і операційною системою будь-якому пристрою потрібна програма, що робить перші кроки. У ПК це прошивка BIOS/UEFI на материнській платі. Але жорсткі диски, маршрутизатори, принтери, клавіатури, мережеві карти й смартфони теж мають власну прошивку.
Подробиці
- Завдання: запускати й перевіряти обладнання, адресувати пристрої, завантажувати операційну систему (процес завантаження), пропонувати прості налаштування.
- Зберігання: раніше — ROM з масковим програмуванням, потім EPROM/EEPROM, сьогодні здебільшого флеш-чипи, які можна перезаписати оновленням.
- Прошивка ПК: BIOS (стара) і UEFI (сучасна). Тут налаштовуються порядок завантаження, Secure Boot і параметри обладнання.
- Оновлення прошивки (flashing): усуває помилки та вразливості, додає функції або підтримку обладнання. Його не можна переривати відключенням живлення, інакше пристрій може стати непридатним («окирпичитися»). Тому в хороших материнських плат є другий резервний образ (dual BIOS).
- Прошивка, драйвер і програма: прошивка працює в самому пристрої. Драйвер працює в операційній системі й посередничає між системою та пристроєм. Застосунки працюють поверх.
- Безпека: прошивка працює дуже глибоко й завантажується до операційної системи. Шкідливий код там важко виявити (руткіти). Допомагають підписи, Secure Boot і регулярні оновлення.
- Відкриті альтернативи: coreboot, OpenWrt (маршрутизатори), Libreboot.
Див. також: BIOS, UEFI, Secure Boot, Драйвери