Фърмуер: определение, функции и роля във вградените устройства

В областта на компютрите фърмуерът е компютърна програма, която е "вградена" в хардуерно устройство и е съществена част от него. Понякога се нарича вграден софтуер. Пример за това е микроконтролер - част от микропроцесор, която указва на микропроцесора какви действия да предприеме. Той може да бъде и по-голяма програма, съхранена във флаш паметта, или качена на съществуващ хардуер от потребителя.

Както подсказва името му, фърмуерът е нещо средно между хардуера и софтуера, като свързва двата свята. Той може да означава различни неща за различните хора, особено когато самостоятелните електронни устройства стават все по-подобни на компютри. Подобно на софтуера, той представлява компютърна програма, която се изпълнява от микропроцесор. Но той също така е свързан с част от хардуера и няма значение без него.

Какво е фърмуерът в практиката

Фърмуерът е набор от инструкции и данни, които контролират поведението на хардуерното устройство. Той може да управлява ниско ниво операции (запалване/изключване на периферия, четене/запис към сензори или памет) или по-високо ниво функции (мрежова свързаност, файлови системи, потребителски интерфейс). В практиката фърмуерът често е написан специално за конкретна хардуерна платформа и е оптимизиран за малки ресурси: ограничена памет и процесорна мощ.

Къде и как се съхранява фърмуерът

Фърмуерът обикновено се съхранява в постоянна памет на устройството, например:

  • ROM (Read-Only Memory) — неизменяема или трудна за изменяне памет;
  • EEPROM или Flash памет — позволяващa актуализации;
  • вградена памет в микроконтролери или специални чипове (например контролери на дискове, мрежови процесори и т.н.).

Някои устройства имат малък бутлоудър (bootloader), който стартира първи и зарежда основния фърмуер; това улеснява възстановяване при неуспешна актуализация.

Основни функции на фърмуера

  • Инициализация на хардуера при стартиране (настройва часовници, портове, памет и др.).
  • Управление на периферни устройства и комуникационни интерфейси.
  • Осигуряване на абстракция между хардуер и високониво софтуер/операционни системи.
  • Безопасност и контрол на достъпа (например криптографски операции, проверка на подпис при зареждане).
  • Обработка на входно-изходни събития и реално-временни задачи вградени системи.

Актуализации, сигурност и рискове

Актуализирането на фърмуера (firmware update) е начин да се поправят грешки, да се добавят функции или да се затворят уязвимости. Актуализациите могат да се правят чрез USB, специализиран софтуер на компютър, локална мрежа или по въздуха (OTA — over-the-air).

Важно е да се знае, че неподходяща или прекъсната актуализация може да "брикне" (да направи устройството неизползваемо). За това производителите внедряват механизми като:

  • двойни области за фърмуер (A/B) за безопасно превключване и rollback;
  • проверка на цифров подпис (signed firmware) и Secure Boot за предотвратяване на злонамерен код;
  • възможности за възстановяване чрез бутлоудър или специални интерфейси.

Примери и приложения

Фърмуерът присъства в много устройства:

  • компютърни BIOS/UEFI — осигуряват стартиране и първоначална конфигурация на хардуера;
  • рутери и мрежово оборудване — обработват пакети, маршрутизация и сигурност;
  • твърди дискове и SSD — управляват четене/запис и вътрешни алгоритми;
  • принтери, камери, телевизори, смарт устройства и битова техника — всички имат фърмуер за контрол на функциите;
  • автомобилни ECU (Electronic Control Units) — контролират двигателя, спирачките, инфотейнмънта и др.

Разлика между фърмуер, драйвери и приложения

Често се бърка ролята на фърмуера и друг софтуер:

  • Фърмуер — изпълнява се на същото устройство/чип и е тясно свързан с хардуера; обикновено е постоянен и е наличен дори без операционна система.
  • Драйвери — софтуерни компоненти в операционната система, които комуникират с фърмуера/хардуера и предоставят интерфейс към приложенията.
  • Приложения — високониво софтуер, който използва услуги, предоставени от операционната система и драйверите.

Добри практики

  • Ползвайте официални актуализации от производителя и следвайте инструкциите при ъпдейт.
  • Проверявайте подписите и източника на фърмуера, особено при мрежово устройство или IoT.
  • Пазете резервни копия и, ако е възможно, активирайте механизми за възстановяване.
  • При разработка на вграден софтуер използвайте сигурни методи за актуализация и versioning.

В обобщение, фърмуерът е критичната връзка между хардуера и софтуера: той контролира как устройствата функционират, може да бъде актуализиран за подобрения и поправки, но изисква внимание относно безопасността и процедурите за ъпдейт, за да се избегнат рискове за надеждността на устройствата.

На компютър

Компютърът може да има както фърмуер, така и софтуер. Вграденият софтуер е постоянно съхранен в компютъра, например BIOS, и не може лесно да бъде променен или допълнен. Софтуерът, дори операционната система, може да бъде заменен чрез преформатиране на твърдия диск. Софтуерът включва приложенията, които човекът, работещ с компютъра, вижда, като например уеб браузър или текстообработваща програма. Понякога драйверът на устройство се нарича фърмуер, тъй като е необходим за работата на този хардуер, например принтер или видеокарта. Драйверът на устройството се намира в основната част на компютъра и може лесно да бъде актуализиран (ако съществува актуализация).

На електронно устройство

Други електронни устройства може да не изглеждат като компютър, но все пак в тях има вградена система, например микроконтролер, с програма, която им казва какво да правят. Това също е фърмуер. Кабелната кутия на телевизора, контролерът на асансьора и четецът на карти в ключалката на хотелската врата - всички те работят с фърмуер. В този случай фърмуерът е единственият софтуер на устройството и управлява всичко - от обработката на натискания на бутони до включването или изключването на двигатели.

В миналото фърмуерът се е съхранявал в ROM паметта, но сега често се съхранява на носители, на които може да се записва, като EEPROM и Flash. Фърмуерът на много машини, като например маршрутизатори, вече може да се актуализира без специален хардуер, освен с компютър и USB кабел. Това става чрез изтегляне на нова версия от World Wide Web за актуализиране на устройството, като се използват инструкциите на производителя на устройството.

Електронно устройство се нарича "bricked", ако не може да бъде стартирано поради проблеми с фърмуера. Тогава то е толкова полезно, колкото и една тухла. Зареждането на неправилен фърмуер в устройството може да причини това. Фърмуерът се съхранява като двоичен файл с изображение.

Примери

Примерите за фърмуер включват:

  • BIOS, намиращ се в IBM-съвместимите персонални компютри
  • Код в принтера (в допълнение към драйвера на принтера, който е на компютъра)
  • Софтуер за управление на сърдечен дефибрилатор
  • Софтуер за управление на осветлението в офис сграда
  • Софтуер, управляващ електрониката в автомобила - радиото, ABS (антиблокираща спирачна система), управлението на двигателя и др.
  • Софтуер за управление на по-нови домакински уреди (микровълнови печки, съдомиялни машини и др.)

Свързани страници

  • BIOS
  • Операционна система в реално време
  • Микрокод

Въпроси и отговори

Въпрос: Какво представлява фърмуерът?


О: Фърмуерът е компютърна програма, която е "вградена" в хардуерно устройство и е съществена част от хардуера.

В: Какъв е другият термин за фърмуер?


О: Понякога фърмуерът се нарича вграден софтуер.

В: Какъв е примерът за фърмуер?


О: Пример за фърмуер е микроконтролерът, който е част от микропроцесора, която му казва какви действия да предприеме.

В: Може ли фърмуерът да бъде по-голяма програма, записана на флаш памет?


О: Да, фърмуерът може да бъде по-голяма програма, съхранена във флаш памет.

В: Може ли фърмуерът да бъде качен от потребителя на съществуващ хардуер?


О: Да, фърмуерът може да бъде качен и от потребителя на съществуващ хардуер.

В: Как фърмуерът е свързан с хардуера и софтуера?


О: Фърмуерът е някъде между хардуера и софтуера, като свързва двата свята.

В: Какво означава да се каже, че фърмуерът няма смисъл без хардуер?


О: Това означава, че фърмуерът е свързан с определен хардуер и не може да функционира без него.

AlegsaOnline.com - 2020 / 2025 - License CC3