[an error occurred while processing this directive]
diff logo Informatica e sistemi alternativi
su questo sito sul Web
    Home   Chi siamo    Contattaci    Scrivi per diff    Proponi un argomento 21/11/24
    Cos'è diff    Come accedere    F.A.Q.    Promuovi    Dicono di diff    Amici di diff    
AmigaOS
Linux
FreeBSD
BeOS
OpenSource
Java
Database
Informatica
Hardware
E-Commerce
Narrativa

Un primo sguardo al QNX®
di Alain Martini

La Storia

La QNX Software Systems Limited (QSSL) viene fondata nel 1980 da Gordon Bell e Dan Dodge per sviluppare e lanciare sul mercato un innovativo sistema operativo in "Real Time": QNX.
Il primo prototipo funzionante di QNX gira su due macchine collegate insieme, basate rispettivamente su di un 8088 ed un 6809.
In origine, il sistema operativo (SO) viene chiamato "Qunix" che significa "Quick Unix"; tale nome viene poi cambiato in "QNX" a seguito di una lettera dei legali della AT&T che non gradisce la cosa. Gestita privatamente e autofinanziata, QSSL aumenta il fatturato di anno in anno.

Nell'arco degli ultimi dieci anni quadruplica la superficie della sede per far fronte all'incremento del personale, che ora conta 120 impiegati dei quali il 52% sono tecnici.

Ora QSSL guarda all'espansione mondiale: di recente sono state aperte nuove sedi negli Stati Uniti ed in Europa, inoltre sono previsti piani di sviluppo per il mercato asiatico.

Attualmente QNX distribuisce i propri prodotti in 60 paesi. Nella sede della società, situata a Kanata (Canada), vi sono dipartimenti dedicati alla ricerca e sviluppo, alle vendite e al marketing.
QSSL sta conquistando il mercato professionale, soprattutto nei campi ove è richiesta elevata affidabilità e qualità dei sistemi:
medicina, monitoraggio di reattori nucleari, controllo del traffico, automazione industriale, aeronautica e persino nei controlli di produzione e qualità della birra.

Politica di sviluppo di QSSL

QNX nasce per essere un S.O. che riduce significativamente i tempi necessari per portare un prodotto sul mercato. In questo momento appare quindi naturale la ricerca da parte dei commerciali di QSSL di partner tecnologici di tutti i tipi, sia software che hardware, questo per porre QNX alla base di relazioni strategiche tra produttori hardware e software. L'alleanza con Amiga Inc. nasce dunque sotto questa luce: il marchio Amiga porta con sé una grossa utenza di sviluppatori e "smanettoni" nonché l'archivio Aminet che gli è invidiato persino da piattaforme come BEOS e LINUX.

Perché scegliere QNX?

  • Comprensibile
    L'intera architettura di sistema di QNX è racchiusa in un libro di meno di 200 pagine dove è descritto l'intero funzionamento del sistema operativo.
  • Veloce.
    La QSSL basa gran parte della pubblicità di QNX sulla velocità di risposta del sistema operativo, cosa per il resto veritiera e verificabile già su di un semplice 386 con l'apposito dischetto dimostrativo .
  • Piccolo
    L'impronta del sistema è veramente piccola, anche con tutti i file necessari al funzionamento del S.O. QNX rimane perfetto per la migrazione verso altro hardware. La piccola dimensione del kernel rende QNX di facile installazione anche su piccoli sistemi integrati.
  • Conveniente
    Non è necessario sviluppare in modo incrociato progetti su apparecchiature diverse. Nella maggior parte dei casi, se la piattaforma su cui si intende lavorare supporta l'uso di un hard disk, può essere tranquillamente usata come base di sviluppo per il software.
  • Photon MicroGUI
    Photon è il sistema per le interfacce utente che "ricopre" QNX. Per molti versi è simile a X-Windows/Motif. Qualunque programmatore che abbia programmato X-Window riconoscerà una certa familiarità con l'API di Photon. Contrariamente a X-Window, Photon, in pieno accordo con la filosofia di QNX, è facile da usare.
  • Configurabilità e modularità
    Essendo di facile comprensione, la configurazione finale di un sistema è molto più agevole da controllare in quanto i vari moduli del sistema sono identificabili in maniera intuitiva. Inoltre la complessità del sistema, essendo QNX modulare, viene scelta dallo sviluppatore o addirittura dall'utente stesso, che è posto in condizione di eliminare i moduli di cui non ha bisogno.
  • QUICS
    QNX Update Information Conferencing System (QUICS) è una BBS con 8 modem, 25 linee e una connessione a internet a 384K. Costruita su un Pentium 60MHz con QNX4.2, QUICS è in grado di gestire oltre 20000 Login al mese e fornisce agli utenti file di pubblico dominio, porting da altre piattaforme e sorgenti d'esempio provenienti dai laboratori di QSSL. E' possibile accedere a conferenze pubbliche che portano preziose informazioni sia all'utente che allo sviluppatore. Per gli sviluppatori registrati QUICS fornisce supporto tecnico on-line.
    QUICS è raggiungibile via TELNET://QUICS.QNX.COM oppure via FTP://QUICS.QNX.COM


QNX, sistema operativo per lo sviluppatore

Lo sviluppatore trova in QNX una maggiore funzionalità e un minor utilizzo delle risorse di sistema. Anche se oggi la memoria costa relativamente poco, ciò non implica che si debba utilizzarne troppa e malamente: un cattivo uso della memoria rappresenta comunque una perdita significativa delle prestazioni di un sistema. Come ampiamente dimostrato dal demo il sistema è estremamente compatto, nato per essere incorporato nelle flash-rom da 1Mb o 4Mb delle apparecchiature consumer di prossima generazione.

L'elevata modularità di QNX permette al programmatore di usare sempre lo stesso S.O. per una ampia gamma di prodotti consumer. Grazie al sistema integrato di finestre Photon MicroGUI, creare applicazioni diventa estremamente rapido.

In questo modo si ha la possibilità di applicare il software, che viene così elaborato una volta sola, ad una ampia palette di prodotti, dal telefono cellulare alla workstation, il tutto senza dover cambiare sistema di sviluppo. Ciò porta ad una sensibile riduzione dei costi di produzione.

Prestazioni realtime

QSSL basa gran parte del marketing sulla caratteristica real time di QNX.
Analizziamo dunque le prestazioni del sistema:
I seguenti parametri temporali ci danno immediatamente l'idea della rapidità di QNX.


  • Latenza di interrupt (Til): tempo che intercorre tra la ricezione di un interrupt hardware e l'esecuzione della prima linea di codice del gestore di interrupt software.


Latenza di interrupt Processore
3,3us 166MHz Pentium
4,4us 100MHz Pentium
5,6us 100MHZ 486DX4
22,5us 33MHz 386EX

  • Tempo di processazione dell'interrupt (Tint): è il tempo necessario alla risoluzione dell'interrupt.
  • Latenza di scheduling (Tsl): tempo che intercorre tra l'ultima linea di codice del gestore di interrupt e l'esecuzione del processo driver.


Latenza di scheduling Processore
4,7us 166MHz Pentium
6,7us 100MHz Pentium
11,1us 100MHZ 486DX4
74,2us 33MHz 386EX

Come si può notare QNX risulta molto reattivo anche su macchine povere in termini di potenza di calcolo.

QNX è connettività

La gestione di una rete locale è affidata a un meccanismo per la condivisione dei file e delle periferiche.
QNX riunisce l'intera rete in un singolo e omogeneo set di risorse. Ogni processo di qualunque macchina può essere direttamente usato o usare le risorse di ciascuna altra macchina in rete. Dal punto di vista dell'applicazione, non vi è infatti differenza tra una risorsa locale e una remota. Questo implica che non occorre introdurre all'interno delle applicazioni codice speciale per far uso di risorse remote. L'utente può accedere ai file ovunque essi siano sulla rete, utilizzare ogni dispositivo periferico e lanciare applicazioni su ogni macchina della rete (a patto ovviamente di averne l'autorità).

Grazie a questa caratteristica ed al web server integrato Voyager Web Server le pagine dinamiche risultano di facile implementazione. Il passaggio di messaggi è trasparente alla rete e permette controllare a distanza, tramite una porta messaggi, un programma in esecuzione su di una o più macchine, magari basate su processori diversi. Quest'ultima caratteristica rende estremamente flessibile lo sviluppo di applicazioni: e' possibile controllare ogni fase di debug di una macchina collegata in rete tramite Deja View.

Deja View permette di:

  • ottenere tutte le informazioni di debug in ogni istante
  • ripristinare situazioni antecedenti a un crash.
  • registrare tutti i messaggi
  • controllare l'andamento temporale dei processi
  • ottenere un profiling in tempo reale.


... continua

QNX, Neutrino, Photon MicroGUI, DejaView, sono marchi registrati.
IAT, PhAB, Phindows, Phinx, Slinger e Voyager
sono marchi registrati di QNX softwareSystems Ltd.
Tutti gli altri marchi registrati sono dei rispettivi proprietari.
AMIGA


Alain Martini
allievo presso il Politecnico di Torino dove frequenta il corso di Ingegneria Elettronica.
Per un anno ha lavorato presso la NonSoLoSoft dove ha dato prova di competenza ed affidabilità.
Appassionato di elettronica, ottimo programmatore, si muove con disinvoltura tra Amiga, BSD e Linux anche su Intel e compatibili.
Ha già pubblicato su Internet alcuni suoi progetti software ed hardware.


Puoi contattare l'autore scrivendo a:
amartini@diff.org


 



© 1999,2000,2001,2002 NonSoLoSoft di Ferruccio Zamuner (Italia)- tutti i diritti sono riservati