MEDICAL 9 - NOVEMBRE/DICEMBRE 2015
VI
L’importanza di un buon Sistema Operativo
La gestione dei dispositivi medicali indossabili spesso av-
viene tramite una qualche forma di Sistema Operativo
(OS). Le tipologie di OS sono le più svariate: dalla più
semplice soluzione custom “fatta in casa”, fino al più
complesso OS professionale, acquistato da un produttore
affermato. Gli OS di tipo non specializzato, o “General
Purpose” (GPOS), come ad esempio Linux o Android,
forniscono una potente piattaforma ricca di funzionalità
utili per lo sviluppo delle applicazioni, ma in alcuni casi
possono rivelarsi sproporzionate rispetto alle reali neces-
sità, nonché imporre consumi di memoria superiori al
necessario. Un Sistema Operativo Real-Time (o RTOS),
invece, spesso rappresenta una scelta molto appropriata
per i moderni dispositivi medicali. È la scelta ideale in
quei casi in cui gli specifici requisiti del sistema richieda-
no la presenza di un kernel di tipo preemptive e deter-
ministico ed una ridotta occupazione di memoria.
Un altro vantaggio legato all’utilizzo di un ambiente di
tipo RTOS consiste nella possibilità di utilizzare le API
dell’RTOS come macchina target, e sviluppare le applica-
zioni in conformità alle specifiche delle API stesse. Al di
sotto dello strato costituito dall’RTOS, saranno il middle-
ware incorporato e i driver delle periferiche a farsi carico
dell’adattamento allo specifico hardware fisico. Un’ap-
plicazione correttamente progettata può anche adattar-
si facilmente agli specifici dettagli della implementazio-
ne sottostante a una particolare versione del prodotto.
L’adattamento può essere realizzato sia dinamicamente,
a runtime, mediante una valutazione delle caratteristiche
hardware presenti, sia staticamente, al momento del
build, mediante apposite opzioni di compilazione e di
linking. L’RTOS Nucleus di Mentor Graphics consente
alle comuni applicazioni non solo di riuscire a indirizza-
re un’ampia varietà di combinazioni di periferiche, ma
anche di essere agevolmente trasportabili su diverse ar-
chitetture, famiglie e varianti di processori. La versione
ridotta di una applicazione può condividere, su un mi-
crocontrollore (o MCU: Micro-Controller Unit) di tipo
semplice, lo stesso ambiente operativo utilizzato per la
versione completa di tutte le funzionalità, su una piat-
taforma con MCU a elevate prestazioni. La possibilità,
offerta da un simile ambiente di sviluppo, di mantenere
versioni comuni del software, condivise su uno spettro di
apparati il più ampio possibile, ha ricadute estremamente
importanti sull’economicità del ciclo di sviluppo del pro-
dotto. Inoltre, vale la pena evidenziare come una sostan-
ziale differenza tra gli apparecchi medicali indossabili
odierni e quelli di qualche anno fa consista nella capacità
dei dispositivi di offrire oggi una connettività globale (sia
essa diretta, tramite la cosiddetta “Internet of Things”,
oppure tramite un altro apparecchio intermediario loca-
le, che faccia da ponte verso Internet o verso un ambien-
te di Cloud). Ciò avviene peraltro operando all’interno
di un’area di conoscenza caratterizzata da tecnologie,
protocolli e opzioni in continua e rapida evoluzione. È
dunque fondamentale che, qualunque sia la piattaforma
prescelta, essa sia in grado di adattarsi facilmente a nuove
opzioni di connettività wireless.
La gestione dei consumi
I processori oggi disponibili contengono un’impres-
sionante varietà di efficaci meccanismi a supporto del ris-
parmio energetico. Sfortunatamente, queste funzionalità
sono spesso estremamente interdipendenti, sia tra di loro
sia con altre parti del sistema non direttamente legate alla
specifica modalità di risparmio energetico da implemen-
tare. Tutto ciò finisce per imporre agli sviluppatori delle
applicazioni un carico eccessivo.
La soluzione consiste nello sviluppare l’applicazione
all’interno di una piattaforma software capace di incor-
porare la gestione energetica come parte integrante
dell’ambiente di sviluppo stesso. La maggior parte dei
sistemi operativi real-time offre un qualche meccanismo
di power management, il più comune dei quali è la “tick
suppression” (che, quando non vi sono task schedulati
per l’esecuzione, sospende l’interrupt del timer periodi-
co del kernel fino al prossimo evento del timer). Per i dis-
positivi indossabili sono tuttavia necessari altri sistemi più
sofisticati, che sono poco diffusi nel mondo degli RTOS.
Al momento, solo Nucleus supporta in modo integrato
tutti gli aspetti del risparmio energetico presenti nei di-
Fig. 1 – Le capacità di power management presenti
in Nucleus semplificano l’utilizzo delle funzioni di ri-
sparmio energetico, nella progettazione di dispositi-
vi medicali portatili
Medical