Kjunix?!? Never heard before…?

Har dy ikke hørt om Kjunix før? Er du helt sikkert? Du tror du har ikke enda brukt Kjunix?

Jeg synes at her ligger du helt feil… Kjunix er

qnx-logo-black-medium

Ja da! Uttalen av QNX er Kjunix. Og QNX er temaet jeg vil gjerne skrive om i dag.

Hvorfor jeg vil skrive om QNX? Enkelt sagt vi alle bruker innebygde systemer blant annet i bil, i telefon eller kanskje også på jobb. Og QNX har blitt gullstandard i industriområde.

I 1982 tallet utviklet 2 studenter til universitet til Waterloo i Kanada, Gordon Bell og Dan Dodge, sitt eget ektetidsoperativsystem som skulle basere på mikrokjernen. Første navn av QNX var Qunix og derfor kaller man QNX fortsatt Kjunix. Rask ble QNX til mest brukte system på innebygde systemer. Sikkerhet og effektivitet var og fortsatt er hovedfokuss.

Da BlackBerry fant ut at sine gamle Java-systemer er ikke lengre brukbar på nye enheter kjøpte BlackBerry QNX og begynte å bruke systemet på sine enheter.

BlackBerry PlayBook

PlayBooka var den første nye generasjon av enheter som grep på QNX mikrokjernen. Mikrokjernen kalles en operativsystemkjernen. De mikrokjerne rår i motsetning til en monolittisk kjerne over kun grunnleggende funksjoner – vanligvis fungerer bare lagrings-  og prosessledelse , og grunnleggende funksjoner for synkronisering og kommunikasjon. Alle andre funksjoner blir som separate prosesser (servere) som kommuniserer med de søkene programmer (klient), eller som et bibliotek, som er inkludert av søkene programmer, implementert i brukermodus .

QNX_Microkernel

Det betyr i motsetning til vanlige kjerneneat mikrokjernen utfører kun viktigste prosesser som lagringsforvaltning i minne og prosessforvaltning i CPUen. Resten kan utføre operativsystemet selv.

QNX består av ca. 97.000 programlinjer, mens den vanlige kjernen til Linux består allerede av 14 millioner programlinjer, Androidkjernen av mer enn 10 millioner programlinjer og Windows 7 består av ca 40 millioner programlinje. Selv Mac OS X «Tiger» består av mer enn 70 millioner programlinjer.

programlinjer_operativsystemer_apper

Bakgrunnen at antall av programlinjer er viktig for stabilitet og sikkerhet ligger i mennesker som programmerer. I IKT utvikling sier man at i hver 1.000 programlinje finner man minst 1 feil. Vanligvis er det kun småfeiler og ikke viktig for vanlig bruk, men i kritiske systemer kan 1 feil i hver 1.000 linje føre til store systemfeiler som kan føre til store skader – både menneskeskader eller økonomiske skader.

Etter PlayBooka lanserte BlackBerry sin nye generasjon av smarttelefoner. Generasjonen av BB10 ble fødet.

BlackBerry Z10 limited edition

Men mobile enheter er ikke alt i QNX livet. Operativsystemet blir brukt blant annet i atomkraftverker, vannkraftverker, i produksjonen, i biler, i roboter, i medisinske enheter og mange andre innebygde systemer.

[youtube id=»wY9AzUfSdKU» align=»center» mode=»normal» autoplay=»no» grow=»yes»]

[youtube id=»ygTIFvn5CVs» align=»center» mode=»normal» autoplay=»no» grow=»yes»]

QNX utfører overalt der sine oppgaver hvor det er nødvendig å ha et system som er pålitelig både i kritiske situasjoner eller hvor man trenger et sikkert, rask og ressurssparende system.

[youtube id=»m-2JfUZ0dv8″ align=»center» mode=»normal» autoplay=»no» grow=»yes»]

Mer enn 60 millioner biler rundt om på verden bruker allerede QNX og det blir stadig og stadig flere som begynner å innsette systemet. Feks. du kjøper deg den nye Volkswagen Passat. Her sitter du i midten av QNX enheter, eller tenk på nye Mercedes generasjon, BMW generasjon, Ford generasjon osv… Alle setter på QNX.

qnx-software-systems-9-638

[youtube id=»tMEG5WSUE7A» align=»center» mode=»normal» autoplay=»no» grow=»yes»]

Spørsmålet om hvorfor flere setter stor pris på QNX og hvorfor QNX har blitt gullstandard i industriområde kan man besvare på enkelt måte og er begrunnet i mikrokjernen selv. Mikrokjernen leverer sikkerhet også når en eller flere prosesser slutter å virke. Mens vanlige kjerner som blant annet finnes i Windows, crasher komplett når en prosess slutter å virke så crasher mikrokjernen ikke og heller ikke slutter å virke. Tenker man kun på virksomheter av enkelte prosesser i bilen så har fungerende mikrokjernen essentiell betydning. I fall av uhell så skulle ikke kun radio fortsette å virke, nei også airbags, ABS, ESP, osv. Samme gjelder for kraftverker. Når et system crasher så må restlige systemer fortsatt fungere.

Da QNX er et ektetidsoperativsystem har betegnelse stor betydning for mikrokjernen. Ektetidsoperativsystemer må forarbeide forespørrer øyeblikkelig – avslutter man en prosess så må den har blitt avsluttet i øyeblikk en trykker på knappen. Samtidig må systemet inneholde feilidentifiseringsmekanisme og må garantere å overholde definerte svar i verste fall i førdefinert tid. Hvis det oppstå feil i systemet så må operativsystemet viser hva og hvor feilen er for å forhindre gjentakelse i fremtiden. Å garantere å overholde definerte svar i verste fall har derfor essentiell betydning slik at hele systemet eller deler av systemet fortsatt virker når det oppstå feil eller uhell. Tenk på uhell med bil: sensor på frontsiden blir ved crash ødelaggt og slutter å virke. Her må systemet i veldig kort tid gi svar at airbags og nødbremsing blir utløst med en gang slik at skadene blir minimert.

Som John Chen sa engang: BlackBerry har sikkerhet i sin DNA og bygger ikke festninger på usikkert fundament.

Konklusjonen er at QNX er et stabilt, rask og sikkert operativsystem som forarbeider forspørrer i ektetiden, og i tiden av internett av dings, smarttelefoner, nye generasjoner av biler er det enda viktigere å sette på et system som klarer alle disse ting uten å crashe når en eller flere prosesser slutter å virke. Etter min mening er QNX operativsystemet til fremtiden – også da ikke alle ser dette nå.

[youtube id=»NrWzXIxrWq8″ align=»center» mode=»normal» autoplay=»no» grow=»yes»]

Selvfølgelig finnes også rykter om bruk av QNX på mobile enheter, men om disse og andre ting vil jeg skrive i en annen artikkel.