.: AUTOMAZIONE :.

I Sistemi Real Time: definizione, fonti di non determinismo, schedulazione

I sistemi Real Time sono l'insieme dell'hardware e del software in cui la correttezza di funzionamento dipende sia dalla correttezza dei risultati prodotti che dal tempo in cui esso sono prodotti.

LINK SPONSORIZZATI


In generale un sistema Real Time esegue più processi contemporaneamente. I processi di un sistema Real Time possono essere:

  • Aperiodici o Sporadici
  • Periodici

Per ogni processo è definita una DEADLINE, ovvero, il tempo massimo entro cui un processo Real Time deve terminare la propria esecuzione

A seconda delle conseguenze di una mancata DEADLINE i processi Real Time vengono classificati in

  •  PROCESSI HARD REAL TIME ove il superamento della propria DEADLINE comporta un effetto catastrofico sul sistema
  • PROCESSI SOFT REAL TIME ove il superamento della propria DEADLINE comporta un degrado delle prestazioni, senza compromettere il funzionamento del sistema

 Pertanto nei sistemi REAL TIME ogni processo ha requisiti individuali che devono essere rispettati, di conseguenza le prestazioni medie assumono scarsa importanza per questi sistemi


Per questo motivo in un sistema REALTIME la proprietà più importante è la prevedibilità.


Per prevedibilità si intende la capacità del sistema di prevedere le conseguenze delle decisioni di scheduling e valutare la fattibilità della schedulazione in funzione della proprietà dei processi


Purtroppo nei sistemi informatici possono esserci FONTI DI NON DETERMINISMO che possono rendere la valutazione effettuata sulla schedulabilità non corretta o aleatoria


Le fonti di non determinismo dipendono sia dal hardware che dal software
• Fonti di non determinismo dovuti a meccanismi interni del processore.
Sebbene tali meccanismi migliorano le prestazioni medie del processore, introducono un non determinismo che può causare un superamento di DEADLINE per alcuni processi
(queste fonti sono chache dma, meccanismo interruzioni)
• Fonti di non determinismo dovute al sistema operativo: Scheduling SystemCalls, concorrenza, semafori, gestione della memoria e gestione delle periferiche


Schedulazione: definizione
Dato un insieme di task T=t1 t2........tn una schedulazione è un assegnamento dei task al processore

Schedulazione Fattibile: Una schedulazione si dice fattibile se esiste un assegnamento dei task al processore tale che tutti i task siano completati rispettando un insieme di vincoli prefissati

I vincoli che si possono specificare sui processi, e che una schedulazione deve rispettare per essere fattibile sono in genere di tre tipi:
• Vincoli temporali
• Vincoli di precedenza
• Vincoli su risorse condivise

A seconda delle ipotesi che si assumono sui processi e sul tipo di architettura hardware di supporto all'applicazione gli algoritmi di scheduling REAL TIME possono essere così classificati
Preemptive
Non Preemptive
Statici
Dinamici
Offline Online

LINK SPONSORIZZATI