První věc, která nás napadne, když uslyšíme slovo operační systém, je softwarový program používaný v našich stolních počítačích a noteboocích, jako jsou Microsoft Windows, Linux, Ubuntu atd. A Android pro smartphony. Ve skutečnosti většina digitálních elektronických zařízení provozuje nějaký druh operačního systému, který je vyvíjen programem mikrokontroléru. Vývoj mikrokontroléru vydláždil cestu mnoha aplikacím vestavěného systému, které hrají tak či onak zásadní roli v našem každodenním životě..
Jeden takový systém, o kterém jsme v poslední době slyšeli, je operační systém v reálném čase, nebo jednoduše označovaný jako „RTOS“. RTOS je operační systém, který se používá pro aplikace v reálném čase, což znamená aplikace, které zpracovávají data tak, jak přicházejí v rámci zadaného časového omezení. QNX a VxWorks jsou dva různé operační systémy v reálném čase, používané převážně v průmyslovém a akademickém prostředí. Účelem článku je provést nezaujaté srovnání mezi nimi.
QNX je komerční operační systém v reálném čase původně vyvinutý pro vestavěné systémy a byl původně vyvinut společností Quantum Software Systems na počátku 80. let. Kanadská společnost byla později přejmenována na QNX Software Systems a nakonec byla získána společností Research in Motion (RIM) pro použití jako základ pro jejich BlackBerry 10 OS a poté populární BlackBerry Playbook. Verze operačního systému použitá v Playbooku byla QNX Neutrino, která byla postavena na skutečné mikrokernové architektuře. QNX byl první komerčně úspěšný operační systém založený na mikrokernelech. QNX je v podstatě unixový operační systém založený na skutečném designu mikrokernelu a modulární architektuře, kde prvky operačního systému fungují jako úkoly, známé jako Resource Managers, které by vývojářům umožnily vypnout jakoukoli funkci, o které se domnívají, že není požadované v konkrétním systému. Nejlepší věcí na QNX je to, že je založen na meziprocesní komunikaci založené na zprávách.
VxWorks je operační systém v reálném čase speciálně navržený pro distribuované výpočty pro aplikace v reálném čase s vestavěnými systémy. Je to proprietární operační systém v reálném čase vyvinutý společností Wind River Systems, kalifornskou společností specializující se na vývoj vestavěného softwaru pro inteligentní připojené systémy. VxWorks je špičkový RTOS, který staví vestavěné systémy a zařízení více než tři desetiletí. Je to monolitické jádro s rozsáhlou meziprocesovou komunikací a synchronizačními funkcemi. Každá sestava VxWorks je jedinečná díky své architektuře, kde celý operační systém pracuje v prostoru jádra, což znamená, že všechny služby jádra a uživatelské služby existují ve stejném adresním prostoru, což zrychluje provádění operačního systému. Poskytuje funkce ladění, sledování výkonu, správu paměti, plánování CPU a další funkce operačního systému prostřednictvím systémových volání.
Oba jsou velmi unikátní operační systémy v reálném čase speciálně určené pro aplikace v reálném čase s vestavěnými systémy, každý se spoustou různých komponent s různými funkcemi. Oba systémy jsou široce používány ve velkých průmyslových a akademických prostředích a fungují již více než desetiletí. QNX je komerční RTOS vyvinutý kanadským systémem Quantum Software Systems na počátku 80. let 20. století, který byl později získán společností RIM v roce 2010. VxWorks je patentovaný software vyvinutý společností Wind River Systems z Kalifornie, která je předním výrobcem v oboru zaměřeným na vytváření vestavěného softwaru. pro inteligentní připojené produkty a systémy.
Oba operační systémy používají jádro v reálném čase pro kritické aplikace, které zpracovávají data tak, jak to znamená, že systém podléhá omezení v reálném čase, které zaručuje reakci v předem definovaných časových omezeních, jinak známých jako „termíny“. Hlavní rozdíl spočívá v architektuře - zatímco QNX je založeno na architektuře předávání zpráv, VxWorks se propůjčuje architektuře sdílené paměti. Předávání zpráv je zásadní pro návrh jádra, který umožňuje systému předávat informace z jedné úlohy do druhé nebo několika dalším v systému. Architektura sdílené paměti označuje systém, který má svůj vlastní soukromý adresní prostor pro fyzicky distribuované paměti.
Jedním z klíčových rozdílů mezi dvěma operačními systémy v reálném čase je to, že QNX je operační systém založený na mikrok jádrech, zatímco VxWorks je monolitické jádro. Mikrokernel je jako malý operační systém, který využívá systémová volání ke správě základních služeb, jako je správa adresového prostoru, správa vláken a meziprocesová komunikace. Vztahuje se na systém, který k implementaci operačního systému vyžaduje omezenou sadu primitiv a minimální softwarovou závislost. Monolitické jádro naproti tomu spravuje všechny základní služby a služby definované uživatelem, včetně meziprocesové komunikace v chráněném prostoru jádra. Jako monolitické jádro je VxWorks samostatný.
Každé vlákno nebo proces má v QNX svou vlastní prioritu. V rámci QNX běží všechny procesy na preventivně řízeném základě, což znamená, že proces s nejvyšší prioritou získá první přístup k CPU a rozsah priorit od 0 do 31. Plánování probíhá v reálném čase a každé vlákno zdědí prioritu nadřazené ve výchozím stavu. Když dvě vlákna sdílejí stejnou prioritu, QNX používá jiné metody plánování, jako je FIFO, Round-Robin a Sporadic Scheduling. Na druhé straně VxWorks používá pouze dva typy algoritmů plánování, preventivní plánování založené na prioritách a Round-Robin. Společně poskytují uživatelům vyšší stupeň kontroly pro efektivní plánování.
Oba jsou operační systémy pracující v reálném čase založené na jádře určené pro aplikace v reálném čase, které vyžadují zpracování a dokončení úkolů, které přicházejí v rámci předem definovaného časového omezení, jinak označovaného jako termíny. Oba jsou v podnikání více než 25 let a specializují se na vývoj vestavěných produktů a systémů, ale to je místo, kde končí všechny podobnosti. QNX je mikrokernel založený operační systém v reálném čase, který je sám o sobě fascinující díky architektuře založené na předávání zpráv, která je ideální pro výrobu spolehlivých distribuovaných systémů. VxWorks je monolitické jádro založené na architektuře sdílené paměti, díky čemuž je ideální pro velká průmyslová prostředí, jako jsou automobilové systémy, avionika, spotřební elektronika atd..