Vdelana programska oprema

Iz Wikipedije, proste enciklopedije

Vdelana ali strojno-programska oprema (v angleščini "firmware") je poseben razred računalniške programske opreme, ki zagotavlja nadzor na nizki ravni za določeno strojno opremo naprave. Vdelana programska oprema, kot je BIOS osebnega računalnika, lahko vsebuje osnovne funkcije naprave in zagotavlja storitve abstrakcije strojne opreme za programsko opremo višje ravni, kot so operacijski sistemi. Pri manj zapletenih napravah lahko vdelana programska oprema deluje kot celoten operacijski sistem naprave in opravlja vse funkcije nadzora, spremljanja in manipulacije s podatki. Tipični primeri naprav z vdelano programsko opremo so vgrajeni sistemi (z vgrajeno programsko opremo), gospodinjske in osebne naprave, računalniki in računalniška periferna oprema.

Vdelana programska oprema je shranjena v nehlapnih pomnilniških napravah, kot so ROM, EPROM, EEPROM in pomnilnik Flash. Za posodobitev vdelane programske opreme je treba fizično zamenjati integrirana vezja ROM ali s posebnim postopkom reprogramirati pomnilnik EPROM ali bliskovni pomnilnik. Nekatere pomnilniške naprave za vdelano programsko opremo so trajno nameščene in jih po proizvodnji ni mogoče spremeniti. Pogosti razlogi za posodabljanje vdelane programske opreme vključujejo odpravljanje napak ali dodajanje funkcij napravi.

Zgodovina in etimologija[uredi | uredi kodo]

Ascher Opler je leta 1967 v članku za Datamation uporabil izraz firmware kot vmesni izraz med »strojno« in »programsko opremo«. V tem članku je Opler govoril o novi vrsti računalniškega programa, ki je imel z vidika uporabnika drugačen praktični in psihološki namen kot tradicionalni programi.

Ko so se računalniki začeli povečevati po kompleksnosti, je postalo jasno, da je treba različne programe najprej sprožiti in zagnati, da bi zagotovili konsistentno okolje, potrebno za izvajanje kompleksnejših programov po presoji uporabnika. To je zahtevalo programiranje računalnika za samodejno izvajanje teh programov. Poleg tega so podjetja, univerze in tržniki želeli prodajati računalnike laikom z malo tehničnega znanja, zato je bila potrebna večja avtomatizacija, da bi laičnemu uporabniku omogočili enostavno izvajanje programov za praktične namene. Tako je nastala vrsta programske opreme, ki je uporabnik ne bi zavestno zagnal, in pripeljala do programske opreme, za katero laični uporabnik sploh ne bi vedel.[1]

Prvotno je pomenil vsebino zapisljivega krmilnega pomnilnika (majhnega specializiranega hitrega pomnilnika), ki je vseboval mikrokodo, ki je določala in izvajala nabor ukazov računalnika in ki jo je bilo mogoče ponovno naložiti, da bi specializirali ali spremenili ukaze, ki jih je lahko izvajala osrednja procesna enota (CPU). V prvotni rabi je bila vdelana programska oprema v nasprotju s strojno opremo (sama centralna enota) in programsko opremo (običajna navodila, ki se izvajajo na centralni enoti). Ni bila sestavljena iz strojnih navodil procesorja, temveč iz mikrokode na nižji ravni, ki je bila vključena v izvajanje strojnih navodil. Obstajala je na meji med strojno in programsko opremo; od tod ime vdelana programska oprema. Sčasoma se je beseda firmware razširila in označuje vsak računalniški program, ki je tesno povezan s strojno opremo, vključno z BIOS v osebnih računalnikih, zagonskimi nalagalniki v telefonih ali nadzornimi sistemi za preproste elektronske naprave, kot so mikrovalovne pečice, daljinski upravljalniki ali računalniška periferna oprema.

Razvoj vdelane programske opreme[uredi | uredi kodo]

Okolje za razvoj vgrajene strojne programske opreme se bistveno razlikuje od testnega in produkcijskega okolja. Inženirji za razvoj vdelane programske opreme lahko uporabljajo specializirane sklope programske opreme, različne arhitekture čipov in celo operacijske sisteme. Vgrajeni sistem omogoča znatno olajšanje vezja in s tem zmanjšanje stroškov projekta in velikosti strojne opreme.

Na kratko povedano, razvoj vgrajene strojne programske opreme se ne razlikuje tako zelo od procesa razvoja "standardne" programske opreme. Ne glede na uporabljeni model razvoja/upravljanja je sestavljen iz naslednjih faz:

  1. analiza zahtev;
  2. oblikovanje in sestavljanje algoritmov;
  3. kodiranje strojne programske opreme;
  4. testiranje sistema.

Aplikacije[uredi | uredi kodo]

Osebni računalniki[uredi | uredi kodo]

ROM čip z biosom na matični plošči osebnega računalnika

Različne komponente vdelane programske opreme so v nekaterih pogledih enako pomembne kot operacijski sistem v delujočem računalniku. Vendar ima vdelana programska oprema za razliko od večine sodobnih operacijskih sistemov le redko dobro razvit samodejni mehanizem za posodabljanje, s katerim se odpravijo morebitne funkcionalne težave, ugotovljene po odpremi enote.

BIOS lahko "ročno" posodobi uporabnik z majhnim uporabniškim programom. Nasprotno pa se vdelana programska oprema v napravah za masovno shranjevanje podatkov (trdi diski, optični diski, bliskovni pomnilnik, npr. polprevodniški pogon) redko posodablja, tudi če se za vdelano programsko opremo uporablja bliskovni pomnilnik (in ne ROM ali EEPROM).

Večina računalniških perifernih naprav je sama po sebi namenskih računalnikov. Naprave, kot so tiskalniki, optični bralniki, spletne kamere in pomnilniki USB, imajo vgrajeno vdelano programsko opremo; nekatere naprave lahko omogočajo tudi nadgradnjo vdelane programske opreme na terenu. Nekatere poceni periferne naprave ne vsebujejo več nehlapnega pomnilnika za vdelano programsko opremo in se namesto tega zanašajo na gostiteljski sistem, ki nadzorni program naprave prenese z diskovne datoteke ali zgoščenke.[2]

Izdelki za dom in osebno rabo[uredi | uredi kodo]

Od leta 2010 večina prenosnih predvajalnikov glasbe podpira nadgradnjo vdelane programske opreme. Nekatera podjetja uporabljajo posodobitve vdelane programske opreme za dodajanje novih formatov datotek, ki jih je mogoče predvajati (kodekov). Druge funkcije, ki se lahko spremenijo s posodobitvami vdelane programske opreme, vključujejo grafični vmesnik ali celo življenjsko dobo baterije. Večina mobilnih telefonov ima možnost nadgradnje vdelane programske opreme po zraku iz enakih razlogov; nekatere je mogoče nadgraditi celo zaradi izboljšanja sprejema ali kakovosti zvoka.

Avtomobili[uredi | uredi kodo]

Od leta 1996 večina avtomobilov za odkrivanje mehanskih težav uporablja vgrajeni računalnik in različne senzorje. Od leta 2010 sodobna vozila uporabljajo tudi računalniško krmiljene protiblokirne zavorne sisteme (ABS) in računalniško krmiljene krmilne enote menjalnikov (TCU). Voznik lahko med vožnjo na ta način dobi tudi informacije na armaturni plošči, kot so podatki o porabi goriva in tlaku v pnevmatikah v realnem času. Lokalni trgovci lahko posodobijo vdelano programsko opremo večine vozil.

Vdelana programska oprema po meri[uredi | uredi kodo]

Vdelana programska oprema po meri je razvita glede na posebne potrebe proizvajalca in končnega uporabnika. Vdelana programska oprema je v negibljivi pomnilnik nastavljena samo za branje. Tradicionalno vdelana programska oprema ostane na mestu in uporabnikom ne omogoča dostopa, kar pomeni, da vdelane programske opreme teoretično ni mogoče spreminjati. Vendar je mogoče razveljaviti funkcijo samo za branje, kar omogoča naknadne spremembe po proizvodnji. Pri številnih industrijskih aplikacijah se uporablja prilagojena industrijska vdelana programska oprema, da se zagotovi najboljša zmogljivost pomnilniške naprave.

Reference[uredi | uredi kodo]

  1. »Reading: Firmware | Introduction to Computer Applications and Concepts«. courses.lumenlearning.com. Pridobljeno 4. februarja 2022.
  2. Corbet, Jonathan (2005). Linux device drivers (3. izd.). Sebastopol: O'Reilly & Associates. ISBN 978-0-596-51743-4. OCLC 59670708.