Background Image
Table of Contents Table of Contents
Previous Page  34 / 84 Next Page
Information
Show Menu
Previous Page 34 / 84 Next Page
Page Background

EMBEDDED

58 • novembre • 2015

SPECIALE

|

RTOS

34

QNX Neutrino

http://www.qnx.com

Il 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.com

Keil 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