Ha valaha is foglalkozott egyéni ROM-okkal vagy kézzel telepített Android operációs rendszer frissítésével, akkor találkozhatott már a “firmware” kifejezéssel. Az operációs rendszer frissítésének flashelésekor a szoftvert az eszközspecifikus firmware-hez vagy hardverhez kell készíteni. Ez a különbség is szerepet játszik abban, hogy miért tarthat olyan sokáig az Android legújabb verziójának minden eszközre történő bevezetése.
Nem egyértelmű azonnal, de van egy kritikus különbség a firmware és a szoftver között, ez utóbbi valószínűleg sokkal ismertebb kifejezés. Dióhéjban a firmware nagyon közel ül a hardverhez, míg a szoftver a firmware tetején helyezkedik el. Ennél egy kicsit többről van szó, és van néhány terület, ahol van hely egy kis átjárhatóságra. Vizsgáljuk meg tehát egy kicsit mélyebben a firmware vs. szoftver kérdést.
Firmware vs. szoftver
A firmware és a szoftver egyaránt olyan kódrészletek, amelyek a telefon és más kütyük hardverén futnak. A legfontosabb különbség az, hogy mire szolgálnak, hol vannak tárolva, és mennyire könnyű frissíteni és módosítani őket.
A szoftvert általában olyan programnak vagy kódrészletnek tekintik, amelyet felhasználói interakcióra terveztek. Ez a kód “legfelső szintje”, amely lehetővé teszi a felhasználók számára azt, amire szükségük van. Ez lehet egy alkalmazás az okostelefonon, egy kezdőképernyő widget, és közvetlenül alatta akár maga az Android operációs rendszer is. A szoftvereket általában magas szintű nyelven, például Java nyelven írják, sok könyvtárral és előre elkészített funkcióval, amelyek megkönnyítik a fejlesztést.
Szoftverek – interaktív alkalmazások, amelyek a készülék hardverén futnak
A szoftverek a CPU-n és más fő processzorokon futnak, felhasználva a RAM-ot és a flash-tárolót az adatok mentéséhez és betöltéséhez. Egy másik fontos szempont, hogy a szoftverek a hardver beállítása nélkül módosíthatók, így egyszerűen frissíthetők. Néhány kivételtől eltekintve a szoftvereket úgy tervezték, hogy a lehető legkevésbé legyenek hardverfüggetlenek.
A firmware-t ezzel szemben nem úgy tervezték, hogy a felhasználó közvetlenül interakcióba lépjen vele. Ehelyett ez a kód rejtett “legalsó szintje”, amely a készüléken fut. Bár szigorúan véve a firmware-nek is lehetnek különböző szintjei, ahogyan a szoftvereknek is különböző szintjeit tekinthetjük. Ahelyett, hogy a fő CPU-n futna, a firmware gyakran hardverdarabokhoz dedikált kisebb processzorokon fut. Ilyen lehet például egy flashmemória-meghajtó memóriavezérlője. A firmware-t jellemzően alacsony szintű nyelven, például C nyelven írják, kevés könyvtári támogatással, mivel a kódot nagymértékben az egyes eszközökre szabják.
Firmware – alacsony szintű kód, amely egy eszköz specifikus hardverét vezérli és konfigurálja
A firmware olyan kód, amely konfigurálja, hogyan működjön a hardver, és biztosítja annak alapvető funkcióit. Ez az alapvető gerinc, amely biztosítja a hardver működését és a magasabb szintű szoftverek általi elérhetőségét. A saját firmware-t futtató hardverek közé tartoznak a flashmemória-chipek, a CPU-k és a kijelzők. A firmware frissítése kicsit bonyolultabb lehet, mivel a rajta futó szoftverek függnek tőle. Ezért nem kell újraindítani a telefont egy alkalmazás frissítése után, de egy nagyobb Android-verziófrissítés telepítésekor szükség lesz rá.
Az okostelefon működésének fenntartása
A firmware vs. szoftver harc az okostelefonon belül zajlik. Valójában a kettő elengedhetetlen ahhoz, hogy minden zökkenőmentesen működjön. A firmware-rel közvetlenül soha nem lép kapcsolatba, de számos fontos funkciót lát el.
Az okostelefonon belüli firmware magában foglalja a kameramodulban futó kódot. Ez kezeli a képgyűjtést és a korai feldolgozást, mielőtt az adatokat átadná az ISP-nek és más feldolgozó komponenseknek. Hasonlóképpen a kijelzőnek is lesz egy saját apró mikroprocesszora, firmware-rel kiegészítve, amely a színadatokat, a fényerőt, a gammát és egyéb beállításokat kezeli. Még a CPU is rendelkezik saját firmware-rel egy alacsony szintű kernel formájában a feladatok ütemezésének, az órajelek sebességének és az energiafogyasztásnak az optimalizálására.
Az okostelefonok szoftveréhez tartozik az Android operációs rendszer, majd a rajta futó alkalmazások. Tehát az összes alkalmazásod szoftver, beleértve a Facebookot, a Chrome-ot, a Gmailt és a Play Store-t.
Mint láthatod, rendszeresen kapcsolatba lépsz, frissítesz, hozzáadsz és törölsz szoftvereket a készülékedről. A firmware szilárdan a háttérben marad.