Įterptoji programinė įranga (firmware): apibrėžimas ir pavyzdžiai
Sužinokite, kas yra įterptoji programinė įranga (firmware): apibrėžimas, pavyzdžiai, kaip ji veikia ir kodėl svarbi įrenginių saugumui bei našumui.
Kompiuterijoje programinė įranga – tai kompiuterio programa, kuri yra „įterpta“ į aparatinį įrenginį ir sudaro esminę jo dalį. Dažnai ji vadinama įterptąja programine įranga. Pavyzdys – mikrovaldiklis, arba ta programos dalis, kuri instruktuoja mikroprocesorių, ką atlikti. Įterptoji programinė įranga gali būti ir didesnė programa, saugoma "flash" atmintyje, arba įkelta į esamą aparatinę įrangą vartotojo ar gamintojo.
Kaip rodo pavadinimas, ši programinė įranga stovi tarp aparatinės ir programinės įrangos: ji sujungia fizinį įrenginį ir aukštesnio lygio programas. Skirtingose situacijose terminas gali reikšti šiek tiek skirtingus dalykus, ypač kai tradiciniai elektroniniai prietaisai įgyja kompiuterio savybių. Iš techninės pusės tai yra programa, kurią vykdo mikrovaldiklis arba mikroprocesorius, tačiau be jos aparatas paprastai neveikia arba veikia labai ribotai.
Savybės ir saugojimo vietos
Įterptoji programinė įranga dažniausiai turi šias savybes:
- Nepertraukiamas ryšys su aparatūra: ji valdydama sensorius, valdiklius, išvesties įrenginius ir pan., tiesiogiai bendrauja su elektriniais komponentais.
- Veikia tiesiogiai po įjungimo: daug firmware komponentų (pvz., bootloader, BIOS/UEFI) paleidžiami prieš operacinę sistemą.
- Laikoma nevolatilioje atmintyje: ROM, EEPROM arba "flash" atmintyje, kad išliktų ir po išjungimo.
- Efektyvumas ir riboti ištekliai: firmware dažnai parašyta taip, kad užimtų mažai atminties ir efektyviai naudotų procesoriaus resursus.
Kaip vyksta atnaujinimas
Įterptoji programinė įranga gali būti atnaujinama įvairiais būdais: per specialų įrankį, USB, serijinį ryšį arba per tinklą (angl. OTA – over‑the‑air). Atnaujinimo procesą dažnai prižiūri bootloader, kuris užtikrina, kad įkrauta nauja versija yra galiojanti. Atnaujinant svarbu turėti galimybę grįžti prie ankstesnės versijos (rollback), nes neteisingas arba pertrūkęs atnaujinimas gali palikti įrenginį neveiksnų.
Saugumo ir stabilumo aspektai
Firmware yra kritinė kiekvieno įrenginio saugumo dalis. Pažeidžiamumai firmware lygyje gali suteikti prieigą prie aparatinės įrangos arba leisti kenkėjiškam kodui pasislėpti žemiau operacinės sistemos lygmens. Todėl gamintojai ir diegėjai dažnai taiko šias priemones:
- Skaitmeninis parašas ir patikimumo patikra prieš įkrovimą (signature verification).
- Užkirsti kelią neautorizuotiems atnaujinimams — leidžiami tik oficialūs paketai.
- Reguliarūs atnaujinimai ir saugumo pataisos.
- Įrenginio atkūrimo mechanizmai, kurie leidžia įkrauti firmware net jei pagrindinis atnaujinimas nepavyksta.
Pavyzdžiai
- Kompiuterių BIOS arba UEFI – atsakingi už sistemos paleidimą ir aparatūros inicializaciją.
- Maršrutizatorių (router) ir modemų firmware – tinklo srauto valdymas ir saugumas.
- Išmaniųjų telefonų modeminio ryšio (baseband) programinė įranga – ryšių valdymas.
- SSD diskų, kietųjų diskų, spausdintuvų, spausdinimo galvučių valdymo programinė įranga.
- Automobilių valdymo blokų (ECU) firmware – variklių, saugos sistemų ir pagalbinių funkcijų valdymas.
- Mažų įrenginių bei jutiklių firmware – daugelyje daiktų internete (IoT) įrenginių veikia mikrovaldikliai su paprasta, efektyvia programine įranga.
Praktiniai patarimai
- Reguliariai tikrinkite ir atnaujinkite firmware, ypač jei gamintojas skelbia saugumo pataisas.
- Prieš atnaujinimą perskaitykite gamintojo instrukcijas ir įsitikinkite, kad turite atsarginį planą, jei atnaujinimas nutrūktų.
- Jei įrenginys yra kritinis saugumui (serveriai, tinklo įrenginiai, automobiliai), rinkitės sprendimus su parašo patikra ir atstatymo galimybėmis.
Apibendrinant: įterptoji programinė įranga yra tarpinė grandis tarp aparatūros ir klasikinės programinės įrangos. Ji kontroliuoja, kaip įrenginys veikia, ir dažnai yra ta vieta, kur technologijos, saugumas ir funkcionalumas susitinka.
Kompiuteryje
Kompiuteryje gali būti ir programinė, ir programinė įranga. Įterptinė programinė įranga nuolat saugoma kompiuteryje, pavyzdžiui, BIOS, ir jos negalima lengvai pakeisti ar papildyti. Programinę įrangą, net ir operacinę sistemą, galima pakeisti performatuojant kietąjį diską. Programinei įrangai priskiriamos programos, kurias mato kompiuterį valdantis asmuo, pavyzdžiui, žiniatinklio naršyklė arba tekstų redaktorius. Kartais įrenginio tvarkyklė vadinama programine įranga, nes ji reikalinga, kad veiktų ta aparatinė įranga, pavyzdžiui, spausdintuvas ar vaizdo plokštė. Įrenginio tvarkyklė yra pagrindinėje kompiuterio dalyje ir ją galima lengvai atnaujinti (jei yra atnaujinimas).
Elektroniniame įrenginyje
Kiti elektroniniai prietaisai gali būti nepanašūs į kompiuterį, tačiau juose vis tiek yra įterptinė sistema, pavyzdžiui, mikrovaldiklis, kuriame yra programa, nurodanti, ką daryti. Tai taip pat yra programinė įranga. Televizijos kabelinės televizijos dėžutėje, lifto valdiklyje ir viešbučio durų užrakto kortelių skaitytuve veikia programinė įranga. Šiuo atveju programinė įranga yra vienintelė įrenginio programinė įranga ir ji valdo viską - nuo mygtukų paspaudimų iki variklių įjungimo ar išjungimo.
Anksčiau programinė įranga buvo saugoma ROM atmintinėse, tačiau dabar ji dažnai saugoma laikmenose, į kurias galima rašyti, pavyzdžiui, EEPROM ir "Flash" atmintinėse. Daugelio įrenginių, pvz., maršrutizatorių, programinę įrangą dabar galima atnaujinti be jokios specialios įrangos, išskyrus kompiuterį ir USB kabelį. Tai atliekama parsisiunčiant naują versiją iš pasaulinio interneto ir taip atnaujinant įrenginį pagal įrenginio gamintojo instrukcijas.
Elektroninis prietaisas laikomas "užblokuotu", jei jo negalima paleisti dėl programinės įrangos problemų. Tada jis yra toks pat naudingas kaip plyta. Į prietaisą gali būti įkelta netinkama programinė įranga. Programinė įranga saugoma kaip dvejetainis vaizdo failas.
Pavyzdžiai
Programinės įrangos pavyzdžiai:
- IBM suderinamuose asmeniniuose kompiuteriuose esanti BIOS
- Kodas spausdintuve (be kompiuteryje esančios spausdintuvo tvarkyklės).
- Programinė įranga, valdanti širdies defibriliatorių
- Programinė įranga, valdanti biurų pastato apšvietimą
- Programinė įranga, valdanti automobilyje esančią elektroniką - radiją, ABS (stabdžių antiblokavimo sistemą), variklio valdymą ir kt.
- programinė įranga, valdanti naujesnius buitinius prietaisus (mikrobangų krosneles, indaploves ir kt.)
Susiję puslapiai
- BIOS
- Realaus laiko operacinė sistema
- Mikrokodas
Klausimai ir atsakymai
Klausimas: Kas yra programinė įranga?
A: Programinė įranga yra kompiuterinė programa, kuri yra "įdėta" į aparatinį įrenginį ir yra esminė aparatinės įrangos dalis.
K: Kaip kitaip vadinama programinė įranga?
A: Programinė įranga kartais vadinama įterptąja programine įranga.
K: Koks yra programinės įrangos pavyzdys?
A: Įterptinės programinės įrangos pavyzdys yra mikrovaldiklis, kuris yra mikroprocesoriaus dalis, nurodanti mikroprocesoriui, kokius veiksmus atlikti.
K: Ar programinė įranga gali būti didesnė programa, saugoma "flash" atmintyje?
A: Taip, programinė įranga gali būti didesnė programa, saugoma "flash" atmintyje.
K: Ar programinę įrangą į esamą aparatinę įrangą gali įkelti vartotojas?
A: Taip, vartotojas taip pat gali įkelti programinę įrangą į esamą aparatinę įrangą.
K: Kaip programinė įranga susijusi su technine ir programine įranga?
A: Programinė įranga yra kažkur tarp aparatinės ir programinės įrangos, jungianti šiuos du pasaulius.
K: Ką reiškia teiginys, kad programinė įranga neturi prasmės be aparatinės įrangos?
A: Tai reiškia, kad programinė įranga yra susijusi su konkrečia aparatine įranga ir negali veikti be jos.
Ieškoti