Първото нещо, което ни идва наум, когато чуем думата операционна система, е софтуерната програма, използвана в нашите настолни компютри и лаптопи, като Microsoft Windows, Linux, Ubuntu и т.н., и Android за смартфони. Всъщност повечето от цифровите електронни устройства работят с някаква операционна система, която е разработена от програмата за микроконтролери. Еволюцията на микроконтролера проправи път за множество вградени системни приложения, които играят решаваща роля в ежедневния ни живот по един или друг начин..
Една такава система, за която чуваме напоследък, е операционната система в реално време или просто наричана „RTOS“. RTOS е операционна система, която се използва за приложения в реално време, означава приложенията, които обработват данни, тъй като те влизат в рамките на определено време. QNX и VxWorks са две различни операционни системи в реално време, използвани до голяма степен в промишлени и академични среди. Целта на статията е да направи безпристрастно сравнение между двете.
QNX е търговска операционна система в реално време, първоначално разработена за вградени системи и първоначално е разработена от Quantum Software Systems в началото на 80-те години. Базираната в Канада компания по-късно е преименувана на QNX Software Systems и в крайна сметка е придобита от Research in Motion (RIM) за използване като основа за тяхната BlackBerry 10 OS и популярната тогава BlackBerry Playbook. Версията на операционната система, използвана в Playbook, е QNX Neutrino, която е изградена върху истинска архитектура на микрокенера. QNX беше първата в търговската мрежа операционна система, базирана на микрокенери. QNX е всъщност подобна на Unix операционна система, базирана на истински дизайн на микрокенера и модулна архитектура, където елементите на операционната система работят като задачи, известни като Мениджъри на ресурси, което би позволило на разработчиците да изключат всяка функционалност, която според тях не е необходими вече в конкретната система. Най-хубавото на QNX е, че се основава на междупроцесова комуникация на базата на съобщения.
VxWorks е операционна система в реално време, специално проектирана за разпределени изчисления за приложения в реално време с вградени системи. Това е собствена операционна система в реално време, разработена от Wind River Systems, калифорнийска компания, специализирана в разработването на вграден софтуер за интелигентни свързани системи. VxWorks е водещият в индустрията RTOS, който изгражда вградени системи и устройства повече от три десетилетия. Това е монолитно ядро с обширни междупроцесови комуникации и синхронизиращи функции. Всяка компилация на VxWorks е уникална поради неговата архитектура, където цялата операционна система работи в пространството на ядрото, което означава, че всички услуги на ядрото, а потребителските услуги съществуват в едно и също адресно пространство, което прави изпълнението на операционната система по-бързо. Той осигурява функции за отстраняване на грешки, мониторинг на производителността, управление на паметта, планиране на процесора и други функции на операционната система чрез системни повиквания.
И двете са много уникални операционни системи в реално време, специално предназначени за приложения в реално време с вградени системи, всяка с много различни компоненти с различни функционалности. И двете системи са широко използвани в големи индустриални и академични среди и работят в продължение на десетилетия. QNX е комерсиален RTOS, разработен от базираната в Канада Quantum Software Systems в началото на 80-те години на миналия век, който по-късно е придобит от RIM през 2010 г. VxWorks е патентован софтуер, разработен от базираната в Калифорния Wind River Systems, индустриален лидер, специализиран в изграждането на вграден софтуер за интелигентни свързани продукти и системи.
И двете операционни системи използват ядрото в реално време за критични за мисията приложения, които обработват данни, тъй като са налични, което означава, че системата е подложена на ограничение в реално време, което гарантира отговор в рамките на предварително определени времеви ограничения, иначе известни като „крайни срокове“. Основната разлика се състои в архитектурата - докато QNX се основава на архитектура за предаване на съобщения, VxWorks се поддава на споделена архитектура на паметта. Предаването на съобщение е от съществено значение за дизайна на ядрото, което позволява на системата да предава информация от една задача на друга или на няколко други в системата. Архитектурата на споделената памет се отнася до система, която има свое лично пространство за физически разпределени памет.
Една от ключовите разлики между двете операционни системи в реално време е, че QNX е операционна система, базирана на микрокенери, докато VxWorks е монолитно ядро. Микрокернелът е като малка операционна система, която използва системни обаждания за управление на основни услуги като управление на адресното пространство, управление на нишки и междупроцесови комуникации. Отнася се до система, която изисква ограничен набор от примитиви и минимална софтуерна зависимост за внедряване на ОС. От друга страна, монолитно ядро управлява всички основни услуги и дефинирани от потребителя услуги, включително междупроцесови комуникации в защитено пространство на ядрото. Като монолитно ядро, VxWorks е самостоятелен.
Всяка нишка или процес има свой приоритет в QNX. Под QNX всички процеси протичат на задвижване с приоритет, което означава, че процесът с най-висок приоритет се получава първо за достъп до процесора и приоритетите варират от 0 до 31. Планирането се извършва в реално време и всяка нишка наследява приоритета на родителя си по подразбиране. Когато две нишки споделят един и същ приоритет, други методи на планиране се използват от QNX като FIFO, Round-Robin и Sporadic Scheduling. VxWorks, от друга страна, използва само два типа алгоритми за планиране, превантивно базирани на приоритет и Round-Robin планиране. Заедно те осигуряват по-голяма степен на контрол на потребителите за ефективно планиране.
И двете са базирани на ядрото операционни системи в реално време, предназначени за приложения в реално време, които изискват задачи да бъдат обработени и завършени, тъй като те влизат в предварително определено ограничение във времето, в противен случай посочено като крайни срокове. И двамата са в бизнеса повече от 25 години и са специализирани в разработването на вградени продукти и системи, но тук приключват всички прилики. QNX е базирана на микрокенерирани операционни системи в реално време, която е доста завладяваща сама по себе си, благодарение на своята архитектура за предаване на съобщения, която е идеална за създаване на надеждни разпределени системи. VxWorks е монолитно ядро, базирано на споделена архитектура на паметта, което го прави идеален за големи индустриални среди като автомобилни системи, авионика, потребителска електроника и т.н..