IoT:n, tekoälyn ja koneoppimisen käytön kasvaessa nykypäivän laitevalmistajien on ymmärrettävä saatavilla olevat kaupalliset tai avoimen lähdekoodin käyttöjärjestelmät. Tässä kuvataan kolme käyttöjärjestelmää ja niiden ominaisuudet, joiden avulla voidaan löytää optimaalinen, helppokäyttöinen, turvallinen, vaatimustenmukainen ja tehokas alusta suunnitteluun ja valmistettavuuteen tuotteen elinkaaren aikana.
Käyttöjärjestelmä voi olla vakaa yritysluokan ratkaisu, kuten Ubuntu ja Windows, jotka ovat helppokäyttöisiä ja monipuolisia, mutta joita ei ole helppo muokata. Toinen vaihtoehto on käyttää sulautettua Linux-ratkaisua, kuten Yocto Project, ja usein julkaistavia versioita erittäin muokattavissa olevista ratkaisuista. Kolmas vaihtoehto on reaaliaikainen käyttöjärjestelmä.
Nykyään kehittäjät haluavat yritysluokan käyttöjärjestelmän vakauden ja helppokäyttöisyyden sekä perinteisen sulautetun käyttöjärjestelmän suorituskyvyn, muokattavuuden ja vähän muistia vievän koon.
MITÄ TARKOITTAA YRITYSLUOKKA?
Enterprise- eli yritysluokalla tarkoitetaan sovelluksia, jotka on suunniteltu kestäviksi ja skaalautuviksi laajaan organisaatioon, ja jotka ovat riittävän tehokkaita vastaamaan sitä käyttävien yritysten tarpeita. Yritysluokan käyttö- järjestelmä on monipuolinen ja vakaa, ja se sisältää vuosittaisia julkaisupäivityksiä, rikkaan tai näyttävän grafiikan ja helppokäyttöisyyden Debianissa ja Ubuntussa.
Sulautettujen sovellusten kehittäjät voivat helposti lisätä valmiita paketteja tai sovelluksia käyttö- järjestelmään käyttämällä kohdepakettien hallintatyökaluja. Koko käyttöjärjestelmä on tyypillisesti esiasennettu binaarinen käynnistyskuvatiedosto, joten käyttöönotto on nopeaa ja helppoa. Kehitys tehdään tyypillisesti suoraan kohteeseen eli isäntäkoneeseen ja käytössä on runsaasti resursseja asioiden lisäämiseen, kuten kääntimiä.
Yritysluokan käyttöjärjestelmä voi kuitenkin olla haaste, kun kirjoitetaan sovelluksia 32-bittiselle Arm-prosessorille, josta puuttuu riittävät resurssit kohdennetuille kehitystyökaluille. Eri alustoilla toimivia kehitystyökaluja ei ole usein saatavilla, mikä pakottaa käyttäjät kehittämään sovelluksia isäntäraudalle. Perinteistä yritystason käyttöjärjestelmää ei ole helppo muokata, koska se vie muistia yli gigatavun verran. Käynnistysaika voi olla 30 sekuntia tai pidempi, mikä vaikeuttaa optimointia, kun yritetään vastata perinteisen sulautetun käyttöjärjestelmän nopeuteen.
SULAUTETTU LINUX- JÄRJESTELMÄ
Perinteisessä sulautetussa Linux-käyttöjärjestelmässä kehittäjät työskentelevät tyypillisesti lähdekoodin tasolla ja määrittävät koko käyttöjärjestelmän vähintään siten, että se kootaan (build) lähdekoodista ensimmäisen kerran. Tämä mahdollistaa käyttöjärjestelmän skaalautumisen ja kehittäjät voivat tyypillisesti pienentää käyttöjärjestelmän alle gigatavuun. Käyttäjät voivat helposti portata Linux -käyttöjärjestelmän eri laitteisiin ja optimoida sen käynnistymään nopeammin kuin yritystason käyttöjärjestelmän.
Linux-käyttöjärjestelmä tarjoaa reaaliaikaisia ominaisuuksia ja hyvää suorituskykyä. Koska kehitys tapahtuu lähdekoodin tasolla, sulautetut käyttöjärjestelmät ovat hyvin muokattavissa, mutta tämä voi tulla kalliiksi. Oppimiskäyrä on korkeampi perinteisessä sulautetussa Linux-käyttöjärjestelmässä verrattuna yritystason ratkaisuun. Jos esimerkiksi sulautettu kehittäjä haluaa lisätä Chromiumin kaltaisen sovelluksen laitteeseen, kun hän rakentaa käyttöjärjestelmää Yocto-projektin avulla, kehittäjän on luotava kerros ja kirjoitettava reseptejä varmistaakseen, että kaikki Chromiumin edellytykset on rakennettu mukaan ja otettu käyttöön kohdekuvatiedostossa. Tämä voi olla melko aikaa vievää.
Verrattuna Debianin kaltaiseen yritystason käyttöjärjestelmään sulautetun Linuxin kehittäjien on vain asennettava Chromium, joka sisältää kaikki riippuvuudet. Sen lataaminen kestää vain muutaman minuutin. Lähdepohjaisen käyttöjärjestelmän käytön mahdollinen puute on kuitenkin se, että jos käyttäjä ei ole varovainen, on erittäin mahdollista luoda useita muunnelmia. 10 kehittäjää voi tehdä 10 muutosta samaan lähdetiedostoon helposti. Siten voi olla 10 eri versiota binaarista tuotteen 10 eri versiossa. Esimerkiksi eräs suuri asiakas teki sisäisen tarkastuksen vain saadakseen selville, että heillä oli sisäisesti käytössä satoja Linux-variantteja. Tämä pakotti heidät etsimään erilaista Linuxia, eli binaarista yritysluokan sulautettua Linuxia.
DEBIAN-LINUX
Debian on yritysluokan Linux-käyttöjärjestelmä, joka on ollut olemassa ”ikuisesti” ja jota käytetään nykyään sulautetuissa laitteissa. Ubuntu perustuu Debianiin ja sen käyttäjäkunta on yritysluokan Linuxeista kaikkein suurin, joten siihen perehtyneiden kehittäjien löytäminen on helppoa. Debian on erittäin vakaa, ja siitä julkaistaan uusi versio kahden tai useamman vuoden välein.
Käyttöjärjestelmä on monipuolinen sisältäen yli 59 000 valmiiksi rakennettua pakettia, jotka toimivat hyvin yhdessä. Pakettisyötteiden avulla Debianin kehittäjät voivat helposti laajentaa käyttöjärjestelmää.
Debianilla on erittäin hyvin dokumentoitu kehityskäytäntö, johon on pakko sitoutua ja joka tarjoaa korkealaatuista dokumentaatiota ja keskitetyn vianseurantajärjestelmän. Yocto-projektiin verrattuna jokainen paketti sisältää ytimen, avoimen SSL:n, Qt:n graafisten käyttöliittymien luomiseen, ja alustariippumattomat sovellukset. Jokaisella näistä työkaluista on omat kehityspolitiikkansa, mukaan lukien mahdollisesti erilaiset vianseurantamekanisminsa.
Lisäksi Debian tarjoaa työkaluja tiedostojärjestelmän mukauttamiseen ja mukautettujen käyttö- järjestelmäkuvatiedostojen luomiseen. Työkalujen oppiminen voi kuitenkin olla aikaa vievää ja Debianin koon pienentäminen ja sen mukauttaminen voi olla vaikeaa näitä työkaluja käytettäessä. Toinen huomioon otettava seikka Debianin ja muiden ei-kaupallisten käyttöjärjestelmien kohdalla on tuen tai tieturvakorjausten saaminen yhteisöltä sen jälkeen, kun niitä ei enää tarjota. Haasteita voi myös muodostaa tekninen ongelma, jota yhteisö aio korjata nykyisessä julkaisussa.
MENTOR EMBEDDED LINUX OMNI OS
Kolmas Linux-tyyppi on Mentor Embedded Linux (MEL) Omni OS, joka perustuu Debianiin. Se tarjoaa molempien edellä esiteltyjen maailmojen parhaat puolet. MEL Omni OS tarjoaa yritysluokan käyttöjärjestelmän tärkeimmät edut yhdessä sulautetun käyttöjärjestelmän koon, konfiguroitavuuden ja suorituskyvyn kanssa. Lisäksi se tukee pilviliitettävyyttä ja IoT-ratkaisujen ominaisuuksia. MEL Omni OS sisältää sekä reaaliaikaisen sulautetun ytimen että version, joka tukee ennakoivaa (preemptive) moniajoa. MEL Omni OS yhdistää yritysluokan ja sulautetun käyttöjärjestelmän parhaat ominaisuudet binaarijakeluversioon, mikä mahdollistaa esimerkiksi UL 2900 -standardoinnin.
Kehittäjät voivat käyttää valmiita binaarisia käyttöjärjestelmäkuvia tai määrittää ja mukauttaa tarvittavat käyttöjärjestelmät. Tämä ratkaisu mahdollistaa laitteiden kunnon seurannan ja suojatut ohjelmistopäivitykset laitteiden käyttöönottoa varten. Monet kaupalliset kumppanit tukevat MEL Omni OS - käyttöjärjestelmää, ja ne tarjoavat palveluja sekä kehittämisen että käyttöönoton jälkeen.
Artikkeli on ilmestynyt ETNdigi-lehden numerossa 2/2021. Sen voit lukea täällä.