QNX ja VxWorks

Anonim

Ensimmäinen asia, joka tulee mieleen, kun kuulemme sanaa käyttöjärjestelmästä, on ohjelmisto, jota käytetään pöytätietokoneissa ja kannettavissa tietokoneissa kuten Microsoft Windows, Linux, Ubuntu jne. Ja Android älypuhelimille. Itse asiassa useimmilla digitaalisilla elektroniikkalaitteilla on jonkinlainen käyttöjärjestelmä, jonka sisällä mikrokontrolleriohjelma kehittää. Mikrokontrollerin kehitys on tuonut esiin lukuisia sulautettuja sovelluksia, joilla on tärkeä rooli jokapäiväisessä elämästämme tavalla tai toisella.

Yksi tällainen järjestelmä, josta olemme kuulleet viime aikoina, on reaaliaikainen käyttöjärjestelmä tai yksinkertaisesti nimitystä "RTOS". RTOS on käyttöjärjestelmä, jota käytetään reaaliaikaisiin sovelluksiin tarkoittaen sovelluksia, jotka käsittelevät tietoja, kun ne tulevat tietyn aikarajoituksen sisällä. QNX ja VxWorks ovat kahta eri reaaliaikaista käyttöjärjestelmää, joita käytetään suurelta osin teollisuus- ja akateemisissa ympäristöissä. Artikkelin tarkoituksena on tehdä puolueeton vertailu näiden kahden välillä.

Mikä on QNX?

QNX on kaupallinen reaaliaikainen käyttöjärjestelmä, joka alunperin kehitettiin upotetuille järjestelmille ja jonka alun perin kehitti Quantum Software Systems 1980-luvun alussa. Kanadassa toimiva yhtiö nimitettiin myöhemmin nimellä QNX Software Systems ja Research in Motion (RIM) hankkii sen pohjaksi BlackBerry 10 -käyttöjärjestelmälle ja sitten suosituille BlackBerry-pelikirjoille. Peliohjelmassa käytetyn käyttöjärjestelmän versio oli QNX Neutrino, joka rakennettiin todelliseen mikrokernel-arkkitehtuuriin. QNX oli ensimmäinen kaupallisesti menestyvä mikrokernel-pohjainen käyttöjärjestelmä. QNX on pohjimmiltaan Unixin kaltainen käyttöjärjestelmä, joka perustuu todenmukainen mikrokernelisuunnitteluun ja modulaariseen arkkitehtuuriin, jossa käyttöjärjestelmän elementit toimivat tehtävinä, kuten Resource Managers, joiden avulla kehittäjät voivat poistaa käytöstä sellaiset toiminnot, joita he ajattelevat olevan vaaditaan enää tietyssä järjestelmässä. Parasta QNX: stä on se, että se perustuu sanomapohjaiseen prosessointiviestintään.

Mikä on VxWorks?

VxWorks on reaaliaikainen käyttöjärjestelmä, joka on suunniteltu erityisesti hajautettuun tietojenkäsittelyyn reaaliaikaisissa sovelluksissa sulautettujen järjestelmien kanssa. Se on omistama reaaliaikainen käyttöjärjestelmä, jonka on kehittänyt Wind River Systems, Kaliforniassa toimiva yritys, joka on erikoistunut sulautettujen ohjelmistojen kehittämiseen älykkäisiin yhdistettyihin järjestelmiin. VxWorks on alan johtava RTOS, joka on rakentanut sulautettuja järjestelmiä ja laitteita yli kolme vuosikymmentä. Se on monoliittinen ydin, jossa on laaja prosessien välinen tiedonsiirto ja synkronointitoiminnot. Jokainen VxWorksin rakenne on ainutlaatuinen arkkitehtuurinsa ansiosta, jolloin koko käyttöjärjestelmä toimii ytimen tilassa, joten kaikki ytimen palvelut ja käyttäjäpalvelut ovat samassa osoiteympäristössä, mikä nopeuttaa käyttöjärjestelmän suorittamista. Se tarjoaa virheenkorjaustoiminnot, suoritusseurannan, muistinhallinnan, CPU-aikataulun ja muut käyttöjärjestelmän toiminnot järjestelmäpuhelujen avulla.

Ero QNX: n ja VxWorksin välillä

  1. QNX: n ja VxWorksin perusteet

Molemmat ovat hyvin ainutlaatuisia reaaliaikaisia ​​käyttöjärjestelmiä, jotka on tarkoitettu erityisesti reaaliaikaisiin sovelluksiin sulautettujen järjestelmien kanssa, joissa on runsaasti eri komponentteja, joilla on eri toiminnot. Molemmat järjestelmät ovat laajalti käytössä suurissa teollisissa ja akateemisissa ympäristöissä, ja ne ovat olleet liiketoimintaa jo vuosikymmenien ajan. QNX on kaupallinen RTOS, jonka kehittivät kanadalaiset Quantum Software Systems 1980-luvun alussa ja jotka RIM on hankkinut myöhemmin vuonna 2010. VxWorks on kalifornialaislähtöisen Wind River Systemsin, alan kehittäjä, joka on erikoistunut sulautettujen ohjelmistojen rakentamiseen älykkäälle kytketyille tuotteille ja järjestelmille.

  1. QNX- ja VxWorks-arkkitehtuuri

Molemmat käyttöjärjestelmät käyttävät reaaliaikainen ydin operaatiokriteereille, jotka käsittelevät dataa, koska se merkitsee sitä, että järjestelmä joutuu reaaliaikaiseen rajoitteeseen, joka takaa reagoinnin ennalta määritetyissä aikarajoissa, eli "määräajat". Suurin ero on arkkitehtuurissa - kun taas QNX perustuu viestien kulkevaan arkkitehtuuriin, VxWorks sopii yhteiseen muistiarkkitehtuuriin.Viestien kulku on perusta ytimen suunnittelulle, jonka ansiosta järjestelmä voi siirtää tietoja tehtävistä toiseen tai useisiin muihin järjestelmään. Jaettu muistiarkkitehtuuri viittaa järjestelmään, jolla on oma fyysisesti hajautettujen muistiensa osoite.

  1. Ydin

Yksi tärkeimmistä eroista kahden reaaliaikaisen käyttöjärjestelmän välillä on, että QNX on mikrokernelperustainen OS, kun taas VxWorks on monoliittinen ydin. Mikrokone on kuin pieni käyttöjärjestelmä, joka hyödyntää järjestelmäpuheluja peruspalveluiden, kuten osoiteavaruuden hallinnan, viestien hallinnan ja välisten yhteyksien hallintaan. Se viittaa järjestelmään, joka vaatii rajoitetun joukon primitiivejä ja vähimmäisohjelmistojen riippuvuutta OS: n toteuttamiseksi. Monoliittinen ydin hallinnoi sen sijaan kaikkia peruspalveluja ja käyttäjän määrittämiä palveluita, kuten prosessien välistä viestintää suojatussa ytimen tilassa. Monoliittisena ytimenä VxWorks on itsenäinen.

  1. aikataulutus

Jokaisella langalla tai prosessilla on oma prioriteetti QNX: ssä. QNX: n mukaan kaikki prosessit toimivat prioriteettisesti perustuvilla ennaltaehkäisevillä perusteilla siten, että prosessin, jolla on korkein prioriteetti, pääsee pääsemään keskusyksikköön ja prioriteetit vaihtelevat välillä 0 - 31. Aikataulutus tapahtuu reaaliajassa ja jokainen säie perii sen vanhemman prioriteetin oletuksena. Kun kahdella kierroksella on sama prioriteetti, QNX, kuten FIFO, Round-Robin ja Sporadic Scheduling, käyttävät muita ajoitusmenetelmiä. VxWorks käyttää toisaalta vain kahta ajoitusalgoritmia, ennaltaehkäisevää prioriteettipohjaista ja Round-Robin-aikataulua. Yhdessä ne tarjoavat käyttäjille tehokkaamman hallinnan tehokkaaseen aikatauluun.

QNX vs. VxWorks: vertailukuvio

Yhteenveto QNX Vs. VxWorks

Molemmat ovat ydinpohjaisia ​​reaaliaikaisia ​​käyttöjärjestelmiä, jotka on tarkoitettu reaaliaikaisiin sovelluksiin, jotka edellyttävät tehtävien käsittelyä ja suorittamista, kun ne tulevat ennalta määritellyn aikarajoituksen sisällä, toisin sanoen määräajat. Molemmat ovat toimineet yli 25 vuoden ajan ja ovat erikoistuneet sulautettujen tuotteiden ja järjestelmien kehittämiseen, mutta kaikki samankaltaisuudet loppuvat. QNX on mikrokernelipohjainen reaaliaikainen käyttöjärjestelmä, joka on melko kiehtova omasta sanomapohjaisesta arkkitehtuuristaan, joka on ihanteellinen luotettavien jaettujen järjestelmien luomiseen. VxWorks on monitieteinen ydin, joka perustuu jaettuun muistiarkkitehtuuriin, mikä tekee siitä ihanteellisen suurille teollisuusympäristöille, kuten autoteollisuudelle, avioniikalle, kulutuselektroniikalle jne.