Esimene asi, mis sõna operatsioonisüsteemi kuuldes meelde tuleb, on tarkvaraprogramm, mida kasutatakse meie lauaarvutites ja sülearvutites (nt Microsoft Windows, Linux, Ubuntu jne) ja nutitelefonides Android. Tegelikult töötab enamikul digitaalsetest elektroonikaseadmetest mingi opsüsteem, mille sees töötab välja mikrokontrolleri programm. Mikrokontrolleri areng on sillutanud teed arvukatele manustatud süsteemide rakendustele, millel on ühel või teisel viisil otsustav roll meie igapäevases elus..
Üks selliseid süsteeme, millest oleme viimasel ajal kuulnud, on reaalajas operatsioonisüsteem või lihtsalt viidatud kui “RTOS”. RTOS on opsüsteem, mida kasutatakse reaalajas rakenduste jaoks, mis tähendab rakendusi, mis töötlevad andmeid kindlaksmääratud aja piires. QNX ja VxWorks on kaks erinevat reaalajas operatsioonisüsteemi, mida kasutatakse suuresti tööstuslikus ja akadeemilises keskkonnas. Artikli eesmärk on teha nende kahe vahel erapooletu võrdlus.
QNX on kommertsreaalajas töötav opsüsteem, mis töötati algselt välja manustatud süsteemide jaoks ja mille algselt töötas välja Quantum Software Systems 1980. aastate alguses. Kanadas asuv ettevõte nimetati hiljem ümber QNX tarkvarasüsteemideks ja lõpuks omandas Research in Motion (RIM) nende BlackBerry 10 OS-i ja seejärel populaarse BlackBerry mänguraamatu vundamendina. Playbookis kasutatud OS-i versioon oli QNX Neutrino, mis oli üles ehitatud tõelisele mikrokanalite arhitektuurile. QNX oli esimene kaubanduslikult edukas mikrokanalitel põhinev opsüsteem. QNX on põhimõtteliselt Unixi-laadne opsüsteem, mis põhineb tõelisel mikrokanalite kujundusel ja modulaarsel arhitektuuril ning kus opsüsteemi elemendid töötavad ülesannetena, mida nimetatakse ressursside halduriteks, mis võimaldaks arendajatel välja lülitada kõik funktsioonid, mis nende arvates pole konkreetses süsteemis enam vajalik. Parim asi QNXi puhul on see, et see põhineb sõnumipõhisel protsessidevahelisel suhtlusel.
VxWorks on reaalajas töötav opsüsteem, mis on spetsiaalselt loodud hajutatud andmetöötluse jaoks manustatud süsteemidega reaalajas rakenduste jaoks. See on patenteeritud reaalajas operatsioonisüsteem, mille on välja töötanud Californias asuv ettevõte Wind River Systems, mis on spetsialiseerunud intelligentsete ühendatud süsteemide manustatud tarkvara väljatöötamisele. VxWorks on tööstuse juhtiv RTOS, mis on manustatud süsteeme ja seadmeid ehitanud juba üle kolme aastakümne. See on monoliitne tuum, millel on ulatuslik protsessidevaheline side ja sünkroonimisfunktsioonid. Iga VxWorksi versioon on ainulaadne oma arhitektuuri tõttu, kus kogu opsüsteem töötab tuuma ruumis, mis tähendab, et kõik tuuma teenused ja kasutajate teenused asuvad samas aadressiruumis, mis muudab opsüsteemi kiiremaks täitmise. See pakub silumisfunktsioone, jõudluse jälgimist, mäluhaldust, protsessori ajastamist ja muid opsüsteemi funktsioone süsteemikõnede kaudu.
Mõlemad on väga ainulaadsed reaalajas opsüsteemid, mis on spetsiaalselt ette nähtud manustatud süsteemidega reaalajas rakenduste jaoks, millest igaüks sisaldab koormusi erinevaid komponente, millel on erinevad funktsioonid. Mõlemat süsteemi kasutatakse laialdaselt suurtes tööstuslikes ja akadeemilistes keskkondades ning nad on tegutsenud juba aastakümneid. QNX on Kanadas asuva Quantum Software Systems poolt 1980. aastate alguses välja töötatud kommertslik RTOS, mille RIM omandas hiljem 2010. aastal. VxWorks on omandis olev tarkvara, mille on välja töötanud Californias asuv Wind River Systems, kes on manustatud tarkvara ehitamisele spetsialiseerunud tööstuse juht. intelligentsete ühendatud toodete ja süsteemide jaoks.
Mõlemad operatsioonisüsteemid kasutavad reaalajas kerneli missioonikriitiliste rakenduste jaoks, mis töötlevad andmeid sellisel kujul, nagu süsteem tähendab, et reaalajas kehtivad piirangud, mis tagavad reageerimise eelnevalt kindlaksmääratud ajaliste piirangute, nn “tähtaegade” piires. Peamine erinevus seisneb arhitektuuris - kuigi QNX põhineb sõnumit edastaval arhitektuuril, pakub VxWorks end jagatud mäluarhitektuurile. Sõnumi edastamine on kerneli kujundamisel ülioluline, mis võimaldab süsteemil edastada teavet ühest ülesandest teise või süsteemi mitmele teisele. Jagatud mälu arhitektuur viitab süsteemile, millel on füüsiliselt jaotatud mälestuste jaoks oma privaatne aadressiruum.
Üks peamisi erinevusi kahe reaalajas operatsioonisüsteemi vahel on see, et QNX on mikrokernelil põhinev OS, samas kui VxWorks on monoliitne tuum. Mikrokanal on nagu väike opsüsteem, mis kasutab süsteemikõnesid selliste põhiteenuste haldamiseks nagu aadressiruumi haldus, lõimehaldus ja protsessidevaheline suhtlus. See viitab süsteemile, mis nõuab OS-i rakendamiseks piiratud hulka primitiivide komplekti ja minimaalset tarkvara sõltuvust. Monoliitne tuum seevastu haldab kõiki põhiteenuseid ja kasutaja määratletud teenuseid, sealhulgas protsessidevahelist suhtlust kaitstud tuuma ruumis. Kuna monoliitne tuum on VxWorks iseseisev.
Igal lõimul või protsessil on QNX-is oma prioriteet. QNX-i tingimustes töötavad kõik protsessid prioriteedipõhiselt ennetavalt, st kõige kõrgema prioriteediga protsess pääseb kõigepealt protsessorile juurde ja prioriteedid jäävad vahemikku 0 kuni 31. Ajastus toimub reaalajas ja iga lõim pärib oma vanema prioriteedi vaikimisi. Kui kahel lõimel on sama prioriteet, kasutab QNX muid ajastamismeetodeid, näiteks FIFO, Round-Robin ja Sporadic. VxWorks seevastu kasutab ainult kahte tüüpi sõiduplaani algoritme: ennetav prioriteedipõhine ja Round-Robini ajakava. Üheskoos võimaldavad nad tõhusa ajakava kasutajatele suuremat kontrolli.
Mõlemad on tuumapõhised reaalajas operatsioonisüsteemid, mis on ette nähtud reaalajas rakenduste jaoks ja mis nõuavad tööde töötlemist ja lõpetamist, kuna need satuvad eelnevalt määratletud ajapiirangu alla, mida muidu nimetatakse tähtaegadeks. Mõlemad tegutsevad üle 25 aasta ja on spetsialiseerunud manustatud toodete ja süsteemide väljatöötamisele, kuid just sellega lõppevad kõik sarnasused. QNX on mikrokanalitel põhinev reaalajas operatsioonisüsteem, mis on üksi põnev tänu oma sõnumite edastamise põhisele arhitektuurile, mis sobib ideaalselt usaldusväärsete hajutatud süsteemide loomiseks. VxWorks on ühisel mäluarhitektuuril põhinev monoliitne tuum, mis muudab selle ideaalseks suurtes tööstuskeskkondades, näiteks autosüsteemid, avioonika, tarbeelektroonika jne..