Sistemi Real-Time - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Sistemi Real-Time

Description:

Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dell informazione Universit di Siena Sistema Real-Time Sistema in cui la correttezza non ... – PowerPoint PPT presentation

Number of Views:113
Avg rating:3.0/5.0
Slides: 29
Provided by: Ing3153
Category:

less

Transcript and Presenter's Notes

Title: Sistemi Real-Time


1
Sistemi Real-Time
  • Ing. Rigutini Leonardo
  • Dipartimento di Ingegneria dellinformazioneUnive
    rsità di Siena

2
Sistema Real-Time
  • Sistema in cui la correttezza non dipende
    solamente dai valori di output ma anche dal tempo
    con cui tali risultati sono prodotti
  • REAL TIME significa che il tempo di sistema deve
    essere sincronizzato con il tempo dellambiente

Ambiente
Input x(t)
RTSystem
t
Output y(t?t)
t
3
Tipiche applicazioni Real-Time
  • Sistemi militari per la difesa
  • Controllo di impianti nucleari o chimici
  • Robotica
  • Sistemi di gestione scambi ferroviari
  • Sistemi di monitoraggio (aereo, ferroviario )
  • Sistemi di telecomunicazioni

4
Approccio tradizionale
  • Molte applicazioni RT sono sviluppate con metodi
    empirici
  • Programmazione assembler
  • Temporizzazione tramite timer dedicati
  • Controllo attraverso programmazione dei driver
  • Manipolazione delle priorità
  • Svantaggi
  • Programmazione noiosa e dipendente dalle capacità
    umane
  • Codice poco leggibile
  • Difficile manutenzione
  • Difficile verifica dei vincoli temporali

5
Progetto di un sistema RT
  • La fase di test, anche se necessaria, non
    permette una verifica completa del sistema
  • La predicibilità deve essere migliorata a livello
    di kernel
  • Gestione dei sovraccarichi (Overload handling)
  • Tolleranza ai guasti (Fault-Tolerance)
  • I sistemi critici devono essere progettati con
    assunzioni pessimistiche (legge di Murphy)

6
Real-Time ? Veloce
  • Real-Time non è un sistema veloce
  • La velocità è relativa all ambiente
  • Es. tartaruga e topolino
  • Essere più veloce è un vantaggio ma non
    garantisce la correttezza
  • Un sistema RT deve garantire il comportamento
    temporale di ogni task
  • Un sistema veloce deve minimizzare il tempo di
    risposta medio di un insieme di task

7
Fondamenti di S.O
  • Stati di un task
  • Scheduler

BLOCKED
signal
wait
preemption
activation
termination
READY
RUNNING
dispatching
Task from blocked
Ready queque
Scheduler
CPU
New task
8
Schedule
  • Uno schedule è una particolare assegnazione di
    task al processore
  • sia Gt1, t2, , tn linsieme dei task,
  • uno schedule è un mapping s R ? N tale che
  • ?t ?R, ?t1 ,t2 t ? t1 ,t2) e ?t? t1 ,t2)
    s(t) s(t)
  • s(t)

Kgt0 se tn è in esecuzione
0 altrimenti
idle
idle
t1
t2
t3
t2
3
2
preemption
1
0
t1
t2
t3
t4
t5
9
Real-Time Task
Di
Ci
ti
ri
si
fi
di
di absolute deadline Di relative deadline
fi finishing time
ri request time (arrival time ai) si start
time Ci tempo di esecuzione nel caso peggiore
(wcet)
slack
ci(t)
ti
ri
si
fi
di
t
Li fi di Margine Max(0,Li) Ritardo
ci(t) Residual wcet ci(ri)Ci di t
ci(t) laxity o slack
10
HARD e SOFT task
  • HARD task
  • Mancare la deadline può causare effetti
    catastrofici
  • Acquisizione di dati da sensori
  • Controllo a basso livello
  • SOFT task
  • Mancare la deadline causa solamente un degrado di
    prestazioni
  • Visualizzazione di messaggi
  • Interpretazione di comandi utente
  • Un sistema capace di gestire HARD task è detto
    hard real-time

11
Modi di attivazione
  • Time Driven (task periodici)
  • Il task è attivato automaticamente dal kernel ad
    intervalli regolari
  • Event Driven (task aperiodici)
  • Il task è attivato al verificarsi di un evento o
    attraverso una esplicita invocazione della
    primitiva di attivazione

Aperiodico
Sporadico
12
Vincoli
  • Temporali
  • Es. Attivazione, completamento,
  • Possono essere
  • Espliciti inclusi nelle specifiche
  • Impliciti derivano da specifiche che sembrano
    non temporali (es. spazio di frenata dipende
    dalla velocità)
  • Precedenza
  • Impongono un ordine nellesecuzione dei task
  • Risorse
  • Forzano una sincronizzazione negli accessi a
    risorse mutuamente esclusive

13
Anomalie di scheduling -1
3 processori
Aumento del numero di processori
4 processori
Task più brevi
14
Anomalie di scheduling -2
15
Scheduling
  • Uno schedule è detto ammissibile se ogni task
    termina rispettando un insieme di vincoli
  • Uno scheduling può essere
  • Preemptive / Non Preemptive
  • Possibilità di sospensione di un task
  • Statico / Dinamico
  • Decisioni prese in base a parametri fissi /
    variabili con il tempo
  • On line / Off Line
  • Decisioni prese prima dellattivazione del task /
    a run time
  • Best Effort / Ottimo
  • Fa del suo meglio per trovare uno scheduling
    ammissibile / trova sempre uno scheduling se ne
    esiste uno

16
Scheduling classici
  • FCFS (First Come First Served)
  • CPU assegnata in base ai tempi di arrivo
  • Non Preemptive, Dinamico, OnLine, BestEffort
  • Altamente impredicibile
  • SJF (Shortest Job First)
  • CPU assegnata al task con C minore
  • Non preemptive o preemptive, statico (Ci
    fissati), on-line od off-line
  • Minimizza il tempo di risposta medio
  • PS (Priority scheduling)
  • Viene eseguito il task con P maggiore
  • Preemptive,Statico o Dinamico, on-line
  • Problema starvation ? soluzione aging
  • RR (Round Robin)
  • FCFS con time sharing
  • Ogni task ha a disposizione un lasso di tempo Q,
    altrimenti viene sospeso e riattivato nQ dopo
  • Ogni task viene eseguito come se fosse su un
    processore n volte più lento

17
Scheduling Real-Time Task Aperiodici
  • Per semplicità non consideriamo i vincoli di
    precedenza
  • I task possono essere schedulati in base
  • Deadline relativa (Di) ? Earliest Due Date (EDD)
  • Statico (Di fissati)
  • Preemptive o meno
  • Tutti i task arrivano simultaneamente
  • Minimizza il massimo margine (Lmax)
  • Deadline assoluta (di) ? Earliest Deadline First
    (EDF)
  • Dinamico (di dipende dal tempo di arrivo)
  • Preemptive
  • Task possono arrivare in qualsiasi istante
  • Minimizza il massimo margine (Lmax)

18
Earliest Due Date (EDD)
  • Seleziona il task con la deadline relativa (Di)
    minore
  • Minimizza il massimo margine (Lmax)
  • Test di garanzia off-line (istante di arrivo
    noto)

19
Earliest Deadline First (EDF)
  • Seleziona il task con la deadline assoluta (di)
    minore Horn 74
  • Minimizza il massimo margine (Lmax)
  • Test di garanzia on-line (i task possono arrivare
    in qualsiasi istante)

20
Scheduling Real-Time Task Periodici
Task Periodico
  • Per ogni task periodico garantire
  • ogni job ?ik sia attivato allistante rik(K-1)Ti
  • ogni job ?ik termini entro dik rik Di
  • Due tassonomie di algoritmi
  • Timeline scheduling
  • Utilizzato per 30 anni in tutti i sistemi RT
    (militare, navigazione, )
  • Asse dei tempi suddivisa in intervalli allocati
    staticamente ai vari task
  • Priority Scheduling
  • Priorità assegnate in base ai vincoli temporali
    di ogni task
  • Vari tipi di algoritmi a seconda del modo di
    fissare le priorità

21
Timeline Scheduling
  • Deadline relativa uguale al periodo Di Ti
  • Vantaggi
  • Implementazione semplice
  • Basso overhead
  • Svantaggi
  • Poco robusto durante sovraccarichi cosa fare se
    un task sfora la deadline?
  • Lasciare finire il task ? effetto domino
  • Abortire il task ? pericolo di stati
    inconsistenti
  • Bassa espandibilità
  • Modifica di uno o più task ? riprogettare tutto,
    compreso T e ?
  • Difficile da gestire la presenza di task
    aperiodici

22
Priority Scheduling Rate Monotonic (RM)
  • Priorità inversamente proporzionale alla
    frequenza del task Liu e Layland 73
  • Deadline relativa uguale al periodo Di Ti
  • Fattibilità
  • Ogni task utilizza la CPU per una frazione di
    tempo pari a
  • Quindi lutizzazione del processore è
  • Se Up gt 1 il processore è sovraccaricato ? T non
    schedulabile
  • Ci sono casi di non schedulabilità anche con Up lt
    1

Up misura il carico del processore
23
Utilization Upper Bound
  • LUtilization Upper Bound Uub dipende
    dallinsieme dei task
  • Nel 1973 Liu e Layland provarono che per un
    insieme di n task periodici

Ulub Least Upper Bound
Up 3/6 3/9 0.833
Up 2/4 4/8 1
se Up Ulub certamente schedulabile se Ulub Up
1 non possiamo dire niente
24
Priority Scheduling Earliest Deadline First (EDF)
  • Deadline relativa uguale al periodo Di Ti
  • Ogni task riceve una assoluta deadline di,k
    ri,k Di con ri,k ri,1 (k-1)Ti
  • Il processore è assegnato al task con di,k minore
  • Utilizzo del processore fino al 100
  • Schedulabilità
  • Nel 1973 Liu e Layland provarono che per un set
    di n task periodici
  • Un insieme di task è schedulabile EDF se e solo
    se Up 1

25
RM vs EDF
  • RM
  • Semplice da implementare su S.O. commerciali
  • Più predicibile durante i sovraccarichi
  • EDF
  • Più efficiente
  • Riduzione dei content switch

26
Task Periodici con D lt T
  • Deadline Monotonic (DM)
  • Priorità inversamente proporsionale a D ? pi ?
    1/Di
  • Earliest Deadline First (EDF)
  • Priorità inversamente proporsionale a d ? pi ?
    1/di

27
Task Aperiodici Task Periodici
  • Scheduling globale periodico
  • Si utilizza un task periodico (server) che
    gestisce i task aperiodici
  • Servers
  • Priorità dinamica
  • Dynamic Polling server (DPS)
  • Dynamic Deferrable server (DDS)
  • Priorità fissa
  • Polling server (PS)
  • Deferrable server (DS)

28
Sommario
  • Argomenti trattati in questo seminario
  • Introduzione ai S.O.
  • Scheduling RT di Task Aperiodici
  • Scheduling RT di Task Periodici
  • Task Aperiodici Task Periodici
Write a Comment
User Comments (0)
About PowerShow.com