QNX je POSIX standardizovan, 32-bitni, realtime, message-passing, mrežno distribuirani operativni sistem zasnovan na mikrokernel arhitekturi koji obezbeđuje multitasking, raspodelu procesorskog vremena baziranu na prioritetu i izuzetno brz prenos kontrole procesora sa procesa na proces (np. context switch bolji od 5 ms naprocesorskom bordu A2-41-PC.

Kako kaže proizvođač, pravi test za QNX realtime Operativni Sistem (OS) je 250.000 instalacija sa preko milion čvorova širom sveta. Primenjen je u mnogim oblastima kao što su industrijska automatizacija, medicina, telekomunikacije, POS (Point of Sale), saobraćaj i transport, protivpožarna i sigurnosna zaštita itd. QNX je neophodan tamo gde je potrebno da se pouzdano i precizno obavi akvizicija i obrada podataka, upravljanje i monitoring procesa u realnom vremenu.

QNX se idealano udružuje sa PC kontrolerima A2 ili A4 za najviše performanse sistema koji se danas mogu postići na PC platformama i ISA basu podataka. U tom slučaju daleko iza sebe ostavljaju PLC i druge mikrokontrolere. Dalji tekst nažalost, imaće dosta engleskih termina. Neki su prevedeni, ali za mnoga značenja još uvek nemamo adekvatan prevod.

Mikrokernel arhitektura
QNX ima visoku efikasnost, udobnu modularnost i laku jednostavnost koju postiže kroz:

   mikrokernel arhitekturu i
   međuprocesne komunikacije bazirane na razmeni poruka

Mikrokernel je veličine 10K (oko 650 linija koda, podržava do 300 konkurentnih procesa, 32 preemptive prioriteta i tri algoritma za raspodelu; FIFO, Round-Robin i Adaptivivnost) i izvršava tri osnovna servisa:

   lokalne i mrežne međuprocesne komunikacije
   raspodelu procesorskog vremena i

   preusmeravanje interrupt-a

Svim ostalim resursima upravljaju opcioni menadžeri resursa: Filesystem Manager, Process Manager, Network Manager, i Device Manager (ili menadžer koji ste sami napisali). To je ključ širokog opsega primene QNX-a (od 256KB do 64MB RAM-a).

Veličina QNX sistema zavisi od broja obuhvaćenih modula. Možete započeti samo sa mikrokernelom i proces menadžerom koji su dovoljni za rad mnogih embedded sistema kao što su elektronski kondicioneri, transmiteri ili sistemi za kontrolu procesa. Ostali elementi sistema se mogu, dinamički, dodavati kad god, i gde god su potrebni, lokalno ili daljinski.

Menadžeri resursa su slični bilo kom drugom procesu - jedina je razlika u tome što su oni odgovorni da obezbede standardan i kontrolisani interfejs ka uređajima ili drugim procesima. Izvršavaju se u korisničkom prostoru pa prema tome mogu biti debagovani korišćenjem kompletne garniture QNX-ovih alata za debagovanje (symbolic debugger, execution profiler, itd.).

Process Manager (Proc)
Kreira, učitava, izvršava i obustavlja sve procese u sistemu. Proc podržava standarde POSIX 1003.1 i 1003.1b.

Data Acquisition Manager
Omogućava procesima bilo gde na mreži da izvršavaju bilo koji ED-ov A/D, D/A ili digitalni ulaz/izlaz. Reguliše protok podataka između aplikacije i uređaja.

Razvojni alati
Vreme razvoja pod QNX-om je minimizovano zbog toga što je radno (runtime) okruženje isto što i razvojno okruženje. QNX ima punu razvojnu platformu (compilers, debuggers, GUI builders, libraries, toolkits, code profilers) kao i aplikacije drugih firmi. Razvojno okruženje: ANSI C /C++ kompajler, full-screen debuger, profiler i preko 500 ANSI, POSIX, UNIX i QNX funkcija. Poseduje i VEDIT editor koji podržava miša, pull-down menije itd.

Filesystem Managers
je odgovoran za rukovanje svim zahtevima za otvaranje, zatvaranje, čitanje i upisivanje fajlova. QNX podržava nekoliko različitih fajlsistema. Možete da koristite bilo koju kombinaciju ovih fajlsistema simultano, ako to vaša aplikacija zahteva: POSIX Filesystem* (podržava punu POSIX 1003.1 i UNIX semantiku), Tiny filesystem (sličan prethodnom ali bez POSIX semantike), DOS Filesystem*, ISO 9660 Filesystem* (CD ROM), Flash Filesystem (memorijski uređaji-kartice), Execute-in-Place Filesystem (ROM, SRAM and Flash Memorije), Block Filesystem (Block Resorce Manager) i Network Filesystem (NFS).

Graphical User Interfaces

QNX ima tri grafučka korisnička interfejsa:

  X Window sistem obuhvata Motif i na raspolaganju je puni razvojni sistem kao i bogati niz X razvojnih alata drugih proizvođača.

  QNX Windows je manji i ne zahteva velike hardverske resurse. Sa njim možete lako da fokusirate ono što je najvažnije u vašoj aplikaciji.

  Photon zahteva samo 256K i sa njim čak i embedid aplikacije imaju mesta za grafiku. Mrežno je transparentan tako da i Photon-embedded čvorovi mogu potpuno da koriste uređaje kao što su miševi, monitori osetljive na dodir i tastaturu bez obzira gde se nalaze u QNX mreži. Šta više, Photon aplikacije mogu biti distribuirane - monitor može biti na jednom čvoru, video kartica na drugom a grafički drajver na trećem čvoru.

Network Manager (Net)
je uvezan sa mikrokernelom i sjedinjuje sve mikrokernele u lokalnoj mreži u jedan, logički kernel. Network Manager, kao i Filesystem ili Device Manager, ne sadrži niti jednu specifičnu hardversku instrukciju. Drajveri mrežnih adaptera komuniciraju direktno sa hardverom i odgovorni su za pakovanje, sekvencioniranje i retransmisiju (ako se zahteva). Na taj način, podrška novom mrežnom hardveru i protokolu ostvaruje se samo pisanjem ili moduliranjem novog mrežnog drajvera (Extensible).

TCP/IP alati
su u QNX-u potpuno obuhvaćeni (ftp, telnet, rsh itd.) a podržani su: NFS (Network File System), RPC (Remote Procedure Calls) i na korisničkoj strani SNMP (Simple Network Management Protokol). Takođe obuhvata niz standardnih POSIX 1003.2 alata poboljšanih UNIX alata koji nisu opisani POSIX-om. Ovaj bogati broj od preko 200 alata garantuje blisko, standardno radno okruženje za programere i korisnike. Svaki programer koji poznaje Unix će odmah moći da koristi QNX. POSIX standardizacija omogućava i visoki stepen prenosivosti.

Device Manager (Dev)
Kompletan niz ulazno/izlaznih uređaja je obuhvaćen Device Manager-om (serijski port, paralelni port, konzola, miš, touch-screen, tablet, VGA,... Podržava 115 Kbaud-a.

Podrška za Windows i DOS
QNX može da radi DOS kao proces i podržava MS-Windows u standard modu omogućavajući većini MS-Windows aplikacija da rade unutar QNX distribuiranog fajlsistema. Mrežne DOS aplikacije su takođe podržane.

Više od mreže

QNX mrežna tehnologija je FLEET (Fault-tolerant, Load-balancing, Efficient, Extensible, Transparent). Pošto međuprocesnim komunikacijama rukuje mikrokernel, svi mikrokerneli u mreži (LAN) se stapaju koristeći veoma brz transport protokol FTL (FLEET Transport Layer) čineći da tako jedan logički mikrokernel i operativni sistem postaje mrežno distribuirani. Svi procesi, uključujući i menadžere resursa, postaju takođe mrežno distribuirani bez ikakvih zahteva za pisanjem posebnih instrukcija. To znači da razvijanjem aplikacije na računaru koji nije spojen u mrežu i bez znanja o umrežavanju vaša aplikacija može da radi, nepromenjena, u mreži i da postane mrežno distribuirana aplikacija (Transparent Distributed Processing).

QNX-ov FTL protokol fleksibilno uzima u obzir i odgovarajuće heterogeno povezivanje. Standardi kao što su TCP/IP, IPX ili SMB mogu nesmetano da koegzistiraju na istom kablu i čak da dele isti mrežni adapter. QNX mreža je ustvari jedan logički računar (homogen set resursa) sa jednakim ali kontrolisanim pristupima svim resursima na toj mreži. Kontrola svih resursa u mreži se može vršiti sa jednog mesta. Računari u mreži, istovremeno, mogu da budu međusobno povezani dvostrukim, trostrukim pa i višestrukim različitim tipovima mrežnih veza kao što su Ethernet, Arcnet, TokenRing, serijski portovi itd. (Load-Balancing). QNX podržava ne samo više različitih mrežnih adaptera u jednom računaru već i različite topologije.

Višestruke mrežne veze između računara, QNX će automatski koristiti za maksimalno povećanje propusne moći (Efficient Performance). Prekid jedne od linija ne predstavlja problem jer će komunikacija biti transparentno nastavljena preko alternativnih veza (Fault-tolerant). Ovim je omogućena visoka pouzdanost QNX-a. Nove mreže će biti podržane samo dodavanjem novih drajvera (Extensible Architecture).

Mali hardverski zahtevi

  Platforme: A2, A4 ili neki drugi ED sistemi za akviziciju podataka, merenje i upravljanje 
  CPU: 386+
  Memorija: 256 KB (minimalno za Runtime) - 8 MB (razvojni sistem)
  Diskovi: bez diska za mreže ili embedid sisteme  - 10 MB za instalaciju razvojnog sistema.



Novo!
QNX softverski paket se sada može dobiti besplatno. Kopiju možete naći na sajtu  http://www.qnx.com.

Posetite i adresu:
OpenQNX :: The QNX Community Portal http://www.openqnx.com

 

Spacer

  © Copyright 1982-2004  Electronic Design

 

   
 

Spacer

  Electronic Design
  Makenzijeva b.b.- Pejton, Beograd
Tel:
Fax:
011/  308-50-30
011/  308-50-31
 email: edesign@eunet.yu
 http://www.ed.co.yu

Spacer