Prvá vec, ktorá nám príde na myseľ, keď začujeme slovo operačný systém, je softvérový program používaný v našich stolových počítačoch a prenosných počítačoch, ako sú Microsoft Windows, Linux, Ubuntu atď. A Android pre smartphony. V skutočnosti väčšina digitálnych elektronických zariadení prevádzkuje určitý druh operačného systému, ktorý je vyvíjaný programom mikrokontroléra. Vývoj mikrokontroléra vydláždil cestu mnohým aplikáciám zabudovaného systému, ktoré tak či onak v každodennom živote zohrávajú rozhodujúcu úlohu..
Jeden taký systém, o ktorom sme v poslednej dobe počuli, je operačný systém v reálnom čase alebo jednoducho označovaný ako „RTOS“. RTOS je operačný systém, ktorý sa používa pre aplikácie v reálnom čase, čo znamená aplikácie, ktoré spracúvajú údaje tak, ako prichádzajú v rámci zadaného časového obmedzenia. QNX a VxWorks sú dva rôzne operačné systémy v reálnom čase, väčšinou používané v priemyselnom a akademickom prostredí. Účelom tohto článku je urobiť nezaujaté porovnanie medzi nimi.
QNX je komerčný operačný systém v reálnom čase pôvodne vyvinutý pre vstavané systémy a bol pôvodne vyvinutý spoločnosťou Quantum Software Systems začiatkom osemdesiatych rokov. Kanada so sídlom v Kanade bola neskôr premenovaná na QNX Software Systems a nakoniec ju získala spoločnosť Research in Motion (RIM) na použitie ako základ pre ich BlackBerry 10 OS a potom populárny BlackBerry Playbook. Verzia operačného systému použitá v Príručke bola QNX Neutrino, ktorá bola postavená na skutočnej architektúre mikrok jadier. QNX bol prvý komerčne úspešný operačný systém založený na mikrokerneloch. QNX je v podstate operačný systém podobný Unixu založený na skutočnom dizajne mikrokernel a modulárnej architektúre, kde prvky operačného systému fungujú ako úlohy, známe ako Resource Managers, ktoré by vývojárom umožnili vypnúť všetky funkcie, o ktorých si myslia, že nie sú požadované v konkrétnom systéme. Najlepšie na QNX je to, že je založený na komunikácii založenej na správach.
VxWorks je operačný systém v reálnom čase špeciálne navrhnutý pre distribuované výpočty pre aplikácie v reálnom čase so zabudovanými systémami. Je to proprietárny operačný systém v reálnom čase vyvinutý spoločnosťou Wind River Systems, kalifornskou spoločnosťou špecializujúcou sa na vývoj vstavaného softvéru pre inteligentné pripojené systémy. VxWorks je špičkový RTOS, ktorý vyrába vstavané systémy a zariadenia už viac ako tri desaťročia. Je to monolitické jadro s rozsiahlou medziprocesovou komunikáciou a synchronizačnými funkciami. Každá zostava VxWorks je jedinečná kvôli svojej architektúre, kde celý operačný systém pracuje v jadre, čo znamená, že všetky služby jadra a užívateľské služby existujú v rovnakom adresovom priestore, čo urýchľuje vykonávanie operačného systému. Poskytuje ladiace funkcie, monitorovanie výkonu, správu pamäte, plánovanie CPU a ďalšie funkcie operačného systému prostredníctvom systémových volaní.
Oba sú veľmi jedinečné operačné systémy v reálnom čase špeciálne určené pre aplikácie v reálnom čase so zabudovanými systémami, z ktorých každý má veľa rôznych komponentov s rôznymi funkciami. Oba systémy sa široko používajú vo veľkých priemyselných a akademických prostrediach a podnikajú už desaťročia. QNX je komerčný RTOS vyvinutý kanadskými Quantum Software Systems na začiatku 80. rokov 20. storočia, ktorý neskôr získal spoločnosť RIM v roku 2010. VxWorks je patentovaný softvér vyvinutý spoločnosťou Wind River Systems v Kalifornii, ktorá je popredným odvetvím v oblasti budovania zabudovaného softvéru. pre inteligentné pripojené produkty a systémy.
Oba operačné systémy používajú jadro v reálnom čase pre kritické aplikácie, ktoré spracúvajú údaje tak, ako to prichádza, čo znamená, že systém podlieha obmedzeniam v reálnom čase, ktoré zaručujú reakciu v rámci vopred definovaných časových obmedzení, inak známych ako „termíny“. Hlavný rozdiel spočíva v architektúre - zatiaľ čo QNX je založená na architektúre odovzdávania správ, VxWorks sa prepožičiava architektúre zdieľanej pamäte. Odovzdávanie správ je základom návrhu jadra, ktoré umožňuje systému odovzdávať informácie z jednej úlohy do druhej alebo niekoľkým ďalším v systéme. Architektúra zdieľanej pamäte sa týka systému, ktorý má svoj vlastný súkromný adresný priestor pre fyzicky distribuované pamäte.
Jedným z kľúčových rozdielov medzi dvoma operačnými systémami v reálnom čase je to, že QNX je operačný systém založený na mikrok jadrách, zatiaľ čo VxWorks je monolitické jadro. Mikrokernel je ako malý operačný systém, ktorý využíva systémové volania na správu základných služieb, ako je správa adresného priestoru, správa vlákna a medziprocesová komunikácia. Vzťahuje sa na systém, ktorý na implementáciu OS vyžaduje obmedzený súbor primitív a minimálnu softvérovú závislosť. Monolitické jadro na druhej strane riadi všetky základné služby a služby definované používateľom vrátane medziprocesovej komunikácie v chránenom jadre. Ako monolitické jadro je VxWorks samostatný.
Každé vlákno alebo proces má v QNX svoju vlastnú prioritu. V rámci QNX všetky procesy bežia na preventívne riadenom základe, čo znamená, že proces s najvyššou prioritou sa dostane najskôr k CPU a priority sa pohybujú od 0 do 31. Plánovanie prebieha v reálnom čase a každé vlákno zdedí prioritu rodičov. predvolene. Ak majú dve vlákna rovnakú prioritu, QNX použije iné metódy plánovania, ako napríklad FIFO, Round-Robin a Sporadic Scheduling. Na druhej strane VxWorks používa iba dva typy algoritmov plánovania, preventívne plánovanie založené na prioritách a Round-Robin. Spoločne poskytujú používateľom vyšší stupeň kontroly pre efektívne plánovanie.
Obidva operačné systémy založené na jadre v reálnom čase určené pre aplikácie v reálnom čase, ktoré si vyžadujú spracovanie a dokončenie úloh v rámci vopred definovaného časového obmedzenia, inak označovaného ako termíny. Obidve spoločnosti pôsobia už viac ako 25 rokov a špecializujú sa na vývoj vstavaných produktov a systémov, ale tu sa všetky podobnosti skončia. QNX je mikrokernel založený operačný systém v reálnom čase, ktorý je sám osebe fascinujúci vďaka svojej architektúre založenej na odovzdávaní správ, ktorá je ideálna na výrobu spoľahlivých distribuovaných systémov. VxWorks je monolitické jadro založené na architektúre zdieľanej pamäte, vďaka čomu je ideálne pre veľké priemyselné prostredia, ako sú automobilové systémy, avionika, spotrebná elektronika atď..