EMBEDDED
58 • novembre • 2015
SPECIALE
|
RTOS
34
QNX Neutrino
http://www.qnx.comIl sistema operativo real-time di QNX Software Sy-
stems, società sussidiaria di BlackBerry, fornisce
tempi di risposta deterministici a livello dell’ap-
plicazione e di tutti i sottosistemi e, grazie all’ar-
chitettura microkernel, sottolinea l’azienda, vir-
tualmente ogni componente - ad esempio anche un
driver di basso livello - può subire un guasto senza
danneggiare il kernel stesso o altri componenti.
Inoltre, i componenti che hanno accusato avarie
possono essere riavviati rapidamente e in maniera
intelligente (self-healing), mentre le caratteristiche
di alta disponibilità fanno sì che se ad esempio un
device driver, uno stack di protocolli o un’applica-
zione sperimentano un problema, il gestore della
’high availability’ è in grado di terminare e ripri-
stinare il componente con funzionamento difettoso,
in isolamento, spesso in pochi millisecondi e senza
necessità di riavvio. A livello elaborativo, le fun-
zionalità di ’adaptive partitioning’ consentono poi
alla capacità libera della CPU di essere utilizzata
quando è disponibile. In termini di portabilità, l’e-
steso supporto POSIX facilita la portabilità delle
applicazioni da Linux, UNIX e altri programmi
open source.
Pur essendo un sistema robusto e completamente
accessoriato, QNX Neutrino è in grado di scalare
verso il basso per soddisfare i requisiti e i vincoli di
risorse di determinati sistemi embedded real-time.
Questa architettura modulare aiuta gli sviluppato-
ri a realizzare sistemi embedded affidabili e alta-
mente ottimizzati, ma allo stesso tempo contraddi-
stinti da un TCO (costo di possesso) contenuto.
RTX
http://www.keil.comKeil RTX è un RTOS deterministico e royalty-
free ideato per i dispositivi ARM e Cortex-M.
Con esso si possono realizzare programmi che
eseguono simultaneamente diverse funzioni, e
anche creare applicazioni meglio strutturate e
più facilmente manutenibili. A livello di opera-
tività real-time, l’alta velocità viene raggiunta
tramite una bassa latenza degli interrupt (il
comportamento deterministico è ottenuto at-
traverso una gestione degli eventi e degli in-
terrupt entro un tempo definito). Fra le altre
caratteristiche, Keil RTX ha un fooprint contenuto,
per adattarsi a sistemi con risorse limitate; può ge-
stire un numero illimitato di task, ciascuno con 254
livelli di priorità; un numero illimitato di mailbox,
semafori, mutex, timer; e fornisce il supporto per il
multithreading e l’operatività ’thread-safe’. In sin-
tesi, questa caratteristica assicura che tutto il codi-
ce delle librerie girerà in maniera corretta durante
l’esecuzione simultanea di molteplici thread, e che
tutti processi potranno accedere ai dati condivisi
e alle diverse istanze delle funzioni della libreria,
senza il rischio di un comportamento imprevisto
del sistema. La funzionalità ’thread-safety’ nelle
librerie di middleware è implementata utilizzando
una combinazione di metodi (mutual exclusion con-
trol, thread specific storage, reentrant), descritti
più diffusamente nella pagina web specifica all’in-
terno del sito.
Fig. 8 - QNX Neutrino
Fig. 9 - RTX