EMBEDDED
54 • NOVEMBRE • 2014
78
SOFTWARE
RTOS
architetturali e funzionalità che gli RTOS moderni devono
saper integrare sono numerose e sofisticate, e pongono
nuove sfide di sviluppo.
Requisiti da soddisfare,
non solo determinismo
L’evoluzione degli RTOS verso nuovi, moderni sistemi
operativi real-time passa attraverso alcune ‘capability’
chiave, senza le quali sarebbe oggi impossibile immagi-
narli. Nel mondo IoT e M2M (machine-to-machine), i di-
spositivi ‘edge’ connessi alla periferia della rete possono
essere i più vari e, pertanto, caratterizzarsi per capacità e
funzionalità anche molto differenti. Tuttavia questi device
sono anche accomunati dalla necessità di soddisfare alcu-
ni requisiti indispensabili: primo fra tutti, un funzionamen-
to deterministico, che richiede l’adozione di un RTOS:
solo i sistemi operativi di questa categoria sono infatti in
grado di assicurare un’operatività capace di rispettare i
più o meno rigidi vincoli di timing di queste applicazioni,
nonché, quando si rivela necessario, anche severe speci-
fiche di safety.
Un altro requisito il cui ruolo è certamente in crescita
negli RTOS moderni è la sicurezza. Proprio perché tutti
questi nuovi oggetti e sistemi embedded intelligenti si tro-
vano connessi in maniera sempre più capillare nella rete,
essi di fatto moltiplicano i potenziali punti di vulnerabilità
e le possibilità di attacco informatico a cui è esposta l’in-
frastruttura. Ma qui non si tratta semplicemente di proteg-
gere il sistema embedded dalle insidie di malware o appli-
cazioni pericolose: il problema è anche dispiegare in rete
oggetti e dispositivi edge con a bordo un RTOS che, una
volta connessi all’IoT, sia in grado di memorizzare e tra-
smettere i dati senza subire violazioni di sorta. Un caso ti-
pico, ad esempio, può essere quello di un ‘sensor hub’ che
raccoglie e concentra al proprio interno i dati provenienti
da numerosi sensori. A questo livello è essenziale che l’R-
TOS del dispositivo possieda l’intelligenza necessaria per
analizzare tali pacchetti di dati, e verificarne l’integrità,
quindi l’assenza di manomissioni. Per eseguire tali ope-
razioni in modo affidabile nel tempo, l’RTOS deve anche
essere mantenuto aggiornato tramite periodici upgrade
delle funzionalità di security, e utilizzare i meccanismi di
autenticazione per la connessione alle varie applicazioni.
I requisiti di safety, cioè di sicurezza fisica, sono richiesti
invece soprattutto nelle applicazioni dove un
malfunzionamento del sistema operativo che
comanda una macchina embedded ha il po-
tenziale di causare il ferimento o addirittura la
morte dell’utente. L’RTOS deve quindi essere
certificato secondo le specifiche normative di
safety dei singoli ambiti operativi.
Imperativo modulare
Nell’era IoT, la modularità del sistema diventa
un’altra caratteristica importante. In passato
gli RTOS sono stati essenzialmente sistemi
monolitici, integrabili di volta in volta nell’har-
dware target con l’ausilio di un corredo di
strumenti di sviluppo, di BSP (board support
package) o di altro software middleware. E
quando era necessario aggiornarli, ciò avveni-
va soprattutto per correggere bug di funziona-
mento o tappare falle di sicurezza. Tutto que-
sto oggi nel mondo cloud risulta impensabile:
i dispositivi embedded e i sistemi operativi
moderni devono potersi aggiornare di continuo con nuovi
componenti, per stare al passo con l’evoluzione della rete.
Devono dunque fondarsi su un’architettura modulare, in
grado di consentire l’aggiunta di nuove funzionalità, ap-
plicazioni, protocolli, middleware o pacchetti, senza dover
modificare il kernel, ossia il nucleo centrale dell’RTOS. In
questo modo diventa possibile anche allungare il ciclo di
vita del sistema operativo, spalmandolo su più generazioni
di dispositivi.
Altra caratteristica chiave è la scalabilità. La presenza
nell’IoT di una miriade di dispositivi differenti, in termini
di dimensioni, potenza e capacità di elaborazione, rende
indispensabile per un RTOS odierno l’abilità di scalare
l’occupazione di memoria (memor y footprint), le funziona-
lità e le prestazioni di processing in funzione delle singole
tipologie di device intelligenti.
Fig. 2 – Integrity, un RTOS con prestazioni hard real-time