Skirtumas tarp QNX ir VxWorks

Pirmas dalykas, kuris mums ateina į galvą išgirdus žodį operacinė sistema, yra programinė įranga, naudojama mūsų staliniuose kompiuteriuose ir nešiojamuosiuose kompiuteriuose, tokiuose kaip „Microsoft Windows“, „Linux“, „Ubuntu“ ir kt., Bei „Android“, skirta išmaniesiems telefonams. Tiesą sakant, daugumoje skaitmeninių elektroninių prietaisų veikia tam tikra operacinė sistema, kurios viduje yra sukurta mikrovaldiklio programa. Mikrovaldiklio evoliucija nutiesė kelią daugeliui įterptųjų sistemų programų, kurios vienaip ar kitaip vaidina lemiamą vaidmenį mūsų kasdieniniame gyvenime..

Viena iš tokių sistemų, apie kurią pastaruoju metu girdėjome, yra realaus laiko operacinė sistema arba tiesiog vadinama „RTOS“. RTOS yra operacinė sistema, naudojama realiojo laiko programoms, ty programoms, kurios apdoroja duomenis, kai jie gaunami per nustatytą laiko apribojimą. „QNX“ ir „VxWorks“ yra dvi skirtingos realaus laiko operacinės sistemos, daugiausia naudojamos pramoninėje ir akademinėje aplinkoje. Straipsnio tikslas yra palyginti nešališkai.

Kas yra QNX?

QNX yra komercinė realaus laiko operacinė sistema, iš pradžių sukurta įterptosioms sistemoms, o „Quantum Software Systems“ ją iš pradžių sukūrė devintojo dešimtmečio pradžioje. Vėliau Kanadoje įsikūrusi įmonė buvo pervadinta į QNX programinės įrangos sistemas, kurią galiausiai įsigijo „Research in Motion“ (RIM), kad galėtų naudoti kaip savo „BlackBerry 10“ OS ir tuomet populiariojo „BlackBerry Playbook“ pagrindą. Playbook'e naudota OS versija buvo „QNX Neutrino“, kuri buvo sukurta remiantis tikra mikrolaidų architektūra. QNX buvo pirmoji komerciškai sėkminga operacinė sistema, pagrįsta mikrokanalais. „QNX“ iš esmės yra į „Unix“ panaši operacinė sistema, pagrįsta tikru mikrolaidų dizainu ir moduline architektūra, kurioje operacinės sistemos elementai vykdomi kaip užduotys, vadinami išteklių valdytojais, o tai leistų kūrėjams išjungti visas funkcijas, kurios, jų manymu, nėra reikalingi tam tikroje sistemoje. Geriausias dalykas, susijęs su QNX, yra pagrįstas pranešimais pagrįstu tarpprocesiniu ryšiu.

Kas yra „VxWorks“?

„VxWorks“ yra realaus laiko operacinė sistema, specialiai sukurta paskirstytam skaičiavimui realiojo laiko programoms su įterptomis sistemomis. Tai patentuota realaus laiko operacinė sistema, kurią sukūrė „Wind River Systems“, Kalifornijoje įsikūrusi įmonė, kuri specializuojasi kurdama įterptąją programinę įrangą intelektualiai sujungtoms sistemoms. „VxWorks“ yra pramonėje pirmaujanti RTOS, daugiau nei tris dešimtmečius kurianti įterptines sistemas ir įrenginius. Tai monolitinis branduolys, turintis platų tarpprocesinį ryšį ir sinchronizavimo funkcijas. Kiekvienas „VxWorks“ kūrimas yra unikalus dėl savo architektūros, kai visa operacinė sistema veikia branduolio erdvėje, ty visos branduolio paslaugos ir vartotojo paslaugos egzistuoja toje pačioje adresų erdvėje, todėl operacinė sistema vykdoma greičiau. Tai teikia derinimo funkcijas, našumo stebėjimą, atminties valdymą, procesoriaus planavimą ir kitas operacinės sistemos funkcijas per sistemos skambučius.

Skirtumas tarp QNX ir VxWorks

  1. QNX ir VxWorks pagrindai

Abi yra labai unikalios realiojo laiko operacinės sistemos, specialiai skirtos realiojo laiko programoms su įterptosiomis sistemomis, kurių kiekviena turi įvairių komponentų apkrovas ir skirtingas funkcijas. Abi sistemos yra plačiai naudojamos didelėje pramoninėje ir akademinėje aplinkoje ir versle veikia per dešimtmečius. QNX yra komercinė RTOS, kurią devintojo dešimtmečio pradžioje sukūrė Kanadoje įsikūrusios „Quantum Software Systems“ ir kurią vėliau įsigijo RIM 2010 m. „VxWorks“ yra patentuota programinė įranga, kurią sukūrė Kalifornijoje įsikūrusi „Wind River Systems“, pramonės lyderė, kuri specializuojasi įterptosios programinės įrangos kūrime. skirtas intelektualiems prijungtiems gaminiams ir sistemoms.

  1. „QNX“ ir „VxWorks“ architektūra

Abi operacinės sistemos naudoja realaus laiko branduolį kritiškai svarbioms programoms, kurios apdoroja duomenis tuo metu, kai tai reiškia, kad sistemai taikomi realaus laiko apribojimai, užtikrinantys atsakymą per iš anksto nustatytus laiko apribojimus, kitaip vadinamus „terminais“. Pagrindinis skirtumas slypi architektūroje - nors QNX yra pagrįstas pranešimų perdavimo architektūra, „VxWorks“ naudojasi bendros atminties architektūra. Pranešimų perdavimas yra esminis branduolio dizainas, kuris leidžia sistemai perduoti informaciją iš vienos užduoties kitai ar keliems kitiems sistemos dalyviams. Bendrosios atminties architektūra reiškia sistemą, kuri turi savo asmeninę adresų vietą fiziškai paskirstytiems prisiminimams.

  1. Branduolys

Vienas pagrindinių skirtumų tarp dviejų realiojo laiko operacinių sistemų yra tas, kad QNX yra mikrokanalais pagrįsta OS, o „VxWorks“ yra monolitinis branduolys. Mikrokanalas yra tarsi maža operacinė sistema, naudojanti sistemos skambučius, kad būtų galima valdyti pagrindines paslaugas, tokias kaip adreso erdvės valdymas, gijų valdymas ir tarpprocesiniai ryšiai. Tai reiškia sistemą, kuriai įgyvendinti reikalingas ribotas primityvų rinkinys ir minimali programinės įrangos priklausomybė. Kita vertus, monolitinis branduolys valdo visas pagrindines paslaugas ir vartotojo apibrėžtas paslaugas, įskaitant tarpprocesinius ryšius apsaugotoje branduolio erdvėje. Kaip „monolitinis“ branduolys, „VxWorks“ yra autonominis.

  1. Planavimas

Kiekviena gija ar procesas turi savo prioritetą QNX. Pagal QNX visi procesai vykdomi remiantis prioritetais grindžiamu prevenciniu pagrindu, tai reiškia, kad procesas su aukščiausiu prioritetu pirmiausia pasiekia centrinį procesorių, o prioritetai svyruoja nuo 0 iki 31. Planavimas vyksta realiuoju laiku ir kiekviena gija paveldi savo tėvų prioritetus. pagal nutylėjimą. Kai dvi gijos turi tą patį prioritetą, QNX naudoja kitus planavimo metodus, tokius kaip FIFO, „Round-Robin“ ir „Sporadic“ planavimas. Kita vertus, „VxWorks“ naudoja tik dviejų tipų planavimo algoritmus: prevencinį prioritetą ir „Round-Robin“ planavimą. Kartu jie suteikia didesnį kontrolės efektyvumą vartotojams.

„QNX“ ir „VxWorks“: palyginimo diagrama

QNX versijos santrauka „VxWorks“

Jie abu yra branduolio pagrindu sukurtos realaus laiko operacinės sistemos, skirtos realiojo laiko programoms, kurioms reikia atlikti užduotis, kurias reikia apdoroti ir atlikti, nes jos patenka į iš anksto nustatytą laiko apribojimą, kitaip vadinamą terminais. Abu verslai dirba daugiau nei 25 metus ir specializuojasi kurdami įterptus produktus ir sistemas, tačiau čia ir baigiasi visi panašumai. QNX yra mikrokanalais paremta realaus laiko operacinė sistema, kuri pati yra gana patraukli dėl savo pranešimų perdavimo architektūros, kuri idealiai tinka kurti patikimas paskirstytas sistemas. „VxWorks“ yra monolitinis branduolys, pagrįstas bendrosios atminties architektūra, todėl jis idealiai tinka didelėms pramoninėms aplinkoms, tokioms kaip automobilių sistemos, avionika, plataus vartojimo elektronika ir kt..