QNX

A HupWiki-ből...

Tartalomjegyzék

QNX

QNX
[[]]
Fejlesztő QNX Software Systems
OS Unix-típusú, valós idejű
Kategória operációs rendszer
Licenc 2007.09.12-től Nyílt forráskód nem-kereskedelmi felhasználáshoz, fizetős licensz kereskedelmi alkalmazásokhoz
Weboldal www.qnx.com

QNX

A QNX (kiejtve Q-N-X vagy Q-nix) egy kereskedelmi POSIX-kompatibilis Unix-szerű valósidejű operációs rendszer.
Nagy stabilitású, hibatűrő,hadiipari minősítéssel rendelkező RTOS.
Ez talán a legjobb mikrokernel alapú operációs rendszer.
A QNX-et beágyazott rendszer-ekhez és olyan alapvető infrastruktúrát felügyelő/vezérlő rendszerekhez ajánlott, ahol katasztrofális következményei lehetnek egy esetleges szoftverhibának.


Open Sorce - 2007 Szept. 9-től nyilt forráskódú a QNX Neutrino kernel és az OS komponensek. Új licenszelési politika - New Hybrid Software Model

Ismertetés

A QNX Neutrino OS [1] Mikrokerneles [2] architektúrát alkalmaz, SMP (többprocesszoros) rendszert támogat, megfelel a legutóbbi IEEE 1003.1 (POSIX) szabványnak, amely definiálja a multithread-es rendszereket.
A bejelentés utáni, 6.0.0 verzió még csak az x86 processzort támogatta.
A 6.2 verzió utáni, a legújabb 6.3.3 verzió esetében a hardver architektúra az

  • x86-on kívül még lehet:
  • PPC (IBM, Motorola),
  • MIPS,
  • StrongARM (Intel),
  • SH4 (Hitachi) is.

Multicore (többmagos) processzor támogatással rendelkezik.
Az OS teljesen preemptív, még a processzek közötti üzenetváltás közben is.
A QNX Neutrino mikrokernelen belül az alábbi szolgáltatások vannak jelen:

  • threads (programszálak),
  • message passing (üzenetváltásos ) mechanizmus (Send-Receive-Reply),
  • signals, (processzek közötti jelzések)
  • clocks, (valósidejű óra, 1mSec)
  • timers, (nanosec felbontás)
  • interrupt handlers, (nested,egymásba ágyazható interrupt-ok)
  • semaphores,
  • mutual exclusion locks, (mutex)
  • condition variables,
  • barriers, (szinkronizációs mechanizmus, többszálú végrehajtáshoz)
  • scheduling. (ütemezés, FIFO/Round-Robin/Sporadic. 256 szintű prioritás)

Az adott igényekhek megfelelően, speciális kódolás nélkül skálázható rendszer, amely tulajdonság egyedülálló a valósidejű rendszerek piacán.

Legújabb innovatív megoldás az ún. Adaptive Partitioning, amely egy speciális ütemező segítségével a processzorhoz jutást partíciókra osztva, a processzeket osztályokba sorolva dinamikusan képes a processzoridőt elvenni az épp várakozó processzektől és átadni a több processzoridőt igénylő folyamatok számára.
Ezzel biztosítani képes a rendszer minden folyamata számára a processzorhoz jutást erősen leterhelt rendszer esetében is, minden körülmények között.

A QNX skálázható, tehát felépítéséből adódóan képes egyetlen kis adatgyűjtő chipen is futni, de alkalmas akár több monitoros grafikus megjelenítésű központi felügyeleti rendszert is üzemeltetni. Széleskörű felhasználási területeken van ma már jelen, a mobil eszközök-től kezdve a gyógyászati és ipari berendezések-en át az erőművi és hadiipari rendszerek-ig.
A jelenlévő összes programfolyamat egymástól elszigetelt memóriaterületen fut, a teljes rendszer megbízhatóságának szempontjából ez rendkívül fontos.
Ez az Universal Process Model, az UPM architektúra.
Sem a hagyományos, sem a makrokerneles rendszerek nem biztosítanak tökéletesen elszigetelt memóriaterületet minden folyamat számára, melynek hiánya problémák forrása lehet.
A legtöbb más realtime rendszer, pl. VxWorks nem választja külön a kernel és az user programok memória területeit. Ezzel ugyan nagyon gyors kommunikációt valósít meg az alkalmazások és a kernel között, de ez a szokásos megoldás komoly veszélyt rejt magában, a memóriaterületek felülírhatóak egy másik programfolyamat által.
A mikrokernel ugyan zárt, de forráskódjának ismerete nem is szükséges a fejlesztői munkához.
A kernel API jól dokumentált, a fejlesztőrendszerrel együtt a teljes HTML dokumentáció is feltelepül. Ha mindenképp elkerülhetelen lenne a kernel a módosítása, ez forráskódban megvásárolható indokolt esetben.
A gyakorlatban erre nem valószínű hogy szükség lenne, mivel minden driver, protocol stack, filerendszer, alkalmazás, tehát minden komponens külön processzként fut..
A rendelkezésre álló forráskód példák alapján könnyedén írhatunk saját drivert, Resource Managert is.

A High Availability - HA (magas rendelkezésre állás) képességével rendelkező rendszerek alkalmazása telekommunikációs területen és az ilyen rendszereket alkalmazó egyéb iparágakban széleskörben alkalmazott megoldás.
Az ilyen rendszereknek egy teljes év során 99.999%-os rendelkezésre állást kell biztosítaniuk, a leállási idő egy év folyamán összesen mindössze 5perc lehet. Ezt általában speciális hardver eszközökkel érik el, pl. PCI Hot Plug architektúrával.
A QNX6 OS rendelkezik egy speciális, ún. High Availability Manager, valamint a HA client-side library elnevezésű szoftverkomponensekkel, amely lehetőséget ad arra, hogy automatikus és transzparens visszaállító mechanizmus-al lássunk el rendszereket. A library speciális HA API-t biztosít a fejlesztők számára.
A HA Manager képes rendszerszolgáltatásokat és valamely okból leállt folyamatokat dinamikusan visszaállítani.
Egyfajta "okos watchdog"-nak fogható fel, amely többszintű szolgáltatásokat képes visszaállítani a saját node-on, vagy akár a QNX natív, Qnet elnevezésű hálózati kapcsolat használata esetén másik node-on is. (A Send-Receive-Reply üzenetváltó mechanizmus QNX node-ok között is alapszintű szolgáltatásként működik..)

Nyílt forráskódú alkalmazásokat is könnyedén migrálhatunk, lefordíthatunk QNX Neutrino OS alá, pl. Linux alatt megírt alkalmazásokat is, a GNU C/C++ library azonos beépített függvényeinek kompatíbilitása miatt.
A fejlesztői környezet neve QNX Momentics IDE.
Kétféle verzióban kapható, az olcsóbb változat a QNX Momentics SE (standard edition), a professzionális változat a QNX Momentics PE (professional edition)
A Momentics PE verzió több telepítő CD-t is tartalmaz, mivel a QNX Momentics-et cross-development fejlesztéshez is használhatjuk, Win32, Linux, Solaris, valamint QNX Neutrino OS alatt is.
A kétféle verzió között az a különbség, hogy az SE változatban a Momentics IDE grafikus környezet nem használható.
Használatához a makefile-k “lelki világával” ajánlatos közeli ismeretségben lenni. Mindkét változatban megvan a Photon AppBuilder, amellyel grafikus felületű alkalmazásokat fejleszthetünk a Photon alá.
C/C++ compilerként a Linux világából jól ismert, sokak által használt GNU compiler áll rendelkezésre, valamint a QNX cég által ajánlott QCC compiler.
A Photon Application Builder-el “Drag and drop” technikával felépített grafikus felületet hozhatunk létre, majd a fordítást megelőzően a munkánkból a rendszer C forráskódot készít. A forráskódba illeszthetjük be saját kódjainkat, melyet ezután lefordítunk.

A fejlesztők számára a QNX Momentics és az AppBuilder használatával lehetőség nyílik arra, hogy kiváló minőségű, grafikus felületű realtime rendszereket hozzanak létre rövid fejlesztéssel töltött idő alatt, figyelmüket a termékkel kapcsolatos kulcsfontosságú részletekre összpontosíthassák az alacsonyszintű forráskódok implementálása-tesztelése helyett. Igy a termékek gyorsabban jelenhetnek meg a piacon, akár mint hálózati berendezés, vagy mint fogyasztói-elektronikai eszköz, vagy orvosi műszer, de mint bármilyen beépített vezérlőrendszer is.
A QNX OS Runtime változata csak az operációs rendszer működéséhez szükséges szoftverkomponenseket tartalmazza.
Kapható moduláris változatban is az OEM gyártók részére (Core OS és a választott komponensek), embedded alkalmazásokhoz ajánlott, ezzel jelentősen csökkenthető a kereskedelmi célra szánt alkalmazás költsége.
Az OS telepítő CD-ből kétféle verzió kapható, az

  • SB (Standard Bundle – IPv4, single processor) és a
  • HB (High-End Bundle – IPv6, SMP, multicore).


Mindkét változatban a Photon MicroGUI is megtalálható, valamint a teljes, alapértelmezett driver készlet is a különböző alaplapi és grafikus-kártya chipset-ekhez.
A QNX 6.3.3 teljes verziója minden beépített eszközével együtt ingyenesen letölthető a http://get.qnx.com címről.[3]

A további rendelkezésre álló modulokat az OS alól indított installerrel (Package Manager), a Web-en keresztül is telepíthetjük, vagy a 3rd Party ISO-ból megírt CD-ről is.
Az ingyenes hozzáférés csak a tesztelés, a megismerés céljából biztosított. Amennyiben üzleti céllal alkalmazzuk, fel kell vennünk a hazai disztributorral a kapcsolatot.

A http://www.openqnx.com site-on online kapcsolatot vehetünk fel tapasztalt QNX fejlesztőkkel, minden kezdő kolléga számára ingyenes műszaki segítséget adnak, de a korábban felvetődött kérdések és válaszok is a forráskód részletekkel együtt megtalálhatóak.

Oktatási intézmények számára ingyenesen biztosított a QNX fejlesztőrendszerek jogtiszta használata. Egy formanyomtatvány kitöltésével igényelhető a teljes PE (Professional Edition) fejlesztői környezet, a kért példányszámban, melyet a QNX Software Systems a normál kereskedelmi verzióból biztosít az iskolák számára.
A kiváló architektúrális felépítés, valamint a hibatűrő jellege miatt hadiipari minősítéssel is rendelkezik a QNX.
Erről a területről ma már a Discovery űrsikló fedélzetén is megtalálhatjuk, de az amerikai tengerészgyalogos katonák személyi navigációs készüléke is QNX OS-el működik.
Felhasználása minden olyan területre ajánlott, ahol egy esetleges szoftver hibának katasztrofális következményei lehetnek.
A Kanadai Űrügynökség által kidolgozott operációs rendszer kiválasztási módszertan és tanulmány is a QNX-et nevezi meg az egyik legmegbízhatóbb és legstabilabb operációs rendszerként, amelyet a szatellit rendszerükhöz választottak ki.
A QNX Neutrino OS felépítéséről, a mikrokernellel rendelkező OS előnyeiről részletesen is olvashatunk.
A rendelkezésre álló műszaki paraméterek és architektúrális elvek alapján érdemes a szakértők által elvégzett, más operációs rendszerekhez viszonyítottösszehasonlítástis elolvasni.
A QNX Neutrino OS kereskedelmi ára átlagosnak tekinthető, jól illeszkedik a kisebb projektek költségszintjéhez is. Hazai forgalmazója az RTC Automatika Kft.[4]

Története

A QNX OS története
A QNX operációs rendszert a QSSL (QNX Software System Ltd.) két alapítója, Gordon Bell és Dan Dodge hozta létre, a cég keletkezésének története pedig a két alapító egyetemista éveivel, a Waterloo-i egyetem kollégiumában eltöltött napjaikkal olvad össze.
Az egyetemen hallgatóként a “Thoth” nevű projekt-en is dolgoztak, mely egyike volt a legelső üzenetváltó (message passing) típusú operációs rendszereknek, majd ugyanez a működési elv később alapköve lett az általuk kifejlesztett QNX OS-nek is.
Nem sokkal később egy saját, kicsi, message passing típusú operációs rendszeren kezdtek el dolgozni, amely a UNIX rendszerhez hasonló felhasználói (user) interfésszel rendelkezett. A prototípus egy 6809 (Motorola) processzorral megépített kártya volt, melyet Dan épített, valamint egy 8088-as kártya, melyet Gordon szerelt össze.
A Waterloo-i egyetem elvégzése után mindketten a Bell Northern Research (BNR)-nél kezdtek dolgozni, programozóként, így a 80-as évek elejétől az operációs rendszerek területén már profi fejlesztőknek számítottak. A BNR-nél minden szabad pillanatot felhasználtak saját operációs rendszerük fejlesztésére.
A 80-as évek elején az IBM útjára indította az első 8088-as processzorral működő IBM PC-jét, ezzel a verseny elkezdődött.
Ezután kb. 6 hónappal Dan és Gordon egy PC magazinban ismertették terméküket.
Az OS akkor a QUNIX nevet kapta, mely a „Quick UNIX” - elnevezést takarja.
Ezután cégüket Quantum Software Systems Limited néven jegyezték be, az első QNX verziót pedig 1981-ben jelentették meg.
A QUNIX név csak 1-2 évig maradhatott meg, ugyanis az AT&T társaság nemtetszését jelezte, azonnali névcserét javasoltak. A kihívásokra mindig kész alapítók ötletes módon QNX-re változtatták a termék nevét, így a betűszó kiejtése során semmi sem változott meg.
Az QNX OS reklámozása, piacra történő bevezetésének megkezdése után egy harmadik személy, Syd Gerathy csatlakozott a céghez, feladata a marketing és az üzleti feladatok elvégzése lett, de Ő Kaliforniában, Dél San Hosé-ban lakott.
Később Sandy Kingston csatlakozott, aki Ottawa-ban (Kanada) végezte az adminisztratív ügyeket több évig.
A korai béta verziók multi-tasking nélküliek voltak. Egy 64K memóriával, egyetlen 180K-s floppy-val rendelkező IBM PC-n futottak, de néhány hónappal később az 1.0 –s verzió már multitaszkos támogatással került kiadásra.
Eléggé meglepően a 64K memória elégségesnek bizonyult az OS, valamint egy parancsértelmező futtatásához, továbbá a compiler működését is biztosította, valamint további háttérmunka elvégzésére is lehetőséget adott, mint pl. egy file kinyomtatása.
A kis lélekszámú lelkes felhasználói tábor együtt dolgozott a fejlesztőkkel, folyamatosan tájékoztatva őket az operációs rendszerrel kapcsolatban felmerült problémákról, további ötletekkel járultak hozzá az OS fejlesztéséhez.
A legelső fejlesztők Terry Laughlin, Bill Flowers, Dan Hildebrand , és Luc Bazinet voltak, nevük ismerősen cseng a régi felhasználók, munkatársak körében. Dan Hildebrand nevéhez köthető az a bizonyos egyetlen hajlékonylemezre elkészített QNX demo, mely a mai napig letölthető a QNX site-ról.
Ez az 1.4-es floppy meglepően mindent tartalmaz, ami egy modemen keresztüli internetes szörfözéshez kell grafikus felületen.
Dan rendkívül tevékenyen vett részt a QNX OS fejlesztésében, népszerűsítésében. Sajnos már nincs velünk, néhány évvel ezelőtt, nagyon fiatalon, tragikus hirtelenséggel eltávozott.
Egyesek szerint Terry Laughlin birtokolja az „első műszaki alkalmazott” címet, de Bill Flowers volt a legrégebbi QSSL alkalmazott. Távozásakor a QSSL munkaszüneti nappal egybekötött partit, „barbecue-t” tartott a tiszteletére.
Ahogyan az IBM PC hardver piaci ára egyre csökkent, a felhasználóknak lehetőségük nyílt 256K-ra, majd 512K-ra bővíteni, míg végül az „elképesztően nagy” 640K-s memóriaméret is elérhetővé vált. A QNX működéséhez ez abszolút soknak számított, ezért a bőséges memóriaterület egyik tipikus felhasználási módja volt, ahogyan a rendszerhez plusz 256K ramdiszk-ként csatoltan a compiler működését gyorsították fel vele, másként ez a túlzó memóriaterület feladat nélkül maradt volna.
Amikor megjelentek a 360K-s hajlékonylemezes meghajtók, ebből minden komoly QNX fejlesztőnek kettő darabra volt szüksége, az első tartalmazta az operációs rendszert és a kiegészítő állományokat, a második a forrásfájlokat a programozási munkához.
A korai QNX beépített támogatást tartalmazott az 5MB-os Davong merevlemezhez, ez a név már régóta nincs jelen a PC piacon. Ez egy hihetetlen luxusnak számított a hétköznapi fejlesztési munkában. Ezt az időszakot nem sokkal később a dinamikusan csatolható meghajtók követték.
A QNX számára a következő nagy lépés az IBM AT megjelenése volt.
Néhány egyszerű módosítás után a legszembetűnőbb változást a jelentős sebességnövekedés jelentette, ez akkor valóban komolynak számított a 6MHz-es 80286-os processzoron.
6 héttel később a processzor védett módú működtetése is megvalósult.
A meglepő előrelátást bizonyítja az, hogy a legtöbb előzetesen elkészített (lefordított) program további módosítás nélkül futott védett módban, így a programok újrafordítására nem volt többé szükség.
(Emlékezzünk csak vissza a többi operációs rendszerrel kapcsolatos újrafordításokra, hogyan kell átkapcsolni az üzemmódok között?)
Néhány egyszerű szabályt betartva, még a driver-ek – a hardvereszközök meghajtóprogramjai is futtathatóak lettek bármelyik módban, az alkalmazói programok pedig sokkal stabilabbá, gyorsabbá váltak, a védelmi kivételek pedig meggátolták a rendszer összeomlását. Ez a szemlélet a 32bites OS-ek világában már teljesen elfogadott, akár alapkövetelménynek is tekinthetjük.
Nagyjából a 286-os processzorral egy időben jelent meg a QNX hálózati támogatása. A fejlesztők az Arcnet-et választották a robusztus kivitel, a valósidejű tulajdonság, valamint az elérhető piaci ár miatt.
Mivel nem volt egyezményes szabvány ezekre a kártyákra, a QNX megegyezett a Corman Technologies nevű céggel egy egyedi felépítésű hálózati kártya megépítésében, melyhez a szoftveres támogatást az operációs rendszer részeként biztosította. Néhány legelső verziójú kártya a mind mai napig működik, a visszajelzések szerint.
A 80-as évek közepén Ottawában megrendezésre került az első QNX konferencia, amelyen kevesebb, mint 100 fő volt jelen, de a résztvevők lelkesedése határtalan volt. Pár napra családiassá vált a hangulat, a résztvevők oda-vissza mozogtak az előadások, a büfé, a vetítőszobák között, majd végül késő éjszakáig az éjszakai bárokban :-)
A mai konferenciákon az akkori létszám sokszorosa vesz részt, minden alkalommal újabb cégek mutatják be QNX OS-re épülő alkalmazásaikat, melyekről a QSSL site-ján is kaphatunk tájékoztatást. http://www.qnx.com/partners/index.html
(Évente megrendezésre kerül Nürnbergben a „QNX Night” is, ahol az ellátás és a részvétel ingyenes, csupán egyszerű előzetes regisztrációhoz kötött.)
Több jól ismert nagyobb vállalat a QNX-et választva ekkor, a 80-as évek közepén kezdte pályafutását, de a legtöbb projectben még az olyan részletek, mint pl. milyen is maga az operációs rendszer, nem is voltak láthatóak a végrehajtás szintjén. Ami fontos volt, az kiválóan működött. Ennél semmi sem volt fontosabb.
Ebben az időben a Microsoft évente beharangozta, hogy az új DOS most már valóban (de most már tényleg..) multitaszk képességekkel lesz felvértezve. A történetet mégis úgy jegyzik, hogy amikor a DOS végül multitaszk-os lett, akkor már OS/2 volt a neve.
A 286-ost követően, a 386-os processzor megjelenésével a QNX is fejlődött tovább. A QSSL számára pedig eljött az idő egy nagyobb lépés megtételére, az alkalmazottak létszáma kb. 50 főre duzzadt és a QSSL kész volt az újabb kihívásokra.
A legnagyobb kérdés az volt, a meglévő rendszer feljavítása legyen-e a cél? Vagy pedig egy korszerűbb rendszer elindítását kell megvalósítani, az alapoktól kezdve?
Éveken át a felhasználói tábor, a QNX közösség valamilyen kapcsolatban állt az ős UNIX rendszerrel. Az egyik szempontból rengeteg kiváló technológiai jellemvonás származott az ős UNIX-ból, másrészt pedig a sajátos architekturális felépítésből adódóan kiváló teljesítmény karakterisztikák voltak kimutathatóak.
A korai publikációkban több UNIX guru is mereven ragaszkodott saját elképzeléseihez, mi is kell hogy jellemezzen egy igazi UNIX rendszert. Ez nyilvánvaló ellenállást okozott a QNX OS - UNIX szerűvé tételének megvalósításában, néhány szegényesebb UNIX termék amúgy is fogalomzavart okozott az operációs rendszerek piacán, az architektúrális anomáliákról nem is beszélve.
Pl. egy korai SCO Unix verzió jól futott egy 8088-as processzoron, de 2MB ramdisk-et igényelt a root file system-hez.
Minden ugyanaz, de az idők megváltoztak. Hatalmas mennyiségű forráskód vált ingyen, bárki számára elérhetővé, s mindez bármikor lefordítható a UNIX rendszert futtató gépeken.
Az interneten pedig a rendszerek túlnyomórészt UNIX rendszert alkalmazó gépeken futnak, így e névnek már hagyományai vannak. Ebben a helyzetben milyen tulajdonság tudná jól megkülönböztethetővé tenni a QNX-et a piacon?
A válasz a POSIX jellegéből adódik.
A POSIX specifikáció lehetővé teszi, hogy a QNX teljesítse a POSIX elveit, anélkül, hogy elveszítené az alapvetően jellemző, kiváló teljesítmény karakterisztikáit, ugyanis a POSIX csak leírja az interfészt (a hozzáférési felületet), de nem határozza meg, hogyan kell mindezt belül megvalósítani. Nem konkrét implementáció, csak interfész.
Ez egy nyilvánvalóan brilliáns manőver. Megtartva a “message passing” kernelt, a QNX “hozza” a kiváló valósidejű teljesítményt.
Ebben az esetben, ha már az egész operációs rendszert újra kell írni, miért ne lehetne továbbfejleszteni?
A felújított hálózati rendszer széles hardvertámogatást biztosított, az OS hibatűrő rendszerré vált, a magas szinten optimalizált fájlrendszer pedig meg lett szabadítva néhány, a QNX2-ből ismert korlátozástól, “szűk keresztmetszettől”. (pl. lassú floppy-kezelés, a dos file-system lomha működése, hiányzó merevlemez LBA kezelés, támogatás az újabb hardvereszközökhöz, stb.)
Néha a felhasználók részéről butuska visszajelzések is érkeztek, mint pl. “kérem, szeretném továbbra is használni az én kedves régi 8088-asomat…” Természetesen az OS fejlesztésével foglalkozó szakemberek tudták, ebben az iparágban elképesztően gyors a növekedés, a hardver teljesítménye rohamosan növekszik, az árak pedig csökkenni fognak.
Ezután, ami szinte évtizedes várakozásnak tűnt, a QNX 4.0 végre kiadásra került.
Mivel a korábbi QNX2 OS-hez képest architektúrális szempontból szinte minden megváltozott, a fájlrendszer, a processzek kezelése, stb. minden teljesen új filozófián alapult. Nem kis migrációs feladat várt minden alkalmazásfejlesztőre, aki a korábban megírt kódjait QNX4 alá szerette volna lefordítani. A QNX2-höz a Quantum C és a Computer Innovations C86 compilere volt kapható, míg a QNX4-hez a Watcom C for QNX lett kifejlesztve.
Ekkor a cég mottója ez a mondás volt: „Minél hamarabb szerelmeskedni kezdesz, a fájdalmak annál hamarabb múlnak el..”. A filozófia bevált, az új rendszer semmilyen örökölt gyengeséget nem cipelt magával.
A korai verziók nagyon ígéretesnek mutatkoztak, de mint tudjuk, a kisgyermek fogzása is fájdalommal jár. A rengeteg tervezéssel eltöltött idő ellenére a számos kiadásra előkészített verziót sorra vissza kellett vonni, majd az egyesített verziókat 4.1 névvel adták ki, amely már valóban megbízhatónak bizonyult, ezért a legtöbb felhasználó visszamenőlegesen a QNX 4.0 –t béta verziónak tekinti.
Az új, QNX4.1-es valóban stabilnak bizonyult. Fejlesztői környezetként a sokak által jól ismert Watcom C compiler, QNX-hez fejlesztett verzió-ja csatlakozik az OS-hez. Megjelent az új, nagyon gyors grafikus felület is, a Photon. A megnevezés egy szójáték, a működés sebességére utal.
A QNX 4.2 már támogatja a 32-bites programokat, ez volt a vízválasztó, mivel az OS nem tartalmazott többé 16-bites komponenseket.
A cég eközben a kétszemélyes vállakozásból 150 fős vállalattá nőtte ki magát. Egy újabb névcserére is szükség volt, az új név QNX Software Systems Limited lett, ugyanis a „Quantum” megnevezés más cégek nevében is szerepel, ezért a QSSL az új névvel pontosabban azonosítható lett.
A 4.24-es verzió további fejlesztéseket, optimalizálásokat tartalmazott.
A gyorsan mozgó informatikai iparban semmi sem maradhat változatlanul hosszú ideig. A nagy QNX kis utódjaként megjelenik a QNX/Neutrino, mely az “embedded”, az egykártyás, beépített vezérlők piacát célozza.
A QSSL már nagyjából ebben az időben tervbe vette a QNX 4.x kernel későbbi cseréjét QNX/Neutrino kernelre.
A Microsoft kb. ebben az időszakban intézett globális üzleti támadást a vállalati rendszerek piacán az WinNT-vel.
(Úgy tűnik, a Microsoft úgy gondolja, egy realtime szempontból szegényes teljesítményű operációs rendszer nem pontosan behatárolható válaszideje feljavítható egy kellően gyors processzorral. Vagy másik megoldásként illesszünk a rendszer alsó komponense, a HAL fölé egy RTX elnevezésű szoftver réteget, melynek a kompatíbilitáshoz szükséges API felülete ki van bővítve realtime bővítésekkel, de a teljes WinNT immár User módban fut..)
A realtime rendszerek piacán nem elfogadhatóak a „majdnem jó, de majd veszünk gyorsabb processzort” megoldások. Sok esetben az efféle szakszerűtlen megközelítésből adódóan, a QNX üzleti szempontok miatt maradt alul.
Az erő, vagy az ész fog-e nyerni? A jövő kenyérpirítóiban az operációs rendszer betöltéséhez memóriák gigabájtjait fogjuk-e viszontlátni? Sajnos, egy-egy termék kiválasztásakor a döntéshozó pozícióban lévő vezetők nem egy esetben nem kellően informáltak. Attól, hogy valami jó egy irodai alkalmazáshoz, nem biztos hogy a más területen, pl. a folyamatirányítás kritériumainak is meg fog felelni.
Egyébként az alábbi site-on független szakértők által készített tanulmányokból szerezhetünk jártasságot a különböző operációs rendszerek sajátosságaival, képességeivel kapcsolatban. Nagyon figyelemreméltóak, akár műszaki döntések meghozatalához is alkalmasak az itt fellelhető dokumentumok.
http://www.dedicated-systems.com/encyc/buyersguide/rtos/rtosmenu.htm

Végül a 4.25-ös verzió lett az utolsó QNX 4 sorozatú OS. E cikk írásakor a Patch Q jelű upgrade-el frissíthetik rendszereiket a 4.25 verzióval rendelkező tulajdonosok.
A QSSL ezután újabb operációs rendszert jelentett be, a neve QNX RTP - Realtime Platform. A másik megnevezés szerint QNX6.
Neutrino kernelt alkalmaz, SMP (többprocesszoros) rendszert támogat, megfelel a legutóbbi IEEE 1003.1 (POSIX)szabványnak, amely definiálja a multithread-es rendszereket.
A bejelentés utáni, 6.0.0 verzió még csak az x86 processzort támogatta, majd a 6.2 verzió után a legújabb 6.3.3 verzió esetében a hardver architektúra az x86-on kívül még PPC (IBM, Motorola), MIPS, StrongARM (Intel), vagy SH4 (Hitachi) is lehet.

A Tilcon Software Ltd. ajánlja TRTD (Tilcon Realtime Developer) nevű grafikus fejlesztőeszközét, mely magában foglal egy olyan Grafikus Editor nevű eszközt, melynek segítségével szintén a drag and drop technika alkalmazásával építhetünk grafikus felületet akár a könyvtári elemekből, akár saját magunk által létrehozottakból.
Nem generál forráskódot, előnye a multiplatformos felépítés, QNX 4, Windows 95/98/NT/2000/XP, NT Embedded, Windows CE 3.0, és RTX –hez is alkalmazhatjuk az egyszer már összeállított GUI-t.
Többféle C és C++ compilert támogat. A működés lényege egy ún. Grafikus motor, amely platformfüggetlen API hívásokat fogad.
Időkorlátos verzió ingyen letölthető a www.tilcon.com site-ról.
Nemrég az ILogix is megjelent a legújabb, Rhapsody nevű fejlesztőrendszerével, amely teljesen objektumorientált, UML (Unified Modeling Language) alapú fejlesztőrendszer.
A fejlesztők az UML szabályai szerint tervezhetik, implementálhatják saját rendszereiket, megtartva a QNX kiváló tulajdonságait. www.ilogix.com

A SCADA rendszerek piacán a QNX alapú rendszerként a RealFlex biztonsági SCADA rendszer található meg.
A QNX Neutrino alapú működés miatt tökéletesen vírusmentes, stabil és determinisztikus működést biztosít. Atomerőművi, gáz, olajipari és vízművi alkalmazásokban van jellemzően jelen.
A 2001. Szeptember 11. óta felismert nagy biztonsági kockázat miatt alkalmazzák, mivel dinamikusan titkosított protokollt alkalmaz a kliens/server kommunikációban.

A mai QNX6 Neutrino OS erős multimédia támogatással rendelkezik, az egyik jeletősebb QNX alapú multimédiás termék a Logitech cég Harmony1000 elnevezésű univerzális multimédia eszköze.

A QNX egyik érdekes üzleti jellemvonása, hogy a QNX OS az átlagos felhasználó számára szinte ismeretlen marad, de a professzionális szakemberek körében különösebb reklám nélkül gyorsan terjed.
A műszaki specifikációk, karakterisztikák a professzionális fejlesztők, felhasználók számára minden agresszív reklámnál többet mondanak el a QNX Neutrino OS egyedülálló stabilitásáról, hibatűrő képességéről, megbízhatóságáról.
A QSSL honlapján akár napról-napra nyomon követhetjük azt a tendenciát, ahogyan a legnagyobb multinacionális cégek mint pl. a

  • 3COM,
  • JVC,
  • DaimlerChrysler,
  • BMW,
  • Audi,
  • Motorola,
  • Harman Becker,
  • Johnson Controls,
  • U.S.Army,
  • NASA,
  • Boeing,
  • BAE Systems,
  • Lockheed Martin,
  • Naval Undersea Warfare Center,
  • Canadian Space Agency

is saját termékeikhez, berendezéseikhez a QNX-et választják.
Elképzelhető, hogy a QNX már ma a jövő operációs rendszere??(nocsak, ezt még a forráskód megnyitás előtt írtam..de most már biztos is vagyok benne.)

Versenytársak

Néhány fontos vetélytárs a beágyazott rendszerek piacáról: LynxOS, VxWorks, Linux, Windows CE, OS-9.


Külső hivatkozások