QNX
A Wikipédiából, a szabad enciklopédiából.
| QNX |
|
|---|---|
| Fejlesztő: | QNX Software Systems |
| Legfrissebb stabil kiadás: | 6.3.3 / 2007. augusztus 17. |
| Operációs rendszer: | Unix-típusú, valós idejű |
| Kategória: | operációs rendszer |
| Licenc: | Nyílt forráskód nem-kereskedelmi felhasználáshoz, fizetős licensz kereskedelmi alkalmazásokhoz |
| Weboldal: | www.qnx.com |
A QNX (kiejtve Q-N-X) egy POSIX-kompatibilis, Unix-szerű, valósidejű operációs rendszer. Ezt a mikrokernel alapú operációs rendszert főleg beágyazott rendszerekhez ajánlják. A QNX kernelt 2007. szeptember 9-én ingyenesen hozzáférhetővé tették nem-kereskedelmi jellegű alkalmazásokra.
Tartalomjegyzék |
[szerkesztés] Ismertetés
A QNX mikrokernel alapú operációs rendszer, és mint ilyen, az operációs rendszer nagy részét apróbb folyamatonként, úgynevezett szerverenként futtatja. Ez annyiban különbözik a hagyományosabb, monolitikus kernel-modellektől, hogy ott az operációs rendszer egy nagy darab program, amely rengeteg, szakosodott feladattal felruházott „alkatrészből” áll. A QNX esetében azonban a mikrokernel használata azt jelenti, hogy a programozók bármilyen funkcionalitást ki tudnak kapcsolni, amire nincsen szükségük – ahelyett, hogy ezt az operációs rendszer megváltoztatásával kellene elérni, a QNX-nél ezeket a szervereket egyszerűen csak nem futtatják.
Ennek köszönhetően a QNX nagyon kis helyet foglal, általában egy floppy-n is elfér, továbbá gyors, de funkcionalitásában teljes.
A QNX Neutrino-t több platformra is portolták, így a mai beágyazott rendszereknél használt szinte összes CPU-n elfut: x86 sorozat, MIPS, PowerPC, SH4, valamint a szoros kapcsolatban álló ARM, StrongARM és xScale processzorokon.
Sajátosságai:
- Skálázhatóság – felépítéséből adódóan képes egyetlen kis adatgyűjtő chipen is futni, ugyanakkor alkalmas akár több monitoros grafikus megjelenítésű központi felügyeleti rendszert is üzemeltetni. Széleskörű felhasználási területei a mobil eszközöktől a gyógyászati és ipari berendezéseken át az erőművi és hadiipari rendszerekig terjednek.
- Az Adaptive Partitioning egy speciális ütemező segítségével dinamikusan képes a processzoridőt elvenni az épp várakozó folyamatoktól és átadni a több processzoridőt igénylő folyamatok számára. Így még erősen leterhelt rendszer esetén is minden folyamat számára biztosítani lehet a processzorhoz jutást.
- Universal Process Model – az összes programfolyamat egymástól elszigetelt memóriaterületen fut. Ezzel jelentősen megnövekedhet a rendszer megbízhatósága, mivel egy folyamat sem véletlenül, sem direkt nem írhatja felül egy másik folyamat memóriáját.
[szerkesztés] Történelme
[szerkesztés] Kezdetek
A QNX operációs rendszert Gordon Bell és Dan Dodge hozta létre, miután a Waterloo-i Egyetemen hallgatóként egy „Thoth” nevű projekt-en is dolgoztak. Ez egyike volt a legelső üzenetváltó (message passing) típusú operációs rendszereknek. Ugyanezt a működési elvet alkalmazták a későbbi, UNIX rendszerhez hasonló felülettel rendelkező QNX-ben is. Az operációs rendszer prototípusát általuk összeszerelt Motorola 6809-es és Intel 8088-as gépekeken futtatták először.
Az egyetem elvégzése után Bell és Dodge a Bell Northern Research (BNR)-nél kezdtek dolgozni programozóként. A BNR-nél minden szabad pillanatot felhasználtak saját operációs rendszerük fejlesztésére.
Az 1980-as évek elején az IBM útjára indította az első 8088-as processzorral működő IBM PC-jét. Bell és Dodge fél évvel később egy PC-s magazinban ismertették az új gépre írt operációs rendszerüket, amely akkor a QUNIX („Quick UNIX”) nevet kapta. Quantum Software Systems Limited (QSSL) néven céget jegyeztek be, az első QNX verziót pedig 1981-ben jelentették meg.
A QUNIX név csak 1-2 évig maradhatott meg, ugyanis a UNIX márkanév tulajdonos AT&T társaság nemtetszését jelezte, és azonnali névcserét követelt. Az ugyanolyan kiejtésű, ám nevében „Unix”-ot nem tartalmazú új név a QNX lett.
Az operációs rendszer korai béta verziói multi-tasking nélküliek voltak. Egy 64K memóriával, egyetlen 180K-s floppy-val rendelkező IBM PC-n futottak. Néhány hónappal később az 1.0 – s verzió már multitaszkos támogatással került kiadásra.
A 64KB memória elégségesnek bizonyult az OS, valamint egy parancsértelmező futtatásához, 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 (pl. egy file kinyomtatására).
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 és további ötletekkel járulva hozzá az operációs rendszer fejlesztéséhez.
A legelső fejlesztők Terry Laughlin, Bill Flowers, Dan Hildebrand , és Luc Bazinet voltak. Dan Hildebrand nevéhez köthető az egyetlen hajlékonylemezre elkészített QNX demo, mely a mai napig letölthető a QNX site-ról. A floppy mindent tartalmaz, ami egy modemen keresztüli internetes szörfözéshez kell grafikus felületen.
Ahogyan az IBM PC hardver piaci ára egyre csökkent, a felhasználóknak lehetőségük nyílt 256KB-ra, majd 512KB-ra bővíteni, míg végül az „elképesztően nagy” 640KB-s memóriaméret is elérhetővé vált. A QNX működéséhez ez már túl soknak számított, ezért a bőséges memóriaterület egyik tipikus felhasználási módja az volt, hogy a rendszerhez egy 256KB ramdiszk-ként csatoltan a compiler működését gyorsították fel vele, másként ez a sok memóriaterület egyébként feladat nélkül maradt volna.
Az első 360KB-os hajlékonylemezes meghajtók megjelenésekor 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 programozási munkához szükséges a forrásfájlokat.
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. Hat hetes fejlesztői munka után a processzor védett módú működtetése is megvalósult.
Nagyjából a 286-os processzorral egy időben jelent meg a QNX hálózati támogatása. A fejlesztők az Arcnetet választották a robusztus kivitel, a valósidejű tulajdonsága, 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. Állítólag néhány legelső verziójú kártya a mai napig működik.
Az 1980-as évek közepén Ottawában megrendezték az első QNX-konferenciát, amelyen kevesebb, mint 100 fő volt jelen, bár lelkesedésük határtalan volt. A kis résztvevőszámnak köszönhetően a hangulat családiassá vált, a résztvevők ide-oda szaladgálhattak az előadások, a büfé és a vetítőszobák között.
[szerkesztés] Növekedés és átalakulás
A 386-os processzor megjelenésével a QNX is fejlődött tovább. A QSSL eddigre már nagyjából 50 alkalmazottra bővült. 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” (lassú floppy-kezelés, a DOS fájlrendszer lomha működése, hiányzó merevlemez LBA kezelés, támogatás az újabb hardvereszközökhöz, stb.)
A QNX 4.2 már támogatta a 32-bites programokat, és már 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 szerepelt.
A nagy QNX kis utódjaként megjelent a QNX/Neutrino, mely beépített az egykártyás, beágyazott rendszer piacát célozta meg. A QSSL 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 ebben az időszakban mutatta be a vállalati rendszerekre célzott Windows NT-t.
[szerkesztés] Napjaink rendszerei felé
A 4.25-ös verzió lett az utolsó QNX 4 sorozatú OS. A QSSL ezután újabb operációs rendszert jelentett be: QNX RTP – Realtime Platform (másik megnevezés szerint QNX6). Ez már Neutrino kernelt alkalmazott, SMP (többprocesszoros) rendszereket támogatott, megfelelt a legutóbbi a többszálas rendszereket definiáló POSIX szabványnak. A bejelentés utáni, 6.0.0 verzió még csak az x86 processzorokat támogatta. A 2007 augusztusában megjelent 6.3.3 verzió esetében a hardver architektúra az x86-on kívül már PowerPC (IBM, Motorola), MIPS, StrongARM (Intel), vagy SH4 (Hitachi) is lehetett.
[szerkesztés] Versenytársak
Néhány fontos vetélytárs a beágyazott rendszerek piacáról: LynxOS, VxWorks, Linux, Windows CE, OS-9.
[szerkesztés] Külső hivatkozások
- A gyártó honlapja
- Magyar nyelvű QNX oldalak, műszaki szaktanácsadás, Magyar nyelven
- OpenQNX, ingyenes műszaki szaktanácsadás, angol nyelven
- Nyílt forrású alkalmazások, letöltések
- A QNX Neutrino mikrokernel forráskódjának letöltése, az Open Development project
|
||||
|---|---|---|---|---|
| Unix-szerű rendszerek: | Linux | QNX | HP-UX | AIX | AtheOS | Syllable | DNIX | Digital UNIX | Tru64 | BSD | IRIX | MINIX | NeXTSTEP | OS-9 | OS-9/68k OS-9000 | OS/360 | OSF/1 | Plan 9 | Solaris | SunOS | UNIflex | Ultrix | UniCOS | Xenix | z/OS | |||
| BSD: | NetBSD | FreeBSD | OpenBSD | PC-BSD | PicoBSD |MicroBSD | MirBSD | DragonFly BSD | WarBSD | ekkoBSD | BSD/OS | Darwin | TrustedBSD | |||
| Linux-disztribúciók: | blackPanther OS | CentOS | Damn Small Linux | Debian | Fedora Core | Frugalware | Gentoo | GoboLinux | KNOPPIX | Kubuntu | Mandriva | MEPIS | PCLinuxOS | Red Hat Enterprise Linux | Red Hat Linux | Slackware | SuSE Linux | Ubuntu | UHU-Linux | Vector Linux | Xandros | Zenwalk | Arch Linux | |||
| Az összes Linux-disztribúció | ||||


