Prva stvar, ki nam pade na pamet, ko slišimo besedni operacijski sistem, je program, ki se uporablja v naših namiznih računalnikih in prenosnih računalnikih, kot so Microsoft Windows, Linux, Ubuntu itd., In Android za pametne telefone. Pravzaprav večina digitalnih elektronskih naprav poganja nekakšen operacijski sistem, znotraj katerega je razvit program mikrokontrolerjev. Evolucija mikrokontrolerjev je utrla pot številnim vgrajenim sistemskim aplikacijam, ki igrajo ključno vlogo v našem vsakodnevnem življenju tako ali drugače..
Eden takšnih sistemov, o katerem v zadnjem času slišimo, je operacijski sistem v realnem času ali pa ga preprosto imenujemo "RTOS". RTOS je operacijski sistem, ki se uporablja za aplikacije v realnem času, kar pomeni, da aplikacije, ki obdelujejo podatke v določenem časovnem obdobju. QNX in VxWorks sta dva različna operacijska sistema v realnem času, ki se večinoma uporabljata v industrijskem in akademskem okolju. Namen članka je narediti nepristransko primerjavo obeh.
QNX je komercialni operacijski sistem v realnem času, ki je bil sprva razvit za vgrajene sisteme, sprva pa ga je razvil Quantum Software Systems v zgodnjih osemdesetih letih. Kanadsko podjetje se je pozneje preimenovalo v QNX Software Systems in ga na koncu podjetje Research in Motion (RIM) pridobilo za uporabo kot temelj njihovega BlackBerry 10 OS in takrat priljubljene BlackBerry Playbook. Različica OS, ki je bila uporabljena v Playbook-u, je bila QNX Neutrino, ki je bila zgrajena na resnični arhitekturi mikrokernov. QNX je bil prvi komercialno uspešen operacijski sistem na osnovi mikrokernel. QNX je v osnovi Unixu podoben operacijski sistem, ki temelji na resnični mikrokernelni zasnovi in modularni arhitekturi, kjer elementi operacijskega sistema delujejo kot naloge, znani kot Upravljalci virov, kar bi razvijalcem omogočilo izklop vsake funkcionalnosti, za katero menijo, da ni v določenem sistemu več. Najboljša stvar pri QNX je, da temelji na medprocesni komunikaciji na osnovi sporočil.
VxWorks je operacijski sistem v realnem času, zasnovan posebej za porazdeljeno računalništvo za aplikacije v realnem času z vgrajenimi sistemi. Gre za lastniški operacijski sistem v realnem času, ki ga je razvil Wind River Systems, kalifornijsko podjetje, specializirano za razvoj vdelane programske opreme za inteligentne povezane sisteme. VxWorks je vodilni v industriji RTOS, ki že več kot tri desetletja gradi vgrajene sisteme in naprave. To je monolitno jedro z obsežnimi medprocesnimi komunikacijami in sinhronizacijskimi funkcijami. Vsaka sestava VxWorks je edinstvena zaradi svoje arhitekture, kjer celoten operacijski sistem deluje v prostoru jedra, kar pomeni, da vse storitve jedra in uporabniške storitve obstajajo v istem naslovnem prostoru, zaradi česar je izvedba operacijskega sistema hitrejša. Omogoča funkcije odpravljanja napak, spremljanje učinkovitosti, upravljanje pomnilnika, načrtovanje CPU-ja in druge funkcije operacijskega sistema s sistemskimi klici.
Oba sta zelo edinstvena operacijska sistema v realnem času, posebej namenjena aplikacijam v realnem času z vgrajenimi sistemi, vsak pa ima različne komponente z različnimi funkcionalnostmi. Oba sistema se pogosto uporabljata v velikih industrijskih in akademskem okolju in poslujeta že več desetletij. QNX je komercialni RTOS, ki ga je v začetku osemdesetih let prejšnjega stoletja razvil kanadski Quantum Software Systems, ki ga je RIM pozneje pridobil leta 2010. VxWorks je lastniška programska oprema, ki jo je razvil kalifornijski Wind River Systems, vodilni v industriji, specializiran za gradnjo vdelane programske opreme za inteligentne povezane izdelke in sisteme.
Oba operacijska sistema uporabljata jedro v realnem času za kritične aplikacije, ki obdelujejo podatke, kolikor pride, kar pomeni, da je sistem podvržen omejitvi v realnem času, ki zagotavlja odziv v vnaprej določenih časovnih omejitvah, sicer imenovanih "roki". Glavna razlika je v arhitekturi - medtem ko QNX temelji na arhitekturi, ki prenaša sporočilo, se VxWorks podeljuje arhitekturi skupnega pomnilnika. Prenos sporočil je bistvenega pomena za obliko jedra, ki sistemu omogoča prenos informacij iz ene naloge v drugo ali na več drugih v sistemu. Arhitektura skupnega pomnilnika se nanaša na sistem, ki ima svoj zasebni naslovni prostor za fizično porazdeljene pomnilnike.
Ena ključnih razlik med obema operacijskima sistemoma v realnem času je, da je QNX operacijski sistem, ki temelji na mikrokanalu, medtem ko je VxWorks monolitno jedro. Mikrokernel je kot majhen operacijski sistem, ki sistemske klice uporablja za upravljanje osnovnih storitev, kot so upravljanje naslovnega prostora, upravljanje niti in medprocesna komunikacija. Nanaša se na sistem, ki zahteva omejen nabor primitivov in minimalno odvisnost od programske opreme za izvajanje OS. Na drugi strani monolitno jedro upravlja z vsemi osnovnimi storitvami in uporabniško definiranimi storitvami, vključno z medprocesno komunikacijo v zaščitenem prostoru jedra. Kot monolitno jedro je VxWorks samostojen.
Vsaka nit ali postopek ima svojo prednost v QNX. V QNX vsi procesi tečejo s prednostno usmerjeno predkupno potjo, kar pomeni, da postopek z najvišjo prednostjo prej pride do dostopa do CPE-ja, prioritete pa segajo od 0 do 31. Razpored poteka v realnem času in vsaka nit podeduje prednost svojega starša privzeto. Če imata dve niti isto prednostno nalogo, QNX uporabljajo druge načine načrtovanja, kot so FIFO, Round-Robin in Sporadično načrtovanje. Po drugi strani VxWorks uporablja samo dve vrsti algoritmov načrtovanja, predhodno prednostno in krožno-robinsko načrtovanje. Skupaj zagotavljajo večjo stopnjo nadzora uporabnikom za učinkovito načrtovanje.
Oba sta v realnem času osnovana na jedrcih, namenjena aplikacijam v realnem času, ki zahtevajo obdelavo in dokončanje nalog, ko nastopijo v vnaprej določeni časovni omejitvi, sicer imenovani roki. Oba sta v poslu več kot 25 let in sta specializirana za razvoj vgrajenih izdelkov in sistemov, vendar se tu končajo vse podobnosti. QNX je operacijski sistem v realnem času na osnovi mikrokernel, ki je sam po sebi fascinanten, zahvaljujoč svoji arhitekturi, ki temelji na sporočilu, ki je idealna za izdelavo zanesljivih porazdeljenih sistemov. VxWorks je monolitno jedro, ki temelji na deljeni spominski arhitekturi, zaradi česar je idealno za velika industrijska okolja, kot so avtomobilski sistemi, avionika, potrošniška elektronika itd..