Datortehnikā programmaparatūra ir datorprogramma, kas ir "iestrādāta" aparatūras ierīcē un ir būtiska aparatūras daļa. Dažreiz to sauc arī par iegulto programmatūru. Piemērs ir mikrokontrolieris, mikroprocesora daļa, kas norāda mikroprocesoram, kādas darbības jāveic. Tā var būt arī lielāka programma, kas glabājas zibatmiņā vai ko lietotājs augšupielādē esošajā aparatūrā.
Kā liecina nosaukums, programmaparatūra ir kaut kas starp aparatūru un programmatūru, savienojot abas pasaules. Dažādiem cilvēkiem tā var nozīmēt nedaudz atšķirīgas lietas, jo īpaši tāpēc, ka atsevišķas elektroniskās ierīces kļūst arvien līdzīgākas datoriem. Tāpat kā programmatūra, tā ir datorprogramma, ko darbina mikroprocesors. Taču tā ir saistīta arī ar aparatūru, un bez tās tai nav nozīmes.
Kas ir programmaparatūra un kā tā atšķiras no parastās programmatūras
Programmaparatūra parasti darbojas tieši ar ierīces aparatūras komponentēm — pārvalda sensorus, atmiņu, sakarus, citus kontrolierus un citus fiziskos elementus. Savukārt parastā programmatūra (lietojumprogrammas) parasti darbojas augstākā līmeņa operētājsistēmas vidē un ir atkarīga no šīs sistēmas pakalpojumiem.
- Programmaparatūra ir tuvāk aparatūrai, bieži darbojas ar mazākiem resursiem un reālā laika prasībām.
- Programmatūra (lietotnes) mēdz būt lielākas, biežāk atjaunojamas un vieglāk maināmas bez aparatūras modifikācijām.
- Ir arī pārklāšanās zona — piemēram, ierīces draiveri un daļa no operētājsistēmas var būt programmaparatūras līdzīgas funkcijas dēļ.
Kā programmaparatūra darbojas
Programmaparatūra parasti ir saglabāta nemainīgā vai daļēji maināmā atmiņā ierīcē (piemēram, ROM, EEPROM, Flash). Pēc ierīces ieslēgšanas mikroprocesors izpilda programmaparatūrā ietvertos norādījumus — inicializē aparatūru, iestata konfigurāciju, pārrauga un apstrādā datus un nodrošina saskarni ar augstākā līmeņa programmatūru.
Dažām ierīcēm programmaparatūra darbojas pastāvīgi (piemēram, tīkla maršrutētāji), citās tā tiek izpildīta tikai startēšanas laikā (piemēram, BIOS/UEFI datorā) vai pievienota modulāri kā paplašinājums.
Piemēri un veidi
- BIOS/UEFI datorā — startēšanas programmaparatūra, kas inicializē aparatūru un nodod kontroli operētājsistēmai.
- Maršrutētāju un modemu firmware — pārvalda tīkla savienojumus, drošību un konfigurācijas ierīces līmenī.
- Viedierīču un IoT ierīču firmware — sensori, viedtelevizori, viedās spuldzes u.c.
- Atmiņas kontrolieri un SSD firmware — pārvalda datu rakstīšanu/lasīšanu un optimizāciju.
- Mikrokontrolleru firmware — mazu iekārtu vadības programmas (robotika, rūpnieciskās iekārtas).
Atjaunināšana (firmware update / "flash")
Programmaparatūru mēdz atjaunināt, lai pievienotu funkcijas, uzlabotu veiktspēju vai novērstu drošības trūkumus. Atjaunināšana var notikt ar:
- Ražotāja programmatūru, kas palaista datorā un savieno ierīci.
- Uz ierīces iebūvētu atjauninājumu mehānismu (piem., OTA — over‑the‑air mobilajās un IoT ierīcēs).
- Veicot "flash" no ārējas atmiņas ierīces.
Ierīces programmaparatūras atjaunināšana var sniegt būtiskas priekšrocības, taču tā nes sev līdzi riskus — ja process tiek pārtraukts (strāvas zudums, bojāta faila versija), ierīce var kļūt nelietojama ("bricked").
Drošība un riski
Programmaparatūra bieži kontrolē zemas līmeņa piekļuvi aparatūrai, tāpēc tai ir liela nozīme drošībā. Galvenie drošības aspekti:
- Parakstīšana un verifikācija: ražotāji izmanto digitālos parakstus, lai nodrošinātu, ka atjauninājums ir autentisks.
- Regulāri atjauninājumi: novērš ievainojamības, kuras var ļaut uzbrucējiem iegūt zemu līmeņa kontroli.
- Fiziskā piekļuve: ja kādam ir fiziska piekļuve ierīcei, bieži vien ir lielākas iespējas manipulēt ar tās programmaparatūru.
- Atbalsta beigas: novecojošas ierīces bez ražotāja atbalsta kļūst neaizsargātākas.
Atšķirība starp programmaparatūru, draiveriem un mikroprogrammu
Termini dažkārt tiek izmantoti neskaidri:
- Mikroprogrammatūra (microcode) — ļoti zems līmeņa koda slānis, kas var būt iebūvēts procesoros, lai noteiktu instrukciju izpildi.
- Draiveri — programmatūras komponentes operētājsistēmas līmenī, kas ļauj lietojumprogrammām izmantot aparatūru; tie var būt atsevišķi no ierīces iebūvētās programmaparatūras.
- Praktiski — robeža starp šiem jēdzieniem ir funkcionalitātes un izvietošanas jautājums: kur kods glabājas un kur tas tiek izpildīts.
Kā rīkoties lietotājam: padomi
- Pirms atjaunināšanas izlasiet ražotāja izmaiņu žurnālu (changelog) un instrukcijas.
- Izmantojiet tikai oficiālos atjauninājumus no ražotāja vai uzticama pārdevēja.
- Nezīmējiet atjaunināšanu, ja nav stabila enerģijas avota (piem., nodrošiniet akumulatoru vai UPS).
- Ja iespējams, izveidojiet rezerves kopiju konfigurācijas iestatījumiem pirms atjaunināšanas.
- Ja ierīce ir tīkla savienota, sekojiet drošības brīdinājumiem un regulāri pārbaudiet jaunos atjauninājumus.
Noslēgums
Programmaparatūra ir būtisks tilts starp aparatūru un programmatūru — tā nodrošina, ka ierīces aparatūras komponentes darbojas pareizi, droši un efektīvi. Sapratne par to, kas ir firmware, kā tas tiek atjaunināts un kādi drošības riski pastāv, palīdz labāk pārvaldīt elektroniskās ierīces un izvairīties no problēmām.