EMBEDDED
52 • MAGGIO • 2014
69
SOFTWARE
REAL TIME
sono diversi requisiti che devono esse-
re considerati:
• Requisiti funzionali
• Requisiti temporali
• Requisiti di affidabilità
I requisiti temporali definiscono il rigo-
re di completamento che possono esse-
re, per esempio, il controllo di un loop o
la risposta a un’interfaccia utente.
Con il tempo la complessità funziona-
le dei sistemi embedded è cresciuta
esponenzialmente e i requisiti real-time
sono diventati sempre più importanti;
di conseguenza l’integrazione di un
sistema operativo real-time è diventata
un obbligo per la maggior parte delle
applicazioni.
Un sistema real-time è un sistema dove la correttezza delle
computazioni dipende dalla sua correttezza logica e dall’istan-
te temporale in cui il risultato è prodotto. Se i vincoli del siste-
ma non sono rispettati, verranno a mancare i suoi obiettivi.
Ci sono due tipi di sistemi real-time (Fig. 3): reattivi ed
embedded. Sistemi real-time reattivi trattano di un sistema
che ha costante interazione con l’ambiente (ad esempio un
pilota per il controllo di un aereo). Un sistema real-time
embedded, invece, viene utilizzato per controllare un har-
dware specializzato che è installato in un sistema più grande
(ad esempio un microprocessore che controlla la miscela
carburante-aria per automobili).
I sistemi real time embedded offrono il controllo di un
ambiente esterno collegato a un computer attraverso sensori,
attuatori e altre interfacce di input-output.
Applicazioni ed esempi di sistemi real time sono onnipre-
senti, appaiono come parte delle attività nei settori delle
infrastrutture sanitarie, educativi e commerciali; includono i
seguenti sistemi:
• Veicoli per automobili, aerei, ferrovie e navi
• Controllo del traffico per autostrade e spazio aereo
• Controllo di processi per centrali elettriche, chimiche
• Uso militare
• Robot
• Comunicazioni telefoniche e satellitari
• Sistemi domestici.
I sistemi real-time devono soddisfare limitate risposte e
vincoli di tempo o di subire gravi conseguenze. Se le con-
seguenze consistono in una riduzione delle prestazioni,
il sistema è definito come soft real time (ad esempio la
regolazione del tempo di un computer sulla rete); i vin-
coli sui tempi di risposta sono meno stringenti, perché
in qualche caso si può non rispettarli. Se le conseguenze
sono circa il guasto del sistema, allora è indicato come un
sistema hard real-time (ad esempio intervento del sistema
di gestione dei pazienti negli ospedali); i vincoli sui tempi
di risposta sono stringenti, perché se non vengono rispet-
tati il sistema di controllo è inutile o addirittura pericoloso.
Esempi di sistemi real-time comprendono;
• Software per missili da crociera
• Sistemi di Difesa
• Sistemi di telecomunicazione
• Controllo Automotive
• Sistemi di elaborazione del segnale
• Sistemi radar
• I sistemi satellitari
• Utility elettriche.
I compiti (task) di un sistema real time si distinguono in
periodici e aperiodici. I task che devono essere eseguiti ogni
unità di tempo sono detti periodici, tutti gli altri aperiodici.
Task che richiedono il processore in modo impredicibile,
invece, sono detti sporadici. A ogni task vengono imposti vin-
coli di tempo denominati deadline, ovvero l’instante di tempo
dopo il quale la computazione non è semplicemente in ritar-
do, ma è errata. Ad esempio, se un sistema di controllo di un
processo industriale richiede che siano controllati dei sensori
ogni unità di tempo, il task relativo dovrà essere in grado di
portare a termine il controllo entro quell’unità di tempo, indi-
Fig. 2 – Sensori e attuatori in un sistema Embedded
Fig. 3 – Sistemi real time