Arvutitehnoloogias on püsivara arvutiprogramm, mis on "sisseehitatud" riistvarasse ja on riistvara oluline osa. Mõnikord nimetatakse seda ka varjatud tarkvaraks. Näiteks on mikrokontroller, mikroprotsessori osa, mis ütleb mikroprotsessorile, milliseid toiminguid teha. See võib olla ka suurem programm, mis on salvestatud välkmällu või mille kasutaja on olemasolevale riistvarale üles laadinud.

Nagu nimigi ütleb, asub püsivara kusagil riistvara ja tarkvara vahel, ühendades need kaks maailma. Erinevatele inimestele võib see tähenda veidi erinevaid asju, eriti kuna iseseisvad elektroonikaseadmed muutuvad üha enam arvutite sarnaseks. Sarnaselt tarkvarale on see arvutiprogramm, mida käitab mikroprotsessor. Kuid ka see on seotud riistvaraga ja ilma selleta ei ole tal mingit tähendust.

Mida püsivara täpsemalt teeb? Püsivara vastutab riistvara algse käivituse ja põhifunktsioonide haldamise eest. Näiteks arvuti emaplaadi puhul initsialiseerib BIOS või UEFI riistvara, kontrollib mälu ja seadmeid, seejärel laeb operatsioonisüsteemi. Traadita ruuteri püsivara haldab võrguühendust, paketisuunamist ja turvafunktsioone. Püsivara võib sisaldada ka madala taseme seadmejuhtmeid, mis teevad seotud riistvaraga otse suhtlemise võimalikuks.

Kus püsivara salvestatakse? Sageli salvestatakse püsivara mitmesugustesse püsivatesse mälukihtidesse, näiteks ROM, PROM, EPROM, EEPROM või kaasaegne välkmälu (flash). Mõned seadmed kasutavad mitmeosalisi lahendusi: alglaaduri (bootloader) püsivara võib olla eraldi ja turvaliselt kirjutatud, samas kui ülejäänud püsivara on kergemini uuendatav.

  • Näited püsivarast: BIOS/UEFI arvutites, ruuteri ja modemi püsivara, nutitelefonide ja nutitelerite madala taseme tarkvara, SSD-de kontrollerite püsivara, printimisseadmete, kaamerate ja nutikoduseadmete püsivara.
  • Erinevus tavapärase tarkvaraga: püsivara töötab otseselt riistvaral ja on sageli sõltuv riistvara spetsiifikast; opsüsteem ja rakendustarkvara töötavad riistvara peal ja kasutavad püsivara poolt pakutavaid madalama taseme teenuseid.

Kuidas püsivara uuendatakse? Püsivara uuendamine (flashing) toimub mitmel viisil:

  • Tootja ametlike tööriistade kaudu operatsioonisüsteemist või eraldi utiliidiga.
  • Otse seadmes oleva laaduri (bootloader) abil, sageli USB või SD-kaardi kaudu.
  • JTAG või muu riistvarapõhine programmeerija rikkeotsinguks või hädaolukorra taastamiseks.
  • Tänapäeva IoT- ja mobiilseadmete puhul on levinud OTA (over-the-air) uuendused.
Uuenduse käigus kirjutatakse uus püsivara seadme mällu; seda protsessi ei tohi katkestada (nt voolu kaotuse tõttu), sest muidu võib seade muutuda kasutuskõlbmatuks ehk "bricked".

Turvalisus ja riskid

  • Püsivara on potentsiaalne rünnaku sihtmärk: pahatahtlik kood püsivaras võib jääda seadmesse isegi pärast opsüsteemi uuesti installimist.
  • Ettevõtted kasutavad püsivara allkirjastamist ja turvalist alglaadimist (secure boot), et vältida volitamata või muudatusi sisaldavate püsivarade käivitamist.
  • Enne püsivara laadimist kontrolli alati tootja ametlikku allikat, versiooni märkmeid ja kontrollsummasid (checksum), et vältida valesid või kompromiteeritud faile.

Taastamine ja vastupidavus Tänapäevased seadmed kasutavad sageli mehhanisme vigaste uuenduste eest kaitsmiseks: topeltpartitsioonid (dual-bank), bootloaderi taastamisrežiimid või turvarežiimid, mis lubavad tagasikerimist varasemasse töökorda. Kui see puudub, võib tekkida vajadus spetsiaalse riist- või tarkvarapõhise programmeerija järele.

Hea tava kasutajale ja administraatorile

  • Uuenda püsivara regulaarselt, kui tootja soovitab turvaparandusi või olulisi täiustusi.
  • Tee enne uuendust seadme konfiguratsioonist varukoopia ja loe välja uuenduse muutusekirjeldused.
  • Kasutage ainult ametlikke või usaldusväärseid allikaid; vältige kolmandate osapoolte mitteofitsiaalseid püsivara versioone ilma teadliku riskihindamiseta.
  • Ära katkesta uuendust (ärge lülita seadet välja ega eemalda voolu), kui protsess on käimas.

Avatud püsivara ja modimine Mõned kogukonnad arendavad avatud lähtekoodiga püsivara (näiteks Coreboot arvutitele või OpenWrt ruuteritele). See võimaldab paremat läbipaistvust, paindlikkust ja pikemat toote eluea säilitamist, kuid sisaldab ka riske (toetuse puudumine, valed konfiguratsioonid). Modimine võib seadme garantii mõjutada.

Kokkuvõte: Püsivara on riistvara ja tarkvara piirialal asuv oluline komponent, mis initsialiseerib ja juhib riistvara madalamat taset. See on sageli püsivalt salvestatud seadme mällu, kuid tänapäeval sageli uuendatav. Õige haldus, turvalisus ja varundamine aitavad vältida probleeme ning tagada seadmete usaldusväärne töö.