Sistemi Real-Time Ing. Rigutini Leonardo



Documenti analoghi
Lo scheduling. Tipici schedulatori

Scheduling. Scheduling 14/12/2003 1/7

Principi di Schedulazione in tempo reale

Algoritmi di scheduling - Parte 2

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Scheduling della CPU:

SISTEMI IN TEMPO REALE

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

Scheduling. Lo scheduler è la parte del SO che si occupa di

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Sistemi e schedulazione in tempo reale

Lo schedulatore del kernel

La schedulazione. E.Mumolo

Scheduling di processi HRT

Riassunto di Sistemi in Tempo Reale LS

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Low Power Scheduling per Sistemi Real Time

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU

Sistemi Operativi: Sistemi realtime

Corso di Informatica

Algoritmi di scheduling

Algoritmi di scheduling

Processi e Thread. Scheduling (Schedulazione)

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Scheduling della CPU

Sistemi Operativi Kernel

SCHEDULATORI DI PROCESSO

Pronto Esecuzione Attesa Terminazione

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

La Gestione delle risorse Renato Agati

Schedulazione di attività in presenza di attività interrompibili

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

Lezione R4. Sistemi embedded e real-time

Schedulazione in RTAI

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Scheduling. Livelli Algoritmi

J. Assfalg Appunti di Sistemi Operativi

1 Concetti Introduttivi

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi

6 CPU Scheduling. 6.1 Concetti Fondamentali dello Scheduling della CPU. 6.1 Concetti Fondamentali

Sistemi Operativi. Schedulazione della CPU

ESERCIZI SULLO SCHEDULING DEI PROCESSI

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Sistemi operativi e reti A.A Lezione 2

Sistemi Operativi. Scheduling dei processi

Architettura degli Elaboratori 2

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

SCHEDULING SCHEDULING

Java Virtual Machine

Sistemi di Controllo Real Time

Capitolo 6: CPU scheduling

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

Architettura degli Elaboratori 2. tipi di scheduling. scheduling. scheduling della CPU (1) Esercitazione 1. politiche di ordinamento dei processi

Lo scheduler di UNIX (1)

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario

RTAI e scheduling. Andrea Sambi

Sistemi Operativi. 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst!

Algoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo

Il Sistema Operativo

Gli stati di un processo

Sistemi di Automazione Industriale

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali

FONDAMENTI di INFORMATICA L. Mezzalira

Approccio stratificato

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Sistemi Operativi (modulo di Informatica II) I processi

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

GESTIONE DEI PROCESSI

Organizzazione della produzione

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Implementazione di sistemi real time

Scheduling della CPU (2) CPU bursts (2)

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Sistemi Operativi a.a Esercizi - 2

Monitor. Introduzione. Struttura di un TDA Monitor

Transcript:

Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dell informazione Università di Siena

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 dell ambiente RT System t Input x(t) Output y(t+ t) Ambiente t Rigutini Leonardo Sistemi Real-Time Slide n 2

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 Rigutini Leonardo Sistemi Real-Time Slide n 3

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 Rigutini Leonardo Sistemi Real-Time Slide n 4

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) Rigutini Leonardo Sistemi Real-Time Slide n 5

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 Rigutini Leonardo Sistemi Real-Time Slide n 6

Fondamenti di S.O Stati di un task: BLOCKED signal wait activation READY preemption dispatching RUNNING termination Scheduler: Task from blocked Ready queque Scheduler CPU New task Rigutini Leonardo Sistemi Real-Time Slide n 7

Schedule Uno schedule è una particolare assegnazione di task al processore: sia Γ={τ 1, τ 2,, τ n } l insieme dei task, uno schedule è un mapping σ : R + N tale che t R +, t 1,t 2 : t [t 1,t 2 ) e t [t 1,t 2 ): σ(t)= σ(t ) σ(t)= K>0 se τ n è in esecuzione 0 altrimenti 3 2 1 0 idle τ 1 τ 2 τ 3 τ 2 idle preemption t 1 t 2 t 3 t 4 t 5 Rigutini Leonardo Sistemi Real-Time Slide n 8

Real-Time Task D i τ i C i r i s i f i d i r i request time (arrival time a i ) s i start time C i tempo di esecuzione nel caso peggiore (wcet) d i D i f i absolute deadline relative deadline finishing time τ i c i (t) slack r i s i t f i d i c i (t) Residual wcet c i (r i )=C i L i = f i d i Margine d i t c i (t) laxity o slack Max(0,L i ) Ritardo Rigutini Leonardo Sistemi Real-Time Slide n 9

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 Rigutini Leonardo Sistemi Real-Time Slide n 10

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: Rigutini Leonardo Sistemi Real-Time Slide n 11

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 nell esecuzione dei task Risorse Forzano una sincronizzazione negli accessi a risorse mutuamente esclusive Rigutini Leonardo Sistemi Real-Time Slide n 12

Anomalie di scheduling -1 Aumento del numero di processori: 3 processori 4 processori Task più brevi: Rigutini Leonardo Sistemi Real-Time Slide n 13

Anomalie di scheduling -2 Rimuovendo i vincoli di precedenza: Processore 2 volte più veloce: Rigutini Leonardo Sistemi Real-Time Slide n 14

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 dell attivazione 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 Rigutini Leonardo Sistemi Real-Time Slide n 15

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 (C i 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 Rigutini Leonardo Sistemi Real-Time Slide n 16

Scheduling Real-Time Time: : Task Aperiodici Per semplicità non consideriamo i vincoli di precedenza I task possono essere schedulati in base: Deadline relativa (D i ) Earliest Due Date (EDD) Statico (D i fissati) Preemptiveo meno Tutti i task arrivano simultaneamente Minimizza il massimo margine (L max ) Deadline assoluta (d i ) Earliest Deadline First (EDF) Dinamico (d i dipende dal tempo di arrivo) Preemptive Task possono arrivare in qualsiasi istante Minimizza il massimo margine (L max ) Rigutini Leonardo Sistemi Real-Time Slide n 17

Earliest Due Date (EDD) Seleziona il task con la deadline relativa (D i ) minore Minimizza il massimo margine (L max ) If L max <0 then nessun task manca la sua deadline Test di garanzia off-line (istante di arrivo noto): i k=0..i C k D i Rigutini Leonardo Sistemi Real-Time Slide n 18

Earliest Deadline First (EDF) Seleziona il task con la deadline assoluta (d i ) minore [Horn 74] Es. Minimizza il massimo margine (L max ) Test di garanzia on-line (i task possono arrivare in qualsiasi istante): i f i = k=0..i c k (t) d i -t t Notare che f i = f i-1 + c i (t) Rigutini Leonardo Sistemi Real-Time Slide n 19

Scheduling Real-Time Time: : Task Periodici Task Periodico: Per ogni task periodico garantire: ogni job τ ik sia attivato all istante r ik =(K-1)T i ogni job τ ik termini entro d ik =r ik + D i 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à Rigutini Leonardo Sistemi Real-Time Slide n 20

Timeline Scheduling Deadline relativa uguale al periodo: Di = Ti Vincoli: C a + C b C a + C c Vantaggi: 1. Implementazione semplice 2. Basso overhead Svantaggi: 1. 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 2. Bassa espandibilità Modifica di uno o più task riprogettare tutto, compreso T e 3. Difficile da gestire la presenza di task aperiodici Rigutini Leonardo Sistemi Real-Time Slide n 21

Priority Scheduling: : Rate Monotonic (RM) Priorità inversamente proporzionale alla frequenza del task [Liu e Layland 73] Es. Deadline relativa uguale al periodo: Di = Ti Fattibilità: Ogni task utilizza la CPU per una frazione di tempo pari a: Quindi l utizzazione del processore è: U p misura il carico del processore Se U p > 1 il processore è sovraccaricato T non schedulabile Ci sono casi di non schedulabilità anche con U p < 1 Rigutini Leonardo Sistemi Real-Time Slide n 22

Utilization Upper Bound L Utilization Upper Bound U ub dipende dall insieme dei task: U p = 3/6 + 3/9 = 0.833 U lub = Least Upper Bound U p = 2/4 + 4/8 = 1 se U p U lub certamente schedulabile se U lub U p 1 non possiamo dire niente Nel 1973 Liu e Layland provarono che per un insieme di n task periodici: U RM lub ( 2 1 n = n 1) per n, Ulub RM ln 2 Rigutini Leonardo Sistemi Real-Time Slide n 23

Priority Scheduling: Earliest Deadline First (EDF) Deadline relativa uguale al periodo: Di = Ti Ogni task riceve una assoluta deadline d i,k =r i,k + D i con r i,k =r i,1 + (k-1)t i Il processore è assegnato al task con d i,k minore Utilizzo del processore fino al 100% Schedulabilità: Nel 1973 Liu e Layland provarono che per un set di n task periodici EDF Ulub =1 Un insieme di task è schedulabile EDF se e solo se U p 1 Rigutini Leonardo Sistemi Real-Time Slide n 24

RM vs EDF RM: Semplice da implementare su S.O. commerciali Più predicibile durante i sovraccarichi EDF Più efficiente Riduzione dei content switch Rigutini Leonardo Sistemi Real-Time Slide n 25

Task Periodici con D < T 1. Deadline Monotonic (DM) Priorità inversamente proporsionale a D p i 1/D i 2. Earliest Deadline First (EDF) Priorità inversamente proporsionale a d p i 1/d i Rigutini Leonardo Sistemi Real-Time Slide n 26

Task Aperiodici + Task Periodici Scheduling globale periodico Si utilizza un task periodico (server) che gestisce i task aperiodici Servers: Priorità fissa: Polling server (PS) Deferrable server (DS) Priorità dinamica: Dynamic Polling server (DPS) Dynamic Deferrable server (DDS) Rigutini Leonardo Sistemi Real-Time Slide n 27

Sommario Argomenti trattati in questo seminario: 1.Introduzione ai S.O. 2.Scheduling RT di Task Aperiodici 3.Scheduling RT di Task Periodici 4.Task Aperiodici + Task Periodici Rigutini Leonardo Sistemi Real-Time Slide n 28