My personal blog

20 febbraio 2007

QNX


QNX (si pronuncia Q-N-X o Q-nix) è un sistema operativo real-time Unix-like POSIX-compliant commerciale, basato su microkernel e mirato principalmente al mercato dei sistemi embedded.
QNX è progettato come sistema microkernel, la cui idea base è quella di costruire il sistema operativo come un insieme di piccole parti che offrono uno specifico servizio: queste parti sono denominate 'server' e prendono anche il posto dei 'device driver' dei sistemi operativi tradizionali.
Proprio in questo approccio sta la differenza tra un sistema microkernel ed il kernel dei sistemi operativi tradizionali: in questi il sistema operativo è composto sin dall' inizio di molti moduli raggruppati in un unico grosso software (kernel monolitico) che normalmente non possono essere individualmente separati dal resto.
Nel caso di QNX, il sistema microkernel permette all' utente di assemblare un proprio sistema utilizzando solo le parti realmente necessarie, tralasciando completamente quelle non desiderate e questo senza modificare o ricompilare il sistema operativo stesso.
Allo stesso tempo è invece possibile estendere il sistema con parti scritte dall'utente o da altri senza pericolo di causare malfunzionamenti nel resto del sistema operativo. Un sistema operativo real-time completo e provvisto di molte funzionalità, compreso stack di rete TCP/IP, file system, un interprete di comandi e altro può comodamente stare su un floppy disk.
Dalla versione denominata Neutrino QNX è stato portato, oltre che sulle CPU x86, su un vasto numero di differenti processori, purché dotati di Memory management unit (MMU), tra cui: PowerPC, ARM, StrongARM, MIPS e SH-4.
Originariamente QNX forniva una licenza d' uso utilizzabile per sviluppi non commerciali (QNX NC) che però è stata sospesa nel 2003 ed ora fornisce solamente la possibilità di scaricare il sistema completo con una licenza temporanea di 30 giorni. Poiché il sistema di sviluppo, rispetto a uno equivalente per un sistema comparabile tipo Windows CE o linux RTAI, è piuttosto costoso, questo tipo di limitazione di fatto impedisce lo studio e la diffusione di questo ottimo sistema, che potrebbe finire per chiudersi in una nicchia.
Il sistema di sviluppo si avvale della piattaforma Eclipse, in cui QNX ha integrato i propri tools di sviluppo ed il sistema operativo. Essendo Eclipse sviluppato in java, il sistema di sviluppo può girare virtualmente su qualsiasi sistema dotato di java e di una interfaccia grafica compatibile, tra cui Windows, sistemi Unix e Linux e QNX stesso.
Tratto it.wikipedia.org

Nessun commento: