Lezione R1: Introduzione Ai Sistemi Real-Time
Lezione R1: Introduzione Ai Sistemi Real-Time
sistemi real-time
Marco Cesati
Lezione R1
Introduzione ai sistemi real-time
Schema della lezione
Sistemi embedded
come RT
Un caso reale
Tipiche applicazioni
RT
Sistemi embedded e real-time
Definizione di real-time
25 settembre 2020
Marco Cesati
Dipartimento di Ingegneria Civile e Ingegneria Informatica
Università degli Studi di Roma Tor Vergata
SERT’20 R1.1
Introduzione ai
Di cosa parliamo in questa lezione? sistemi real-time
Marco Cesati
Sistemi embedded
come RT
Un caso reale
1 discuteremo del rapporto tra sistemi embedded e sistemi
Tipiche applicazioni
real-time RT
Definizione di real-time
2 descriveremo alcuni esempi tipici di sistemi real-time
Hard e soft real-time
3 daremo una definizione formale di cosa si intende per
sistema real-time e di quali sono i suoi componenti
fondamentali
4 discuteremo sulla distinzione tra sistemi soft real-time e
sistemi hard real-time
SERT’20 R1.2
Introduzione ai
Sistemi real-time sistemi real-time
Marco Cesati
Definizione informale di sistema real-time: è un sistema
progettato per operare entro parametri temporali ben definiti
Perché in questo corso parliamo sia di sistemi embedded che Un caso reale
Definizione di real-time
1 La maggior parte dei sistemi embedded è anche real-time, Hard e soft real-time
e viceversa
2 Nella progettazione di un sistema embedded non si può
trascurare quale sistema operativo e applicazione verrà
eseguita
3 La tipologia di sistema operativo real-time è un fattore
critico da considerare in tutte le applicazioni safety-critical
4 La teoria della schedulazione real-time studia cosa è
possibile ottenere avendo a disposizione risorse hardware
limitate
SERT’20 R1.3
Introduzione ai
Sistemi embedded come sistemi real-time sistemi real-time
Marco Cesati
I sistemi embedded interagiscono in modo significativo
con l’ambiente in cui sono “immersi”
Nella maggior parte dei casi hanno il compito di reagire
“rapidamente” a segnali provenienti dall’ambiente
Schema della lezione
Esempio: consideriamo il sistema embedded che controlla il
Sistemi embedded
rilascio degli air-bag di una automobile in conseguenza ad una come RT
Tipiche applicazioni
RT
Se il sistema embedded rilascia l’air-bag in ritardo,
Definizione di real-time
l’essere umano subisce l’urto della collisione, poi viene
Hard e soft real-time
colpito con violenza dal cuscino in espansione
Se il sistema embedded rilascia l’air-bag in anticipo,
l’essere umano è ancora lontano dal cuscino ed il suo
movimento non viene frenato; poiché il cuscino si affloscia
subito, l’essere umano subisce l’urto della collisione
Un caso reale
SERT’20 R1.5
Introduzione ai
Teoria della schedulazione real-time sistemi real-time
Marco Cesati
Informalmente, molti risultati teorici della teoria della
schedulazione real-time assicurano il rispetto dei vincoli
temporali di un insieme di processi se l’utilizzo totale del
dispositivo di calcolo è inferiore ad una certa soglia
Dato un sistema real-time che deve assicurare Schema della lezione
Sistemi embedded
l’esecuzione nei tempi previsti di un insieme di funzioni, come RT
aumentare le risorse di calcolo a disposizione in genere Un caso reale
Tipiche applicazioni
traiettoria e deduce la posizione futura dell’oggetto in un RT
certo istante futuro Definizione di real-time
SERT’20 R1.7
Introduzione ai
sistemi real-time
Marco Cesati
Sistemi embedded
come RT
Un caso reale
Tipiche applicazioni
RT
Definizione di real-time
SERT’20 R1.8
Introduzione ai
Una brutta storia (2) sistemi real-time
Marco Cesati
Molto spesso, risorse preziose e vite umane sono affidate Un caso reale
Tipiche applicazioni
al corretto funzionamento di sistemi informatici RT
In molti di questi casi uno dei fattori cruciali è il tempo: Definizione di real-time
Tale definizione è poco rigorosa: più avanti in questa lezione Schema della lezione
Sistemi embedded
cercheremo di fornire una definizione migliore come RT
Un caso reale
È utile comunque avere innanzi tutto una idea di quali siano gli Tipiche applicazioni
RT
ambiti applicativi principali in cui vengono utilizzati i sistemi
Definizione di real-time
real-time Hard e soft real-time
SERT’20 R1.11
Introduzione ai
Sistemi di controllo digitale sistemi real-time
Marco Cesati
Un gran numero di sistemi real-time sono integrati in sensori
ed attuatori e operano come sistemi di controllo digitale
Sistemi embedded
Legge i dati forniti da alcuni sensori, generalmente come RT
Un caso reale
convertendo i segnali dal formato analogico a quello
Tipiche applicazioni
digitale RT
Definizione di real-time
Confronta lo stato del sistema sotto esame confrontandolo Hard e soft real-time
con uno stato obiettivo da raggiungere o mantenere e,
tramite una opportuna legge di controllo, determina i
segnali di uscita (output)
Converte l’output in segnali da fornire ad opportuni
attuatori per manipolare lo stato del sistema,
generalmente convertendo dal formato digitale a quello
analogico
Tipiche applicazioni
In generale i sistemi con feedback control loop funzionano RT
T1 ) Valida i dati dei sensori per selezionare i dati da acquisire; Schema della lezione
in caso di guasti, riconfigura il sistema Sistemi embedded
come RT
coordinate
aggiorna la posizione del velivolo
Un caso reale
T5 ) Esegue il calcolo della legge di controllo “interna” per yaw Tipiche applicazioni
RT
usando i risultati prodotti da T4
Definizione di real-time
Sistemi embedded
come RT
Un caso reale
Tipiche applicazioni
RT
Definizione di real-time
SERT’20 R1.16
Introduzione ai
Roll, pitch e yaw sistemi real-time
Marco Cesati
Sistemi embedded
come RT
Un caso reale
Tipiche applicazioni
RT
Definizione di real-time
SERT’20 R1.17
Introduzione ai
Roll, pitch e yaw sistemi real-time
Marco Cesati
Sistemi embedded
come RT
Un caso reale
Tipiche applicazioni
RT
Definizione di real-time
SERT’20 R1.18
Introduzione ai
Esempio: schema di un “flight controller” per elicottero (3) sistemi real-time
Marco Cesati
Job Freq. I I I I I I
√1 √2 √3 √4 √5 √6
Validazione sensori 180 Hz √
Controlli pilota 30 Hz √
Elaborazione dati 30 Hz √ Schema della lezione
Aggiornam. posizione 30 Hz √ Sistemi embedded
Pitch esterno 30 Hz √
come RT
Roll esterno 30 Hz √
Un caso reale
Tipiche applicazioni
Yaw+movim. esterno 30 Hz √ √ √ RT
Roll+movim. interno 90 Hz √ √ √ √ √ √
Hard e soft real-time
Sistemi embedded
Sistemi di controllo digitale per l’impianto di controllo del come RT
Definizione di real-time
Sistemi di controllo digitale per gli impianti che
Hard e soft real-time
somministrano ossigeno, medicinali, ecc.
Un sistema di controllo generale per ciascun letto, che
fornisce il quadro clinico di ciascun paziente
Un sistema di controllo dell’intera sala che attiva allarmi
per il personale sanitario nel caso il quadro clinico di un
qualunque paziente cambi bruscamente
Sistemi embedded
Una antenna viene puntata in una certa direzione ed come RT
Mentre in una base di dati tradizionale un dato non aggiornato Sistemi embedded
come RT
rimane valido indefinitivamente, in una base di dati temporale Un caso reale
un dato non aggiornato o non fornito in tempo utile non ha più Tipiche applicazioni
valore o significato RT
Definizione di real-time
Controllo di un satellite
Controllo del mercato finanziario
SERT’20 R1.22
Introduzione ai
Applicazioni multimediali sistemi real-time
Marco Cesati
Sistemi embedded
come RT
I flussi senza compressione sono enormi ed ingestibili, perciò Un caso reale
le applicazioni devono comprimere e decomprimere i flussi Tipiche applicazioni
secondo standard sofisticati RT
Definizione di real-time
SERT’20 R1.23
Introduzione ai
Definizione di sistema real-time sistemi real-time
Marco Cesati
Un caso reale
La correttezza logica di una applicazione informatica è definita
Tipiche applicazioni
come la capacità di produrre in modo deterministico le uscite RT
Sistemi embedded
eseguita periodicamente, ma esistono eventi esterni come come RT
dei task non sono periodici, ma le loro frequenze di Hard e soft real-time
Sistemi embedded
come RT
un processo eseguito da una CPU
Un caso reale
la spedizione di un messaggio tramite un canale di Tipiche applicazioni
comunicazione RT
Definizione di real-time
la lettura di un file da un dispositivo di memoria di massa
Hard e soft real-time
Esempio di task:
job che acquisisce valori da alcuni sensori
job che converte tali valori in formato appropriato
job che aggiorna con tali valori opportune strutture di dati
SERT’20 R1.26
Introduzione ai
Processori e risorse sistemi real-time
Marco Cesati
Definizione di real-time
Una risorsa è una componente passiva del sistema real-time la
Hard e soft real-time
cui disponibilità è necessaria per eseguire alcuni job
L’istante di rilascio di un job non coincide necessariamente con Schema della lezione
Un caso reale
Tipiche applicazioni
La scadenza (deadline) di un job è l’istante temporale entro cui RT
Sistemi embedded
In pratica, non esiste una definizione universale per il come RT
Un caso reale
significato di questi termini
Tipiche applicazioni
RT
SERT’20 R1.29
Introduzione ai
Tollerabilità della violazione dei vincoli temporali sistemi real-time
Marco Cesati
Una diffusa definizione di applicazione hard real-time è quella
per cui un fallimento nel rispettare i vincoli temporali di qualche
job è un “guasto fatale” dagli effetti potenzialmente disastrosi
L’applicazione che controlla i freni di un treno è hard real-time:
Schema della lezione
il conducente aziona il comando del freno perché il treno
Sistemi embedded
incontra un semaforo rosso: deve essere eseguito un job come RT
Si definisce tardività (tardiness) di un job il ritardo con cui esso Schema della lezione
Un caso reale
Un caso reale
Tipiche applicazioni
La validazione è una dimostrazione formale, svolta tramite una RT
SERT’20 R1.33
Introduzione ai
Definizione operativa di hard e soft real-time (2) sistemi real-time
Marco Cesati
Dal punto di vista di un libro di teoria la “definizione operativa”
è adeguata, per altri versi è anch’essa insoddisfacente
“Il sistema è hard real-time se deve essere validato. . . ma in
quali condizioni il sistema deve essere validato?”
Schema della lezione
Un caso reale