Prvo što nam padne na pamet kad čujemo riječ operativni sustav je softver koji se koristi na našim stolnim računalima i prijenosnim računalima kao što su Microsoft Windows, Linux, Ubuntu itd. I Android za pametne telefone. U stvari, većina digitalnih elektroničkih uređaja pokreće nekakav operativni sustav unutar kojeg je razvijen programom mikrokontrolera. Evolucija mikrokontrolera utrla je put brojnim ugrađenim sistemskim aplikacijama koje na ovaj ili onaj način igraju presudnu ulogu u svakodnevnom životu..
Jedan takav sustav o kojem u posljednje vrijeme čujemo je operativni sustav u stvarnom vremenu, ili jednostavno nazvan "RTOS". RTOS je operativni sustav koji se koristi za aplikacije u stvarnom vremenu, što znači aplikacije koje obrađuju podatke dok oni ulaze u određenom vremenskom ograničenju. QNX i VxWorks dva su različita operativna sustava u stvarnom vremenu, koji se uvelike koriste u industrijskim i akademskim okruženjima. Svrha je članka nepristrano usporediti to dvoje.
QNX je komercijalni operativni sustav u stvarnom vremenu koji je u početku razvijen za ugrađene sustave, a izvorno ga je razvio Quantum Software Systems početkom 1980-ih. Kanadska tvrtka kasnije je preimenovana u QNX Software Systems i na kraju je kupljena od strane Research in Motion (RIM) radi korištenja kao temelja za njihov BlackBerry 10 OS i tada popularnu BlackBerry Playbook. Verzija OS-a koja se koristi u Playbooku bila je QNX Neutrino koja je izgrađena na istinskoj arhitekturi mikrokernela. QNX je bio prvi komercijalno uspješan operativni sustav temeljen na mikrokernelima. QNX je u osnovi Unix operativni sustav zasnovan na stvarnom mikrokernel dizajnu i modularnoj arhitekturi gdje se elementi operativnog sustava prikazuju kao zadaci, poznati kao Upravitelji resursa, što bi programerima omogućilo isključivanje bilo koje funkcionalnosti za koju misle da nije što je potrebno u određenom sustavu. Najbolja stvar kod QNX-a temelji se na interprocesnoj komunikaciji na temelju poruke.
VxWorks je operativni sustav u stvarnom vremenu posebno dizajniran za distribuirano računanje za aplikacije u stvarnom vremenu s ugrađenim sustavima. To je vlasnički operativni sustav u stvarnom vremenu koji je razvio Wind River Systems, kalifornijska tvrtka specijalizirana za razvoj ugrađenog softvera za inteligentne povezane sustave. VxWorks je vodeći u industriji RTOS koji već tri tri desetljeća gradi ugrađene sustave i uređaje. To je monolitno jezgro s opsežnim međuprocesnim komunikacijskim i sinkronizacijskim funkcijama. Svaka gradnja VxWorksa jedinstvena je zbog njegove arhitekture u kojoj cijeli operativni sustav radi u prostoru kernele što znači da sve usluge kernela, a korisničke usluge postoje u istom adresnom prostoru što brže izvršava operativni sustav. Omogućuje uklanjanje pogrešaka, nadzor performansi, upravljanje memorijom, zakazivanje CPU-a i ostale funkcije operacijskog sustava putem sistemskih poziva.
Oba su vrlo jedinstveni operativni sustavi u stvarnom vremenu, posebno namijenjeni aplikacijama u stvarnom vremenu s ugrađenim sustavima, a svaki ima mnoštvo različitih komponenti s različitim funkcionalnostima. Oba sustava su široko korištena u velikom industrijskom i akademskom okruženju i posluju već desetljećima. QNX je komercijalni RTOS koji je rani 1980-ih razvio kanadski Quantum Software Systems, a kasnije ga je RIM kupio 2010. VxWorks je vlasnički softver koji je razvio kalifornijski Wind River Systems, vodeći u industriji specijaliziran za izgradnju ugrađenog softvera za inteligentne povezane proizvode i sustave.
Oba operativnog sustava koriste kernel u stvarnom vremenu za kritične aplikacije koje obrađuju podatke u tom slučaju što znači da se sustav podvrgava ograničenju u stvarnom vremenu koje jamči odgovor unutar unaprijed definiranih vremenskih ograničenja, inače poznatih kao "rokovi". Glavna razlika leži u arhitekturi - dok se QNX temelji na arhitekturi prolaska poruka, VxWorks se predaje zajedničkoj arhitekturi memorije. Prijenos poruke je od presudne važnosti za dizajn jezgre koji omogućava sustavu prosljeđivanje informacija s jednog zadatka na drugi ili na nekoliko drugih u sustavu. Arhitektura zajedničke memorije odnosi se na sustav koji ima vlastiti privatni adresni prostor za fizički distribuirane memorije.
Jedna od ključnih razlika između dva operativna sustava u stvarnom vremenu je ta što je QNX operativni sustav temeljen na mikrovodima, dok je VxWorks monolitno jezgro. Mikrokernel je poput malog operativnog sustava koji koristi sistemske pozive za upravljanje osnovnim uslugama poput upravljanja adresnim prostorom, upravljanja nitima i međuprocesne komunikacije. Odnosi se na sustav koji zahtijeva ograničen skup primitiva i minimalnu ovisnost o softveru da bi se implementirao OS. Monolitna jezgra, s druge strane, upravlja svim osnovnim uslugama i uslugama definiranim od strane korisnika, uključujući međuprocesne komunikacije u zaštićenom prostoru kernela. Kao monolitna jezgra, VxWorks je samodostatan.
Svaka nit ili postupak ima svoj prioritet u QNX-u. Pod QNX-om svi se procesi odvijaju na principu prioriteta usmjerenog na prioritet, što znači da proces s najvišim prioritetom prvo pristupa CPU-u, a prioriteti se kreću od 0 do 31. Zakazivanje se događa u stvarnom vremenu i svaka nit nasljeđuje prioritet svog roditelja prema zadanom. Kad dvije niti imaju isti prioritet, QNX koriste druge metode za planiranje, kao što su FIFO, Round-Robin i Sporadično zakazivanje. S druge strane, VxWorks koristi samo dvije vrste algoritama zakazivanja, pretpostavljeno na temelju prioriteta i Round-Robin zakazivanje. Zajedno pružaju veći stupanj kontrole korisnicima za učinkovito planiranje.
Oba su operacijski sustavi u stvarnom vremenu temeljeni na jezgri namijenjeni aplikacijama u stvarnom vremenu koje zahtijevaju da se zadaci obrađuju i dovršavaju dok ulaze u unaprijed definirano vremensko ograničenje, a inače se nazivaju rokovima. Oboje su u poslu više od 25 godina i specijalizirani su za razvoj ugrađenih proizvoda i sustava, ali tu prestaju sve sličnosti. QNX je operativni sustav temeljen na mikrokernelima u stvarnom vremenu koji je sam po sebi fascinantan zahvaljujući arhitekturi koja prolazi kroz poruke koja je idealna za izradu pouzdanih distribuiranih sustava. VxWorks je monolitno jezgro zasnovano na arhitekturi zajedničke memorije što ga čini idealnim za velika industrijska okruženja kao što su automobilski sustavi, avionika, potrošačka elektronika itd..