Scheduling di processi HRT



Documenti analoghi
Riassunto di Sistemi in Tempo Reale LS

Algoritmi di scheduling - Parte 2

PROVA SCRITTA DI SISTEMI IN TEMPO REALE (18/7/2007)

Principi di Schedulazione in tempo reale

Lo scheduling. Tipici schedulatori

Scheduling. Scheduling 14/12/2003 1/7

Scheduling di processi hard real-time

Schedulazione in RTAI

Sistemi Real-Time Ing. Rigutini Leonardo

RETI DI TELECOMUNICAZIONE

Sistemi Operativi: Sistemi realtime

SISTEMI IN TEMPO REALE

Sistemi Operativi SCHEDULING DELLA CPU

Algoritmi di scheduling

Scheduling della CPU:

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. 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. Lo scheduler è la parte del SO che si occupa di

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

RTAI e scheduling. Andrea Sambi

Scheduling della CPU

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

La Gestione delle risorse Renato Agati

Sistemi di Controllo Real Time

SCHEDULING SCHEDULING

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

Schedulazione di attività in presenza di attività interrompibili

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

Low Power Scheduling per Sistemi Real Time

Processi e Thread. Scheduling (Schedulazione)

Algoritmi di scheduling - Parte 1

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

Scheduling della CPU

SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007

REGISTRAZIONE DEI CONTRATTI DI COMPRAVENDITA DI ENERGIA ELETTRICA ED ESECUZIONE DI TALI CONTRATTI NELL AMBITO DEL SERVIZIO DI DISPACCIAMENTO

Gestione Turni. Introduzione

Progettaz. e sviluppo Data Base

Convessità e derivabilità

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

Algoritmi di scheduling

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

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

Capitolo 2. Operazione di limite

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

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

Sistemi Operativi Kernel

Corso di Informatica

Sistemi Operativi. 5 Gestione della memoria

Firma di un documento informatico con la Carta Regionale dei Servizi

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

della manutenzione, includa i requisiti relativi ai sottosistemi strutturali all interno del loro contesto operativo.

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

J. Assfalg Appunti di Sistemi Operativi

SISTEMA INFORMATIVO INPDAP SERVIZI E PROGETTI PER L'INTEGRAZIONE DEL SISTEMA STANDARD DI PRODOTTO PIANO DI QUALITA' DI PROGETTO

Il sistema operativo TinyOS

Concetti di base di ingegneria del software

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

PIEMONTE. D.G.R. n del 1/8/2005

uniformità di indirizzi e di livelli di sicurezza semplicità in fase di progettazione e di controllo

Calcolatori: Algebra Booleana e Reti Logiche

Il memory manager. Gestione della memoria centrale

La memoria - generalità

CERTIFICAZIONE ISO 14001

Gestione della memoria centrale

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

SCHEDULATORI DI PROCESSO

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

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Strategie e Operatività nei processi di backup e restore

Architettura degli Elaboratori 2

SCHEDULING DEI PROCESSI

Coordinazione Distribuita

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

Collaborazione con aziende terze:

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Corso di Sistemi di Elaborazione delle informazioni

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

PROGETTO REGIONALE MISURAZIONE E VALUTAZIONE DELLE BIBLIOTECHE VENETE

LE FUNZIONI A DUE VARIABILI

RISOLUZIONE N. 23/E. Roma,01 marzo 2004

Per dimostrare i benefici della citylogistics in presenza di condizioni favorevoli per farla decollare, abbiamo deciso di costruire un modello di

10. Insiemi non misurabili secondo Lebesgue.

Ministero dell Istruzione, dell Università e della Ricerca. Acquisizione Beni e Servizi

GESTIONE DEI PROGETTI

Pronto Esecuzione Attesa Terminazione

Ottava Edizione. La Programmazione e Controllo della Produzione Prof. Sergio Cavalieri

Preso atto che la somma da destinare alla formazione prevista nel bilancio di previsione dell Unione, è pari a 9.600,00 per l anno 2014;

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

Il calcolo delle provvigioni con Excel

Ing. Marco Franceschini Ordine Geologi del Veneto 04/09/2009

Lo scheduler di UNIX (1)

Modelli per la gestione delle scorte

Il registro delle manutenzioni e dei controlli. Quali obblighi negli impianti Civili

Revisione 00 Data revisione: 17/11/2010 ISO 14001:2004. Emissione RSGA Prima Approvazione DIR GIUNTA. Approvazione revisioni

Transcript:

Scheduling di processi HRT Primo modello per la schedulazione di processi periodici N processi P1, P2,, PN indipendenti senza vincoli di precedenza, senza risorse condivise; ogni processo Pj (j = 1, 2,,N) è: periodico, con periodo Tj prefissato, caratterizzato da un tempo massimo di esecuzione Cj prefissato, con Cj < Tj, caratterizzato da una deadline Dj = Tj; l esecuzione dei processi è affidata ad un sistema di elaborazione monoprocessore; il tempo impiegato dal processore per operare una commutazione di contesto tra processi è trascurabile. Teorema sulla schedulabilità Condizione necessaria (ma in generale non sufficiente) affinché un insieme di N processi periodici sia schedulabile è che il risultante fattore di utilizzazione del processore sia non superiore a 1: Il j-esimo termine della sommatoria rappresenta la frazione dell iperperiodo H = mcm (T1, T2,, TN) richiesta per l esecuzione di Pj. 1. Schedulazione Clock-Driven Schedulazione di tipo: off-line: pianificata a priori; guaranteed: rispetta i vincoli temporali di tutti i processi; non-preemptive: l'esecuzione di un processo non può essere sospesa; I parametri temporali non subiscono variazioni a run-time; Tutti i vincoli temporali vengono soddisfatti a priori; Lo schedule viene costruito con riferimento al generico iperperiodo; Lo schedule risultante è di norma esplicitato in termini di una tabella; Lo scheduler, a run-time e avvalendosi di un timer hardware che genera interrupt negli istanti decisionali, ciclicamente interpreta il contenuto della tabella, riprogrammando il timer se necessario, selezionando il processo/i da schedulare e ponendosi in attesa del successivo interrupt. Abbiamo il Timer-Driven Scheduler (istanti decisionali non equidistanti) e il Cyclic Executive (istanti decisionali equidistanti). 1.2 Approccio Cyclic Executive Scenario più elementare: costruzione di un feasible schedule per un insieme di N 1

processi semplicemente periodici (ovvero con periodi in relazione armonica, cioè multipli del più piccolo di essi). 1.3 Dimensionamento del ciclo maggiore (o iperperiodo) (1) M = iperperiodo = mcm(t 1,, T N ) 1.4 Dimensionamento del ciclo minore ( o frame) (2) M mod m = 0 garantisce che un ciclo maggiore consista di un numero finito di cicli minori: n cm = M/m ; (3) m C i, i garantisce che ogni job sia eseguito all'interno di un ciclo minore ( no job preemption ); (4) m T i, i garantisce l'esecuzione in ogni ciclo maggiore del numero di job associati a ciascun processo: n Ji = M/T i, i ; (5) 2m mcd (m, T i ) \ T i, i garantisce la condizione di no job overrun ; 1.5 Pianificazione L esecuzione del k-esimo (k=1,,n Ji ) job J ik del processo P i (i=1,,n) può essere pianificata nel j-esimo (j=1,,n cm ) ciclo minore c j se e soltanto se: (k-1) T i (j-1)m jm k T i C i m- s C s, s P s S j, dove Sj denota l'insieme dei processi la cui esecuzione è già stata pianifica in cj. Criteri di associazione job ciclo minore : 1. precedenza ai job di processi con frequenza di esecuzione più elevata; 2. precedenza ai job con tempo di esecuzione più elevato; 3. precedenza ai cicli minori con minor tempo residuo libero. 1.6 Costruzione di un feasible schedule 2

1.6 Partizionamento dei processi Non sempre esiste un feasible schedule; in tali casi occorre partizionare il processo (o i processi) con maggiore tempo di esecuzione in sottoprocessi ( job slicing ), rilassando così il vincolo (3): P i (C i,t i ) P i (C i ',T i '), P i (C i,t i ), con C i ' + C i +... = C i ed i vincoli P i > P i 2. Schedulazione Priority-Driven Ad ogni processo è staticamente o dinamicamente associata una priorità in dipendenza dei corrispondenti requisiti temporali. Ad ogni processo è dinamicamente associata una informazione che ne identifica lo stato ai fini della esecuzione: processo IDLE; processo READY; processo RUNNING; L esecuzione di un processo è sospesa se un altro processo di priorità superiore è pronto per l esecuzione (PREEMPTION). 2.1 Algoritmo Rate Monotonic Priority Ordering Ad ogni processo è staticamente associata una priorità direttamente proporzionale alla corrispondente frequenza di esecuzione: 2.2 Analisi di schedulabilità p(p j ) = p j 1 / T j = 1 / D j (j = 1, 2,,N) Costruzione di diagrammi temporali che evidenziano l'evoluzione dei processi dal punto di vista dell'esecuzione esito sempre conclusivo; Applicazione di criteri basati sul fattore di utilizzazione del processore da 3

parte dei (singoli) processi esito non sempre conclusivo; Calcolo dei tempi di risposta dei singoli processi esito sempre conclusivo; 2.3 Condizione necessaria e sufficiente Una condizione necessaria e sufficiente di una proposizione è quell'evento che è vero se e solo se la proposizione è vera. La condizione necessaria è quella che deve essere soddisfatta affinché la proposizione sia vera. La condizione sufficiente è quella che, se soddisfatta, garantisce la verità della proposizione. Un algoritmo o test per la verifica della schedulabilità pone una condizione che se: sufficiente ma non necessaria: da risposta definitiva se verificata ma non definitiva se non verificata; necessaria e sufficiente: da risposta definitiva se verificata o non; necessaria ma non sufficiente: da risposta definitiva se non verificata ma non definitiva in caso contrario. 2.4 Analisi di schedulabilità attraverso diagrammi temporali U 1 è condizione sufficiente per la schedulabilità di un insieme di processi semplicemente periodici ; in caso contrario la schedulabilità è garantita se per ogni processo è rispettata la prima deadline a partire dalla condizione più sfavorevole di contemporanea attivazione del processo stesso e di tutti i processi di priorità superiore (istante critico). 2.5 Test di schedulabilità basato sul fattore di utilizzazione del processore ( Liu-Layland) Condizione sufficiente (ma non necessaria) affinché un insieme di N processi sia schedulabile con l algoritmo RMPO è che: U U RMPO (N) = N(2 1/N 1) L'applicazione di un algoritmo di scheduling determina il partizionamento dello spazio dei processi in tre sottospazi disgiunti: quello dei processi non schedulabili, quello dei processi difficilmente schedulabili e quello dei processi schedulabili. L'insieme di processi che costituiscono il limite superiore minimo del fattore di utilizzazione viene detto least upper bound. Corollario del teorema di Liu-Layland: U RMPO (U 1,U 2,...,U N ) = Π j=1..n (1+U j ) 2 2.6 Altri test di schedulabilità dipendenti dai parametri dei processi 1. Test di Kuo-Mok: condizione sufficiente ma non necessaria; 2. Test di Burchard:? 3. Test di Han: condizione sufficiente ma non necessaria; 4

2.7 Analisi della schedulabilità basata sul calcolo dei tempi di risposta 1. Audsley: risposta sempre conclusiva; 3. Estensione del modello per la schedulazione di processi periodici ed aperiodici I processi sporadici impongono vincoli più stringenti per quanto concerne il tempo di completamento della loro esecuzione (processi urgenti): j Dj < Tj. Allora ogni processo Pj deve essere caratterizzato esplicitamente da tre parametri: Tj (MIT nel caso di processi sporadici, periodo nel caso di processi periodici), Dj Tj ( < minore nel caso di processi sporadici, = nel caso di processi periodici) e Cj < Dj. 3.1 Algoritmo Deadine Monotonic Priority Ordering Ad ogni processo è staticamente associata una priorità inversamente proporzionale alla corrispondente deadline relativa: p j 1 / D j 3.2 Analisi di schedulabilità attraverso diagrammi temporali Per poter schedulare applicazioni con un elevato fattore di utilizzazione del processore, occorre utilizzare un algoritmo che attribuisca le priorità ai processi non staticamente, bensì dinamicamente risposta sempre conclusiva. 3.3 Analisi della schedulabilità basata sul calcolo dei tempi di risposta Algoritmo di Audsley: risposta sempre conclusiva; 3.4 Test di schedulabilità 1. Primo test: condizione sufficiente ma non necessaria; 2. Test basato sulla densità di utilizzazione : condizione sufficiente ma non necessaria; 3. Test di Lehoczky: condizione sufficiente ma non necessaria; 4. Test basato sul fattore di utilizzazione efficace dei processi: condizione sufficiente ma non necessaria; 4. Schedulabilità in presenza di Interrupt Service Routines E sufficiente procedere al calcolo del fattore di utilizzazione efficace di ogni ISR e di ogni processo, tenendo conto che le ISR vengono eseguite ad una priorità in generale più elevata di quella che loro deriverebbe dalla corrispondente frequenza di esecuzione. 4.1 Algoritmo Earliest Deadline First Ad ogni processo è dinamicamente associata una priorità tanto maggiore quanto più imminente è la corrispondente deadline assoluta. 5

Condizione necessaria e sufficiente affinchè un insieme di N processi sia schedulabile con EDF è che: U = i=1..n C i /T i U EDF = 1 Condizione sufficiente (ma non necessaria) affinché un insieme di N processi periodici e sporadici sia schedulabile con l algoritmo EDF è che: = i=1..n C i /D i 1 4.2 Approccio processor Demand Condizione sufficiente. 6