Jos olet joskus harrastanut mukautettuja ROM-ohjelmia tai asentanut manuaalisesti Android-käyttöjärjestelmäpäivityksen, olet ehkä törmännyt termiin ”firmware”. Kun käyttöjärjestelmäpäivitystä flashataan, ohjelmisto on rakennettava laitekohtaista firmwarea tai laitteistoa varten. Tämä ero on osasyy siihen, miksi Androidin uusimman version levittäminen kaikkiin laitteisiin voi kestää niin kauan.
Ei ole heti selvää, mutta firmwaren ja ohjelmiston välillä on kriittinen ero, joista jälkimmäinen on luultavasti paljon tutumpi termi. Lyhyesti sanottuna firmware istuu hyvin lähellä laitteistoa, kun taas ohjelmisto istuu firmwaren päällä. Asiaan liittyy hieman enemmänkin, ja joillakin alueilla on tilaa pienelle ristikkäisyydelle. Tutkitaan siis firmware vs. software hieman syvällisemmin.
Firmware vs. software
Kumpikin, firmware ja software, ovat koodinpätkiä, jotka toimivat puhelimesi ja muiden vempaimien sisällä olevassa laitteistossa. Keskeinen ero on siinä, mitä ne on suunniteltu tekemään, minne ne on tallennettu ja kuinka helppo niitä on päivittää ja muuttaa.
Ohjelmistoa pidetään yleisesti ohjelmana tai koodinpätkänä, joka on suunniteltu käyttäjän vuorovaikutukseen. Se on koodin ”ylätaso”, joka mahdollistaa käyttäjille sen, mitä he tarvitsevat. Tämä voi olla sovellus älypuhelimessa, kotinäytön widget ja aivan sen alapuolella jopa itse Android-käyttöjärjestelmä. Ohjelmistot kirjoitetaan yleensä korkean tason kielellä, kuten Javalla, ja niissä on paljon kirjastoja ja valmiita toimintoja, jotka helpottavat kehitystä.
Ohjelmisto – interaktiiviset sovellukset, jotka suoritetaan laitteen laitteistossa
Ohjelmisto toimii suorittimessa ja muissa pääsuorittimissa hyödyntäen RAM-muistia ja flash-tallennustilaa tietojen tallentamiseen ja lataamiseen. Keskeistä on myös se, että ohjelmistoja voidaan muuttaa ilman, että laitteistoa tarvitsee säätää, joten niiden päivittäminen on helppoa. Joitakin poikkeuksia lukuun ottamatta ohjelmistot on suunniteltu siten, että ne ovat mahdollisimman riippumattomia laitteistosta.
Firmware-ohjelmistoja sen sijaan ei ole suunniteltu siten, että käyttäjä voisi olla suoraan vuorovaikutuksessa niiden kanssa. Sen sijaan se on piilotettu ”alin taso” koodia, joka toimii laitteessa. Vaikka tarkkaan ottaen firmwarea voi olla eri tasoilla, aivan kuten voimme pitää eri ohjelmistotasoja. Sen sijaan, että laiteohjelmisto toimisi pääsuorittimessa, se toimii usein pienemmissä prosessoreissa, jotka on omistettu laitteiston osille. Tällaisia voivat olla esimerkiksi flash-muistiaseman muistiohjain. Firmware kirjoitetaan tyypillisesti matalan tason kielellä, kuten C:llä, ja siinä on vain vähän kirjastotukea, koska koodi on pitkälti räätälöity yksittäisille laitteille.
Firmware – matalan tason koodi, jolla ohjataan ja konfiguroidaan laitekohtaisia laitteistoja
Firmware on koodia, jolla konfiguroidaan se, miten laitteiston tulisi toimia, ja joka huolehtii sen perustoiminnoista. Se on olennainen selkäranka, joka varmistaa, että laitteisto toimii ja että korkeamman tason ohjelmistot voivat käyttää sitä. Omaa laiteohjelmistoaan käyttäviä laitteistoja ovat esimerkiksi flash-muistipiirit, suorittimet ja näytöt. Laiteohjelmiston päivittäminen voi olla hieman hankalampaa, koska sen päällä toimivat ohjelmistot ovat riippuvaisia siitä. Tämän vuoksi puhelinta ei tarvitse käynnistää uudelleen sovelluksen päivittämisen jälkeen, mutta se on tarpeen, kun asennat suuren Android-versiopäivityksen.
Älypuhelimen käynnissä pitäminen
Ohjelmiston ja ohjelmiston välinen taistelu käydään älypuhelimen sisällä. Itse asiassa nämä kaksi ovat välttämättömiä, jotta kaikki toimisi moitteettomasti. Et koskaan ole suoraan tekemisissä laiteohjelmiston kanssa, mutta se suorittaa useita tärkeitä toimintoja.
Älypuhelimesi sisällä olevaan laiteohjelmistoon kuuluu kameramoduulin sisällä pyörivä koodi. Se huolehtii kuvien keräämisestä ja varhaisesta käsittelystä ennen tietojen luovuttamista ISP:lle ja muille käsittelykomponenteille. Samoin näytöllä on oma pieni mikroprosessorinsa laiteohjelmistoineen, joka käsittelee väritietoja, kirkkautta, gamma-arvoa ja muita asetuksia. Jopa suorittimella on oma laiteohjelmistonsa matalan tason ytimen muodossa, jolla optimoidaan tehtävien ajoitus, kellotaajuudet ja virrankulutus.
Älypuhelimen ohjelmisto sisältää Android-käyttöjärjestelmän ja sen päällä toimivat sovellukset. Kaikki sovelluksesi ovat siis ohjelmistoja, mukaan lukien Facebook, Chrome, Gmail ja Play Store.
Kuten näet, olet säännöllisesti vuorovaikutuksessa laitteesi ohjelmistojen kanssa, päivität, lisäät ja poistat niitä. Firmware pysyy tiukasti taustalla.