Hvis du nogensinde har beskæftiget dig med brugerdefinerede ROM’er eller manuelt har installeret en Android OS-opdatering, er du måske stødt på udtrykket “firmware”. Når du flasher en OS-opdatering, skal softwaren være bygget til enhedsspecifik firmware eller hardware. Denne forskel er en del af grunden til, at det kan tage så lang tid at udrulle den nyeste version af Android til alle enheder.
Det er ikke umiddelbart klart, men der er en afgørende forskel mellem firmware og software, hvoraf sidstnævnte nok er et meget mere velkendt begreb. Kort fortalt sidder firmware meget tæt på hardware, mens software sidder oven på firmwaren. Der er lidt mere end det, og der er nogle områder, hvor der er plads til en lille krydsning. Så lad os udforske firmware vs. software lidt dybere.
Firmware vs. software
Både firmware og software er kodestumper, der kører på hardwaren i din telefon og andre gadgets. Den vigtigste forskel er, hvad de er designet til at gøre, hvor de er gemt, og hvor let de er at opdatere og ændre.
Software betragtes generelt som et program eller et stykke kode, der er designet til brugerinteraktion. Det er det “øverste niveau” af kode, der gør det muligt for brugerne at hvad de har brug for. Det kan være en app på din smartphone, en widget på hjemmeskærmen og lige under det endda selve Android OS’et. Software er normalt skrevet i et sprog på højt niveau, f.eks. Java, med masser af biblioteker og præfabrikerede funktioner, der letter udviklingen.
Software – interaktive programmer, der udføres på en enheds hardware
Software kører på CPU’en og andre hovedprocessorer og gør brug af RAM og flashlagring til at gemme og indlæse data. Et andet vigtigt punkt er, at software kan ændres uden at skulle justere nogen hardware, hvilket gør det nemt at opdatere. Med nogle undtagelser er software designet til at være så hardware agnostisk som muligt.
Firmware er til sammenligning ikke designet til at blive interageret direkte med af en bruger. I stedet er det det det skjulte “laveste niveau” af kode, der kører på din enhed. Selv om der strengt taget kan være forskellige niveauer af firmware, ligesom vi kan betragte forskellige niveauer af software. I stedet for at køre på den primære CPU kører firmware ofte på mindre processorer, der er dedikeret til dele af hardwaren. Dette kan f.eks. omfatte en hukommelsescontroller til et flashhukommelsesdrev. Firmware skrives typisk i et lavniveausprog som C med lidt biblioteksunderstøttelse, da koden er meget skræddersyet til de enkelte enheder.
Firmware – kode på lavt niveau, der styrer og konfigurerer en enheds specifikke hardware
Firmware er kode, der konfigurerer, hvordan hardware skal fungere og sørger for dens grundlæggende funktioner. Det er den vigtige rygrad, der sikrer, at hardware fungerer og kan tilgås af software på højere niveau. Hardware, der kører sin egen firmware, omfatter flashhukommelseschips, CPU’er og skærme. Det kan være lidt vanskeligere at opdatere firmware, da software, der kører ovenpå, er afhængig af den. Det er derfor, at du ikke behøver at genstarte din telefon efter opdatering af en app, men bliver nødt til det, når du installerer en større opdatering af en Android-version.
Hold din smartphone kørende
Kampen mellem firmware og software foregår inde i din smartphone. Faktisk er de to afgørende for at holde alting kørende uden problemer. Du vil aldrig interagere direkte med firmwaren, men den udfører en række vigtige funktioner.
Firmware inde i din smartphone omfatter kode, der kører inde i kameramodulet. Denne håndterer billedindsamling og tidlig behandling, inden den afleverer data til ISP’en og andre behandlingskomponenter. På samme måde vil skærmen også have sin egen lille mikroprocessor, komplet med firmware, til at håndtere farvedata, lysstyrke, gamma og andre indstillinger. Selv CPU’en har sin egen firmware i form af en kerne på lavt niveau til optimering af opgaveplanlægning, clockhastigheder og strømforbrug.
Smartphonesoftware omfatter Android-styresystemet og derefter de apps, der kører ovenpå det. Så alle dine apps er software, herunder Facebook, Chrome, Gmail og Play Store.
Som du kan se, vil du regelmæssigt interagere med, opdatere, tilføje og slette software fra din enhed. Firmware forbliver fast i baggrunden.