Scheduling di processi hard real-time
|
|
- Amando Conte
- 8 anni fa
- Visualizzazioni
Transcript
1 Scheduling di processi hard real-time Eugenio Faldella Dipartimento di Elettronica, Informatica e Sistemistica Facoltà di Ingegneria, Università di Bologna eugenio.faldella@unibo.it Scheduling di processi HRT
2 U PRIMO MODELLO DI RIFERIMETO PER LA SCHEDULAZIOE DI PROCESSI PERIODICI processi P,,, P indipendenti senza vincoli di precedenza senza risorse condivise ogni processo P (,,,) è periodico, con periodo T prefissato è caratterizzato da un tempo massimo di esecuzione C prefissato, con C < T è caratterizzato da una deadline D T 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 Scheduling di processi HRT
3 U TEOREMA SULLA SCHEDULABILITÀ I requisiti temporali sono coerenti e consistenti? Condizione necessaria (ma in generale non sufficiente) affinché un insieme di processi periodici sia schedulabile è che il risultante fattore di utilizzazione del processore sia non superiore a : U U C T Il mo termine della sommatoria C / T (C (H / T )) / H rappresenta la frazione dell iperperiodo H mcm (T, T,, T ) richiesta per l esecuzione di P. Scheduling di processi HRT 3
4 SCHEDULAZIOE CLOCK-DRIVE Schedulazione di tipo off-line, guaranteed, non-preemptive, semplice da realizzare ed efficiente (l overhead associato al cambio di contesto e alla comunicazione tra processi è trascurabile), ma non idonea in contesti che implicano dinamicità e flessibilità. I parametri temporali dei processi si intendono noti a priori e non soggetti a variazioni significative a run-time. Tutti i vincoli temporali vengono soddisfatti a priori in sede di costruzione di un feasible schedule. Problema P-hard Allo scopo possono essere usati algoritmi anche molto complessi, senza incorrere in una penalizzazione delle prestazioni conseguibili a run-time. Scheduling di processi HRT 4
5 SCHEDULAZIOE CLOCK-DRIVE Lo schedule viene costruito con riferimento al generico iperperiodo, assumendo che qualunque decisione riguardante la schedulazione dei processi venga presa in corrispondenza di predefiniti istanti decisionali. Tali istanti possono essere o meno equidistanziati. Lo schedule risultante è di norma esplicitato in termini di una tabella, la cui generica k-esima entry è del tipo: ( t k, P(t k )) nel caso di istanti decisionali non equidistanziati, con t k t k+ -t k, (P(t k )) nel caso di istanti decisionali equidistanziati, dove P(t k ) e P(t k ) identificano rispettivamente il processo o l insieme di processi da schedulare all istante t k. Lo scheduler a run-time, avvalendosi di un timer hardware che, opportunamente programmato, genera un interrupt in corrispondenza di ogni istante decisionale, ciclicamente si limita a interpretare il contenuto di tale tabella, procedendo a riprogrammare il timer se necessario (ovvero nel caso di istanti decisionali non equidistanziati), a selezionare il processo o i processi da schedulare, a porsi quindi in attesa del successivo interrupt. Ipotesi per un corretto funzionamento: no ob overrun Scheduling di processi HRT 5
6 TIMER-DRIVE SCHEDULER esempio Istanti decisionali non equidistanziati t k, P(t k ), P C T, P P 4 0 U 0.85? H 0 P P P P P 4 P !,, P,, P,, P esempio t t -t, P, C T P t t 3 -t t k t k+ -t k 5,, P, 5,, P 4, P, U 0.96, P? H 4!, 5, P P P P, P Scheduling di processi HRT 6
7 CYCLIC EXECUTIVE Istanti decisionali equidistanziati t P(t k ) esempio P, C T P P 4 cicli minori 5 0? P P P P P 4 P! P P P, esempio ciclo maggiore P 4 P C T P 6 5 8? non esiste un feasible schedule, a meno che Scheduling di processi HRT 7
8 U TIPICO AMBIETE DI ESECUZIOE PREELABORAZIOI ITERE LETTURA IGRESSI ESECUZIOE DEL PROGRAMMA AGGIORAMETO USCITE Programmable Logic Controller (PLC) una differenza sostanziale rispetto ad altre piattaforme computazionali: il sistema operativo programmazione molto semplice non esiste a run-time la nozione esplicita di processo (non si pongono problemi di concorrenza e quindi di condivisione di risorse) a meno che il tempo necessario per eseguire un intera scansione del programma risulti incompatibile con i vincoli real-time imposti dall applicazione Scheduling di processi HRT 8
9 AMBIETI DI ESECUZIOE SEQUEZIALE aspetti temporali un approccio empirico alquanto diffuso gestione: allarmi motorizzazioni user interface A C[ms] T[ms] C/T P U(A ) P P P P + I/O refresh T ciclo C + C + C > T 5 Scheduling di processi HRT 9
10 AMBIETI DI ESECUZIOE SEQUEZIALE gestione: allarmi motorizzazioni user interface termoregolatori A C[ms] T[ms] C/T P P U(A ) P P P P 4 P P P P P P 4 () T ciclo 3 * C + C + C 3 + C > T 50 gestione: allarmi motorizzazioni user interface A C[ms] T[ms] C/T P U(A ) Scheduling di processi HRT 0
11 L APPROCCIO CYCLIC EXECUTIVE Scenario più elementare: costruzione di un feasible schedule per un insieme di processi semplicemente periodici (ovvero con periodi in relazione armonica). A C T C/T P t5 t.u. U(A ) estensione del ciclo maggiore: M max (T, T,, T ) 00 estensione del ciclo minore: m min (T, T,, T ) 5 ciclo maggiore ciclo minore ciclo minore 3 ciclo minore 4 ciclo minore processo in esecuzione - P Scheduling di processi HRT
12 COSIDERAZIOI REALIZZATIVE Linguaggio standard per PLC: IEC 63-3 structured text (* loop *) if (next_minor_cycle_start_time) (* from rtc interrupt *) then next_minor_cycle_start_time : false; case (minor_cycle) of : call P_handler; call P_handler; : call P_handler; call P3_handler; 3: call P_handler; call P_handler; 4: call P_handler; end_case; if (minor_cycle < last_minor_cycle) then minor_cycle : minor_cycle + ; (* next minor cycle *) else minor_cycle : first_minor_cycle; (* repeat maor cycle *) end_if; if (next_minor_cycle_start_time) then ; (* ob overrun *) end_if; end_if; (* end_loop *) Scheduling di processi HRT
13 PECULIARITÀ DELL APPROCCIO semplice realizzabilità non esiste a run time la nozione esplicita di processo non si pongono problemi di concorrenza e quindi di condivisione di risorse macchinosità il procedimento può risultare laborioso, specialmente se P k per cui T k >> T, k (ad es., con riferimento a A, se T 3 fosse di anziché 00 t.u.) limitata diretta applicabilità esistono dei vincoli per quanto riguarda i valori dei parametri T e C (sempre nel rispetto della condizione U ). Ad es., con riferimento a A, se C 3 fosse di 7.5 anziché 7.5 t.u., l insieme dei processi risulterebbe non schedulabile pur risultando U 0.875, a meno di Scheduling di processi HRT 3
14 e LIMITI a meno di ricorrere alla tecnica del ob slicing, ovvero ad un partizionamento del (la procedura corrispondente al) processo A C T C/T P U(A ) con il vincolo di precedenza ciclo maggiore ciclo minore ciclo minore 3 ciclo minore 4 ciclo minore processo in esecuzione - P Scheduling di processi HRT 4
15 STRUTTURA GEERALE [BAKER-SHAW (88)] Dimensionamento del ciclo maggiore: () M iperperiodo mcm (T,, T ) Dimensionamento del ciclo minore (o frame ): vincolo motivazione () M mod m 0 onde garantire che un ciclo maggiore consista di un numero intero di cicli minori: n cm M / m (3) m C i, i (4) m T i, i onde garantire che ogni ob di qualunque processo possa iniziare e completare la propria esecuzione all interno di un ciclo minore ( no ob preemption ) onde garantire l esecuzione in ogni ciclo maggiore del numero di ob associati a ciascun processo: n Ji M / T i, i in generale il vincolo è più restrittivo Scheduling di processi HRT 5
16 STRUTTURA GEERALE Dimensionamento del ciclo minore (o frame ): vincolo (5) m mcd (m, T i ) T i, i.b.: (5) (4) se (T i mod m) 0, i motivazione onde garantire che tra release time e deadline di un qualunque ob sia comunque compreso un ciclo minore completo, nell ambito del quale il ob possa essere interamente eseguito ( no ob preemption ) ed al termine del quale sia verificabile la condizione no ob overrun frame - frame frame + m m m δ i > 0 m-δ i T i (k-)t i kt i t Job ik max (m - δ i ) + m m min (δ i ) + m m - mcd (m, T i ) + m T i, i ipotesi: φ i n * m, i, n 0 (,,, ) Scheduling di processi HRT 6
17 IDETIFICAZIOE DEL FRAME-SIZE esempio () M mcm (T,, T 4 ) M 0 C T C/T P (3) m C i, i (4) m T i, i () M mod m 0 m.. 4 m, 4 P mcd (m, T i ) m mcd (m, T i ) T i (5) m mcd (m, Ti) Ti, i m OK m m O m4 T 5?? Scheduling di processi HRT 7
18 PIAIFICAZIOE Procedimento iterativo basato su criteri euristici L esecuzione del k-esimo (k,,n Ji ) ob J ik del processo P i (i,,) può essere pianificata nel -esimo (,,n cm ) ciclo minore c se e soltanto se: (k-) T i (-) m, m k T i, C i m - Σ s C s, s P s S, dove S denota l insieme dei processi la cui esecuzione è già stata pianificata in c. Criteri di associazione ob - ciclo minore :. precedenza ai ob di processi con frequenza di esecuzione più elevata;. precedenza ai ob con tempo di esecuzione più elevato; 3. precedenza ai cicli minori con minor tempo residuo libero. Scheduling di processi HRT 8
19 COSTRUZIOE DI U FEASIBLE SCHEDULE C T P P 4 0 M 0, m n cm 0 n J 5 n J 4 n J3 n J4 identificazione del ciclo minore (o dei cicli minori) in cui ciascun ob può essere eseguito: J J J 3 J 4 J 5 J J J 3 J 4 J 3 J 3 J 4 0 c x x x x c x x x x 4 c 3 x x x 6 c 4 x x x x 8 c 5 x x x x 0 c 6 x x x x c 7 x x x x 4 c 8 x x x 6 c 9 x x x x 8 c 0 x x x x 0 t Scheduling di processi HRT 9
20 COSTRUZIOE DI U FEASIBLE SCHEDULE pianificazione dell esecuzione di ciascun ob: criteri:,3 c J J J 3 J J 3 J J c J J c 3 J J J J J J J c 4 c 5 J 3 c 6 J 3 J3 J 3 J3 J 3 J3 c 7 J 4 J 4 J 4 J 3 J 4 J 3 c 8 J 4 c 9 J 5 J 5 J4 J 5 J4 J 5 J4 c 0 P P P P P 4 P Scheduling di processi HRT 0
21 PARTIZIOAMETO DEI PROCESSI on sempre esiste un feasible schedule esempio () M mcm (T,, T 3 ) M 4 C T C/T P (3) m C i, i (4) m T i, i () M mod m 0 m 5, 6 m 6 mcd (m, T i ) m mcd (m, T i ) T i (5) m mcd (m, Ti) Ti, i m O In tali casi occorre partizionare il processo (o i processi) con maggiore tempo di esecuzione in sottoprocessi ( ob 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 di precedenza P i P i Scheduling di processi HRT
22 PARTIZIOAMETO DEI PROCESSI C T C/T () M mcm (T,, T 3 ) M 4 P (3) m C i, i (4) m T i, i () M mod m 0 m m 3, 4, 6 (5,8) (3,8), (,8) mcd (m, T i ) m mcd (m, T i ) T i O C T C/T P m OK m OK (5) m mcd (m, Ti) Ti, i m 3, 4 Scheduling di processi HRT
23 PARTIZIOAMETO DEI PROCESSI C T P m 4 M 4 n cm 6 n J 4 n J n J 3 n J3 J J J 3 J 4 J. J. J.3 J 3 J 3 0 c x x x 4 c x x 8 c 3 x x x c 4 x x x 6 c 5 x x 0 c 6 x x x 4 t c J J J J J J J A J B c J J J 3 J J 3 c 3 J J J J J J J A J B c 4 J 3 J 3 J J 3 J J 3 J c 5 J 3 J 3 J 3? J A3 J 3 c 6 J 4 J 4 J 3 J 4 J 3 J 4 J B3 J 3 E possibile identificare un feasible schedule solo ricorrendo nuovamente alla tecnica del ob slicing. (3,8) A (,8), B (,8) A B Scheduling di processi HRT 3
24 PARTIZIOAMETO DEI PROCESSI C T m 3 M 4 n cm 8 n J 4 n J n J 3 n J3 P Anche in questo caso, applicando nell ordine i criteri euristici delineati, è possibile identificare un feasible schedule solo ricorrendo nuovamente alla tecnica del ob slicing. J J J 3 J 4 J. J. J.3 J 3 J 3 0 c x x x 3 c x x x 6 c 3 x x 9 c 4 x x x c 5 x x x 5 c 6 x x 8 c 7 x x x c 8 x x x 4 c J J J t c J J J J J E possibile in alternativa identificare c 3 J J 3 direttamente un feasible schedule c 4 J J J J privilegiando l allocazione dei ob c 5 J J J 3 J J 3 contraddistinti da vincoli di precedenza. c 6 J 3 J 3 c 7 J 3 J 3 c 8 J 3 J 3 J 4 J 3 J 4 Scheduling di processi HRT 4
25 PARTIZIOAMETO DEI PROCESSI 3 esempio () M mcm (T,, T 3 ) M 40 C T C/T P (3) m C i, i (4) m T i, i () M mod m 0 m 5 m 5 mcd (m, T i ) m mcd (m, T i ) T i (5) m mcd (m, Ti) Ti, i m O Rilassamento del vincolo (3): (5,0) (3,0), (,0) con Scheduling di processi HRT 5
26 PARTIZIOAMETO DEI PROCESSI C T C/T () M mcm (T,, T 3 ) M 40 P (3) m C i, i (4) m T i, i () M mod m 0 m m 4, 5 (5,0) (3,0), (,0) (5) m mcd (m, Ti) Ti, i O C T C/T mcd (m, T i ) m mcd (m, T i ) T i P m O Ulteriore rilassamento del vincolo (3): (3,0) A (,0), B (,0) con A B Scheduling di processi HRT 6
27 PARTIZIOAMETO DEI PROCESSI C T C/T () M mcm (T,, T 3 ) M 40 P (3) m C i, i (4) m T i, i () M mod m 0 m.. 5 m, 4, 5 (3,0) A (,0), B (,0) O C T C/T P A B (5) m mcd (m, Ti) Ti, i m mcd (m, T i ) m mcd (m, T i ) T i OK A B Scheduling di processi HRT 7
28 PARTIZIOAMETO DEI PROCESSI C T P 5 8 A 0 B 0 0 A B M 40, m n cm 0 n J 8 n J 5 n J3A n J3B n J3 J J J 3 J 4 J 5 J 6 J 7 J 8 J J J 3 J 4 J 5 J 3. J 3. 0 c x x x c x x x 4 c 3 x x 6 c 4 x x x 8 c 5 x x x 0 c 6 x x x c 7 x x x 4 c 8 x x 6 c 9 x x x 8 c 0 x x x 0 c x x x c x x x 4 c 3 x x 6 c 4 x x x 8 c 5 x x x 30 c 6 x x x 3 c 7 x x x 34 c 8 x x 36 c 9 x x x 38 c 0 x x x 40 Scheduling di processi HRT 8 t
29 PARTIZIOAMETO DEI PROCESSI C T P 5 8 A 0 B 0 c c c 3 c 4 c 5 c 6 J J J 3 J J J J J 3 J J J 3A J J J 3 J J J 3A J J J 3 J J J 3A J J J c 7 c 8 J 3B J 3B J c 9 J 4 J 4 J 4 J 4 J 4 8 A B c 0 J 3 J 3 J 3 J 3 0 c J 5 J 5 J 5 J 5 J 5 M 40, m c c 3 J 4 J 3A J 4 J 3A J 4 J 3A J c 4 J 6 J 6 J 6 J 6 J 6 8 c 5 J 3B J 7 J 3B J 7 30 n cm 0 c 6 c 7 J 7 J 7 J 5 J 7 J 5 J 5 J n J 8 c 8 c 9 J 8 J 8 J 8 J 8 J 3 J n J 5 c 0 40 t n J3A n J3B n J3 Scheduling di processi HRT 9
30 SCHEDULAZIOE PRIORITY-DRIVE 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 RUIG L esecuzione di un processo è sospesa se un altro processo di priorità superiore è pronto per l esecuzione (PREEMPTIO). Scheduling di processi HRT 30
31 L'ALGORITMO RATE MOOTOIC PRIORITY ORDERIG (RMPO) Ad ogni processo è staticamente associata una priorità direttamente proporzionale alla corrispondente frequenza di esecuzione: p(p ) p / T / D (,,,) OTTIMALITÀ DELL'ALGORITMO Se un insieme di processi periodici è schedulabile con un qualche algoritmo che prevede un attribuzione statica di priorità, allora tale insieme è schedulabile anche con RMPO. Se un insieme di processi periodici non è schedulabile con RMPO, allora tale insieme non è schedulabile con alcun altro algoritmo che preveda un attribuzione statica di priorità. Scheduling di processi HRT 3
32 IL MECCAISMO DELLA PREEMPTIO A C T C/T p P max min U(A ) P preempted Idle Ready Running Scheduling di processi HRT 3
33 AALISI DI SCHEDULABILITÀ costruzione di diagrammi temporali che evidenziano l evoluzione dei processi dal punto di vista dell esecuzione applicazione di criteri basati sul fattore di utilizzazione del processore da parte dei (singoli) processi calcolo dei tempi di risposta dei singoli processi Esito sempre conclusivo? sì no Scheduling di processi HRT 33
34 AALISI DI SCHEDULABILITÀ ATTRAVERSO DIAGRAMMI TEMPORALI A 3 C T C/T p P max min U(A 3 ) P Idle Ready Running U è condizione sufficiente per la schedulabilità di un insieme di processi semplicemente periodici (con periodi in relazione armonica). Scheduling di processi HRT 34
35 AALISI DI SCHEDULABILITÀ ATTRAVERSO DIAGRAMMI TEMPORALI A 4 C T C/T p P max min U(A 4 ) 0.9 P Idle Ready Running missed deadline (): insieme di processi non schedulabile Quando non sussiste una relazione armonica tra i periodi dei processi, la condizione U non è sufficiente per garantire la schedulabilità. Scheduling di processi HRT 35
36 AALISI DI SCHEDULABILITÀ ATTRAVERSO DIAGRAMMI TEMPORALI A 5 C T C/T p P max min U(A 5 ) 0.9 P Idle Ready Running 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). Scheduling di processi HRT 36
37 TEST DI SCHEDULABILITÀ BASATO SUL FATTORE DI UTILIZZAZIOE DEL PROCESSORE [LIU-LAYLAD (73)] Condizione sufficiente (ma non necessaria) affinché un insieme di processi sia schedulabile con l algoritmo RMPO è che: U U RMPO / ( ) ( ) insieme di processi schedulabile U 0,75 0, no forse si lim U RMPO ( ) ln Scheduling di processi HRT 37
38 IL LIMITE SUPERIORE MIIMO (LEAST UPPER BOUD) DEL FATTORE DI UTILIZZAZIOE L applicazione di un algoritmo di scheduling (A) induce nello spazio dei possibili insiemi di processi Σ {σ (, T,, T, C,, C )} una partizione in tre sottospazi disgiunti Σ, Σ, Σ 3 U Σ {σ insieme di processi non schedulabile} Σ {σ insieme di processi difficilmente schedulabile (una variazione di C (C +ε) o di T (T -ε) per un qualunque P in σ conduce ad un nuovo insieme di processi σ non più schedulabile)} Σ 3 {σ insieme di processi schedulabile cui non corrisponde la piena utilizzazione del processore} U lub (A) min {U ub (σ, A)} σ Σ least upper bound upper bound Scheduling di processi HRT 38
39 CALCOLO DI U lub per RMPO ) Analisi del caso elementare corrispondente a processi T T T T mod T + i + f T T T U C T? Uub( U, T / T ) limite superiore (upper bound) di U? ub ( U, T / T ) U Uub U + limite superiore (upper bound) di U? U lub min { U ub } limite superiore minimo (least upper bound) di U ) Generalizzazione dei risultati nel caso di > processi Scheduling di processi HRT 39
40 CALCOLO DI U ub () caso : f > U, > ovvero f T C T... T Idle P Ready Running T i T f T ( T C) + f T C [ i ( U) + f U] T ub C i C ( U ) C i + f U U Uub T i + f Scheduling di processi HRT 40
41 CALCOLO DI U ub () caso : f U, ovvero f T C T... T Idle P Ready Running T i T f T ( T C) i ( U) T ub C i C ( U ) C i U Uub T i + f Scheduling di processi HRT 4
42 CALCOLO DI U ub () ( U, i, f ) U Uub U + ub U ub ( f ) U U i + f ( U ) < f U i + f f f U T / T i + f Scheduling di processi HRT 4
43 CALCOLO DI U ub () U U ub ( f ) f U U < i + f ( U ) i + f U f f -U -U ub U T / T i + f Scheduling di processi HRT 43
44 CALCOLO DI U lub () ( U, i, f ) Uub ( f ) U U i + f ( U ) < f U i + f f f U U ( U, i, f ) Uub ( U, i, f ) Uub U f ( f ) f U lub ( i, f ) i + f T... T Idle P Ready Running T i T f T Scheduling di processi HRT 44
45 CALCOLO DI U lub () ( f ) f U lub ( i, f ) i + f i U lub ( i, f ) Ulub f i Ulub( f ) + f T / T i + f Scheduling di processi HRT 45
46 CALCOLO DI U lub () U lub ( f ) + f + f du df ( f ) f + f ( + f ) lub 0 Ulub f U lub ( ) f Scheduling di processi HRT 46
47 CALCOLO DI U lub () i T < < T T U f T + T C C T T C T C T T f / / T T C T ( ) C T ( / ) C / / U U i processi concorrono uniformemente al fattore di utilizzazione del processore T C C P T T +C T -T Idle Ready Running Scheduling di processi HRT 47
48 CALCOLO DI U lub (>) C T T C T3 T M T C C T T C ub C T T T T T... T T T T T... P... P Idle Ready Running Scheduling di processi HRT 48
49 Scheduling di processi HRT 49 CALCOLO DI U lub (>) T T C 3 T T C ub T T C T T C M R R R R U ub L R T T U + R K R U U U ub ub + + K T T U T T U 3 T T U M T T U ub
50 Scheduling di processi HRT 50 CALCOLO DI U lub (>) R K R U ub +,,, 0 R R K R R K R U i i i i ub L / K R R R L ( ) ( ) K K K K U / / lub +
51 CALCOLO DI U lub (>) U lub / ( ) U,, L, i processi concorrono uniformemente al fattore di utilizzazione del processore ( ) T T T,..., ( ) C T ( ) C C C,..., Scheduling di processi HRT 5
52 Scheduling di processi HRT 5... Esplicitando l utilizzazione schedulabile dell algoritmo RMPO in funzione dei singoli fattori di utilizzazione dei processi (non semplicemente del numero di processi, come nel teorema), si perviene ad un test di schedulabilità meno conservativo. T T C T T C 3 T T C T T C ( ),,..., U T T + + ( ) U T T + ( ) ( ) U U,, U U, U RMPO + L U COROLLARIO DEL TEOREMA DI LIU-LAYLAD
53 U COROLLARIO DEL TEOREMA DI LIU-LAYLAD se U U ( U, U, L, U ) U ( ) U L U RMPO RMPO 0.9 utilizzazione schedulabile in accordo a RMPO () URMPO () URMPO (U,U,,U) U U Scheduling di processi HRT 53
54 U COROLLARIO DEL TEOREMA DI LIU-LAYLAD C T C/T P U RMPO 3 ( 3) U 0.8 > U RMPO 3 3 ( U 0.5, U 0., U 0.) ( + U ).98 P Idle Ready Running Scheduling di processi HRT 54
55 ALTRI TEST DI SCHEDULABILITÀ DIPEDETI DAI PARAMETRI DEI PROCESSI: IL TEST DI KUO-MOK (9) Un insieme S di processi P,,, P contraddistinto da un fattore di utilizzazione del processore U è schedulabile con RMPO se (condizione solo sufficiente) U U RMPO (K), essendo K il numero di sottoinsiemi disgiunti di processi semplicemente periodici in S. La schedulabilità dell insieme S è garantita se è schedulabile l insieme S di K < processi P,,, P K ad esso equivalente. Al processo P (,,, K) in S, corrispondente al sottoinsieme di processi semplicemente periodici P x, P y,, P z in S, compete un fattore di utilizzazione del processore U U x + U y + + U z, un periodo T min (T x, T y,, T z ) e un tempo di esecuzione C U T. S C T C/T P P P {, } S C T C /T P ( 3) U 0.8 > URMPO ( ) U ' 0.8 URMPO Scheduling di processi HRT 55
56 IL TEST DI KUO-MOK S C T C/T P P P P {P,, } {P 4,P 5 } S C T C /T P ( 5) U 0.9 > URMPO U ' 0.9 > URMPO ( ) ( U 0.4, L, U 0. 0) URMPO 5 corollario ( U ' 0.8, U ' 0. ) URMPO 5 ( + U ). > ( + U ').98 Scheduling di processi HRT 56
57 IL TEST DI KUO-MOK ei casi in cui il partizionamento non sia univoco, conviene optare per quello che induce una distribuzione del fattore di utilizzazione del processore quanto più disuniforme possibile. S C T C/T P S C T C /T S C T C /T P P P {, } P {P, } P U ' 0.85 > U RMPO ( ) U RMPO ( U 0.55, U ' 0. 3) ' U RMPO ( U 0.65, U ' 0. ) ' ( + ').05 > U corollario ( + U ').98 Scheduling di processi HRT 57
58 IL TEST DI BURCHARD et al. (96) L utilizzazione schedulabile dell algoritmo RMPO è tanto maggiore (tendendo al valore limite nel caso di processi semplicemente periodici) quanto meno i periodi dei processi si discostano dalla relazione armonica. X log T log T ζ max X min X U RMPO (, ζ) ( ) / ( ) ζ /( ) ( ) + ζ ζ < / ζ / Scheduling di processi HRT 58
59 IL TEST DI BURCHARD 0.95 U RMPO (,ζ) U RMPO () ζ Scheduling di processi HRT 59
60 IL TEST DI BURCHARD A 5 C T C/T P ( ) U 0.9 > URMPO ( + U ).3 URMPO( U 0.5, U 0.4) > X 0.3 X 0.48 ζ0.074 (, ζ 0.074) U 0.9 < URMPO Scheduling di processi HRT 60
61 IL TEST DI HA (97) Un insieme S di processi P,,, P è schedulabile con RMPO se (condizione solo sufficiente) ad esso corrisponde un insieme accelerato S di processi P,,, P semplicemente periodici e con fattore di utilizzazione del processore U U + U + + U. insieme S insieme accelerato S P (T, C ) P (T T, C C ) (T, C ) (T T, C C )... P (T, C ) P (T T, C C ) Scheduling di processi HRT 6
62 IL TEST DI HA S C T C/T P X 0.3, X 0 ζ0.3 ( ) U > U RMPO ( + U ).065 URMPO ( U 0.5, U 0.375) > (, ζ 0.3) U > U RMPO insieme accelerato S C T C /T P U +U Scheduling di processi HRT 6
63 IL TEST DI HA Scheduling di processi HRT 63
64 IL TEST DI HA iterazione Complessità computazionale dell algoritmo: O( ) P T T T P k T k T k T i T i- * T i / T i- i,..., P T T P T T T i T i+ / T i+ / T i i k-,..., k - P k T k T k T k T i T i- * T i / T i- i k+,..., P T T P T T P k T k T k T i T i+ / T i+ / T i i -,..., P T T T Scheduling di processi HRT 64
65 IL TEST DI HA Limiti dell algoritmo S C T C/T I iterazione P T 0 T 0 P P U.05 II iterazione T 60 T 60 T 3 90 T 3 60 P 4 T 4 80 T 4 80 P T 0 T 0 T * T / T 0 * 60 / 0 T * T 3 / T 60 * 90 / 60 T 3 * T 4 / T 3 60 * 80 / 60 T / T / T 60 / 60 / 0 U 0.9 U.05 T 60 T 60 T 3 90 T 3 60 P 4 T 4 80 T 4 80 T * T 3 / T 60 * 90 / 60 T 3 * T 4 / T 3 60 * 80 / 60 S C T C/T III iterazione P T 0 T 5 T / T / T 45 / 45 / 0 P U.067 T 60 T 45 T 3 90 T 3 90 P 4 T 4 80 T 4 80 T 3 / T 3 / T 90 / 90 / 60 T 3 * T 4 / T 3 90 * 80 / 90 P IV iterazione P T 0 T 5 T / T / T 45 / 45 / 0 U.0 U.067 T 60 T 45 T 3 90 T 3 90 P 4 T 4 80 T 4 80 T 3 / T 3 / T 90 / 90 / 60 T 4 / T 4 / T 3 80 / 80 / 90 Scheduling di processi HRT 65
66 AALISI DI SCHEDULABILITÀ BASATA SUL CALCOLO DEI TEMPI DI RISPOSTA [AUDSLEY et al. (93)] La schedulabilità è garantita se il tempo di risposta di ogni processo nelle condizioni più sfavorevoli (cioè a partire da un istante critico) non eccede la corrispondente deadline: ( R ) T i,,..., R i Ci + Ii i i I i rappresenta l interferenza sul tempo di risposta R i del processo P i derivante dall esecuzione di processi di priorità superiore. I i ( R i ) p p i R > i C T R i può essere calcolato nel seguente modo: n ( R ) n,,... 0 n R i C i, R i Ci + Ii i Scheduling di processi HRT 66
67 L ALGORITMO DI AUDSLEY A 5 C T C/T il processo a priorità massima non è soggetto a interferenza processo P : processo : P U(A 5 ) R R 0 C 5 < T 0 R 0 C 8 R C + R 0 /T * C 8 + 8/0 * 5 3 R C + R /T * C 8 + 3/0 * 5 8 R 3 C + R /T * C 8 + 8/0 * 5 8 R 3 R 8 < T 9 n0 n n n3 C R 0 I (R 0 ) + C R I (R ) + C R I (R ) + C R Scheduling di processi HRT 67
68 L ALGORITMO DI AUDSLEY A 4 C T C/T P U(A 4 ) 0.9 processo P : R R 0 C 5 < T 0 processo : R 0 C 6 R C + R 0 /T * C 6 + 6/0 * 5 R C + R /T * C 6 + /0 * 5 6 R 6 > T 5 n0 n n C R 0 I (R 0 ) + C R I (R ) + C R Scheduling di processi HRT 68
69 U TEST PIÙ EFFICIETE, MA Ai fini della schedulabilità, è sufficiente verificare se per ogni processo, nelle condizioni più sfavorevoli (cioè a partire da un istante critico), risulta: C i T T i ( T ) C + C T i,, L, + Ii i i p > p i i A 5 C T C/T P U(A 5 ) 0.9 processo P : C + I (T ) 5 < T 0 processo : C + T /T * C 8 + 9/0 * 5 8 < T 9 Scheduling di processi HRT 69
70 MEO EFFICACE Il test identifica un insieme di condizioni solo sufficienti: C T C/T P P : C + I (T ) 5 < T : C + T /T * C /0 * 5 0 < T 30 U 0.89 : C 3 + T 3 /T * C + T 3 /T * C /0 * /30 * 0 70 > T 3 65 P Idle Ready : Running R 30 C 3 0 R 3 C 3 + R 30 /T * C + R 30 /T * C 0 + 0/0 * 5 + 0/30 * 0 35 R 3 C 3 + R 3 /T * C + R 3 /T * C /0 * /30 * 0 50 R 33 C 3 + R 3 /T * C + R 3 /T * C /0 * /30 * 0 55 R 34 C 3 + R 33 /T * C + R 33 /T * C /0 * /30 * 0 55 R 34 R < T 3 65 Scheduling di processi HRT 70
71 U ESTESIOE DEL MODELLO PER LA SCHEDULAZIOE DI PROCESSI SIA PERIODICI CHE SPORADICI I processi sporadici, pur essendo tipicamente caratterizzati da una bassa frequenza di esecuzione, impongono vincoli più stringenti per quanto concerne il tempo di completamento della loro esecuzione (processi urgenti): D < T Ai fini della schedulazione è sufficiente estendere il precedente modello, prevedendo che ogni processo P sia esplicitamente caratterizzato da tre parametri: T (MIT nel caso di processi sporadici, periodo nel caso di processi periodici), D T (< nel caso di processi sporadici, nel caso di processi periodici) e C < D. Scheduling di processi HRT 7
72 L'ALGORITMO DEADLIE MOOTOIC PRIORITY ORDERIG (DMPO) [LEUG-WHITEHEAD (8)] Ad ogni processo P ( ) è staticamente associata una priorità inversamente proporzionale alla corrispondente deadline relativa: p / D. OTTIMALITÀ DELL'ALGORITMO Se un insieme di processi periodici e/o sporadici è schedulabile con un qualche algoritmo che prevede un attribuzione statica di priorità, allora tale insieme è schedulabile anche con DMPO. Se un insieme di processi periodici e/o sporadici non è schedulabile con DMPO, allora tale insieme non è schedulabile con alcun altro algoritmo che preveda un attribuzione statica di priorità. Scheduling di processi HRT 7
73 AALISI DI SCHEDULABILITÀ ATTRAVERSO DIAGRAMMI TEMPORALI A 6 C T D C/T p(rmpo) p(dmpo) P max max U(A 6 ) min min P P Idle Ready Running RMPO: missed deadline DMPO: no missed deadline Scheduling di processi HRT 73
74 AALISI DI SCHEDULABILITÀ ATTRAVERSO DIAGRAMMI TEMPORALI A 7 C T D C/T p P max min U(A 7 ) 0.9 P Idle Ready Running missed deadline (): insieme di processi non schedulabile Per poter schedulare applicazioni con un elevato fattore di utilizzazione del processore (come A 7 o A 4 ), occorre utilizzare un algoritmo che attribuisca le priorità ai processi non staticamente, bensì dinamicamente. Scheduling di processi HRT 74
75 AALISI DI SCHEDULABILITÀ: CALCOLO DEI TEMPI DI RISPOSTA Algoritmo di Audsley: condizione necessaria e sufficiente affinché un insieme di processi periodici e sporadici sia schedulabile con l algoritmo DMPO è che: R i R T i ( R ) C + C D i,, L, Ci + Ii i i p > p i i A 6 C T D C/T P U(A 6 ) 0.87 : P : R R 0 C 3 < D 6 R 0 C 4 R C + R 0 /T * C 4 + 4/5 * 3 7 R C + R /T * C 4 + 7/5 * 3 7 R R 7 < D 0 : R 30 C 3 6 R 3 C 3 + R 30 /T * C + R 30 /T * C 6 + 6/5 * 3 + 6/0 * 4 3 R 3 C 3 + R 3 /T * C + R 3 /T * C 6 + 3/5 * 3 + 3/0 * 4 7 R 33 C 3 + R 3 /T * C + R 3 /T * C 6 + 7/5 * 3 + 7/0 * 4 0 R 34 C 3 + R 33 /T * C + R 33 /T * C 6 + 0/5 * 3 + 0/0 * 4 0 R 34 R 33 0 < D 3 Scheduling di processi HRT 75
76 TEST DI SCHEDULABILITÀ Condizione sufficiente (ma non necessaria) affinché un insieme di processi periodici e sporadici sia schedulabile con l algoritmo DMPO è che: C i D T i ( D ) C + C D i,, L, + Ii i i p > p i i A 6 C T D C/T P U(A 6 ) 0.87 : C + I (D ) 3 < D 6 P : C + D /T * C 4 + 0/5 * 3 7 < D 0 : C 3 + D 3 /T * C + D 3 /T * C 6 + /5 * 3 + /0 * 4 4 > D 3 Scheduling di processi HRT 76
77 TEST DI SCHEDULABILITÀ Test basato sulla densità di utilizzazione del processore Condizione sufficiente (ma non necessaria) affinché un insieme di processi periodici e sporadici sia schedulabile con l algoritmo DMPO è che: C D U RMPO / ( ) ( ) Condizione fortemente conservativa se esistono uno o più processi con deadline relativa << periodo. Scheduling di processi HRT 77
78 TEST DI SCHEDULABILITÀ C T D C/D P C 0.8 > U RMPO ( 3) D Il test fallisce nonostante l insieme dei processi sia schedulabile con l algoritmo DMPO: P Idle Ready Running Scheduling di processi HRT 78
79 IL TEST DI LEHOCZKY (90) Condizione sufficiente (ma non necessaria) affinché un insieme di processi periodici e sporadici, ciascuno contraddistinto da una deadline relativa D δ * T,,,,, sia schedulabile con l algoritmo DMPO è che: C T U (, δ) ( ) ) δ / + δ 0.5 δ δ min { δ } δ 0 δ 0.5 C T D C/T D/T P C 0.65 U ( 3, δ 0.7) T Scheduling di processi HRT 79
80 IL TEST DI LEHOCZKY U RMPO () 0.8 U(, δ) δ * U RMPO () δ Scheduling di processi HRT 80
81 IL TEST BASATO SUL FATTORE DI UTILIZZAZIOE EFFICACE DEI PROCESSI Il test di Lehoczky nella formulazione precedente risulta ancora decisamente conservativo se i δ sono alquanto diversi fra loro. In tal caso è conveniente applicare il test calcolando individualmente per ogni processo P, in ordine di priorità decrescente, il fattore di utilizzazione efficace f, definito da: f C i + C + C i H T n i T k H k essendo H e H n i due sottoinsiemi di processi di priorità p(p ) con periodo, rispettivamente, D e < D, f e verificando se risulta: ( H + δ δ ) U n, L insieme di processi è schedulabile se tale condizione (sufficiente, non necessaria) è soddisfatta per P,,,,. Scheduling di processi HRT 8
82 IL TEST BASATO SUL FATTORE DI UTILIZZAZIOE EFFICACE DEI PROCESSI C T D C/T C/D D/T P P C D 0.85 > U RMPO ( 4) C 0.7 > U ( 4, δ 0.583) T H n H f U(,δ) P P 4 { } { } {P } { } {P, } { } {P, } { } /4 0.5 /4 + / /4 + /6 + / 0.5 /4 + /6 + (+)/ U(,) U(,5/6) U(3,7/) U(3,) 0.78 Scheduling di processi HRT 8
83 SCHEDULABILITA I PRESEZA DI ITERRUPT SERVICE ROUTIES Il test basato sul fattore di utilizzazione efficace può essere convenientemente applicato per verificare la schedulabilità di un insieme di processi periodici (e/o sporadici) gestiti in accordo alla strategia RMPO (o DMPO) in presenza di interrupt service routines (ISR). E sufficiente a tale scopo 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. Esempio: la precedente applicazione risulterebbe ancora schedulabile se, al posto di P 4, considerassimo una ISR di pari frequenza e tempo di esecuzione? Scheduling di processi HRT 83
84 SCHEDULABILITA I PRESEZA DI ITERRUPT SERVICE ROUTIES C T D C/T C/D D/T P ISR P H n H f U(,δ) ISR P { } { } { } {ISR} {P } {ISR} /9 0. (+)/ /4 + (+)/ U(,) U(,) U(,5/6) {P, } {ISR} /4 + /6 + (+)/ U(3,7/) ISR P condizione sufficiente, non necessaria Idle Ready Running Scheduling di processi HRT 84
85 L'ALGORITMO EARLIEST DEADLIE FIRST (EDF) Ad ogni processo è dinamicamente associata una priorità tanto maggiore quanto più imminente è la corrispondente deadline assoluta. A 4 C T D C/T P U(A 4 ) 0.9 P Idle Ready Running task-level dynamic-priority algorithm ob-level fixed-priority algorithm Scheduling di processi HRT 85
86 JOB-LEVEL FIXED vs. DYAMIC PRIORITY C T D C/T P U 0.95 Idle Ready Running EDF p(j ) > p(j 3 ) P (nonstrict) Least Slack Time First: task-level and ob-level dynamic-priority algorithm istanti decisionali: all atto del release o del complemento della esecuzione di un ob slack t 0 t 0.8 t t.8 t 4 t 4.3 t 5 t 5.3 t 5.4 t 6 P LST p(j ) > p(j 3 ) p(j ) < p(j 3 ) p(j ) > p(j 3 ) P Scheduling di processi HRT 86
87 OSTRICT LST slack 4.5 C T D C/T P J 3 slack t 0 t 0.8 t P J P J J t Scheduling di processi HRT 87
88 STRICT vs. OSTRICT LST C T D C/T P nonstrict LST slack t 0 t 7 P P strict LST slack t 5 4 J J J J P t Scheduling di processi HRT 88
89 EDF: CODIZIOI DI SCHEDULABILITÀ Condizione necessaria e sufficiente affinché un insieme di processi periodici sia schedulabile con l algoritmo EDF è che: U i Condizione sufficiente (ma non necessaria) affinché un insieme di processi periodici e sporadici sia schedulabile con l algoritmo EDF è che: Ci UEDF T i i Ci D i A 7 C T D C/T C/D P U(A 7 ) 0.9 (A 7 ). Idle Ready Running P Scheduling di processi HRT 89
90 AALISI DI SCHEDULABILITÀ: L APPROCCIO PROCESSOR DEMAD [BARUAH et al. (90)] La schedulabilità di un insieme di processi periodici e sporadici, contraddistinti da un fattore di utilizzazione del processore U ed attivati contemporaneamente all istante 0, è garantita se in ogni intervallo [0,t] il tempo di elaborazione cumulativamente richiesto per completare l esecuzione di tutti i ob aventi deadline t non eccede il tempo disponibile t: C P i i i t D Ti i ( 0, t) C ( 0, t) + C t i Ai fini della schedulabilità, è sufficiente verificare se tale condizione è soddisfatta per t D {d ik d ik (k-) T i + D i, d ik < BI, i, k }, essendo [0,BI] ( busy interval ) il più piccolo intervallo entro il quale termina l esecuzione di tutti i ob attivati in esso (ovvero all istante BI il processore risulta idle). BI può essere calcolato iterativamente nel seguente modo: n 0 n BI BI Ci BI Ci n,,... i i Ti (se U, n BI n BI n- H (iperperiodo); solo in caso contrario BI ) Scheduling di processi HRT 90
91 L APPROCCIO PROCESSOR DEMAD A 7 C T D C/T C/D P U(A 7 ) 0.9 (A 7 ). BI 0 C + C + C 3 4 BI BI 0 /T C + BI 0 /T C + BI 0 /T 3 C 3 4/ / / 7 8 BI BI /T C + BI /T C + BI /T 3 C 3 8/ / / 7 BI 3 BI /T C + BI /T C + BI /T 3 C 3 /0 4 + /5 3 + / 7 5 BI 4 BI 3 /T C + BI 3 /T C + BI 3 /T 3 C 3 5/ / / 7 3 BI 5 BI 4 /T C + BI 4 /T C + BI 4 /T 3 C 3 3/ / / 7 39 BI 6 BI 5 /T C + BI 5 /T C + BI 5 /T 3 C 3 39/ / / 7 39 BI 5 BI 39 < H mcm (0, 5, ) 330 D {6, 0, 0,,, 30, 36} Scheduling di processi HRT 9
92 L APPROCCIO PROCESSOR DEMAD 0 C (0,t) t C (0,t) 0 C P (0,t) t t C 3 (0,t) t Scheduling di processi HRT 9
93 L APPROCCIO PROCESSOR DEMAD BI 39 < H 330 P D {6, 0, 0,,, 30, 36} t C (0,t) C (0,t) C 3 (0,t) C P (0,t) t Scheduling di processi HRT 93
94 L APPROCCIO PROCESSOR DEMAD A 8 C T D C/T C/D P U(A 8 ) 0.98 (A 8 ).4 n BI n (BI 8 BI 7 60) t C (0,t) C (0,t) C 3 (0,t) C P (0,t) t P Idle Ready Running Scheduling di processi HRT 94
95 Scheduling di processi HRT 95 L APPROCCIO PROCESSOR DEMAD Indicato con: U C T D t i i i i * è possibile, qualora risulti t* < BI, migliorare l efficienza dell approccio limitandosi a verificare se è soddisfatta la condizione C P (0,t) t solo per il seguente insieme D* di istanti t: ( ) ( ) t C, T D Ut C T D t 0,t C 0,t C i i i i i i i i * P + + e quindi che C P (0,t) t per t t*. D* {d ik d ik (k-) T i + D i, d ik < t*, i, k }. Ciò deriva dalla constatazione che:
96 L APPROCCIO PROCESSOR DEMAD La diversa modellazione del tempo di elaborazione complessivamente richiesto in [0,t]: C (0,t) 0 0 A 7 C T D C/T C/D P t C (0,t) 0 C P (0,t) t t C 3 (0,t) 0 BI 39 D {6, 0, 0,,, 30, 36} t t* D* {6, 0, 0, } t* < BI D* D Scheduling di processi HRT 96
97 L APPROCCIO PROCESSOR DEMAD A 9 C T D P BI 0 D {5, 8, 5} t* 7.7 D* {5, 8, 5,, 3, 5} t* > BI D* D t C (0,t) C (0,t) C 3 (0,t) C P (0,t) t In generale: t* o BI? min (t*,bi) BI n Scheduling di processi HRT 97
98 RMPO, DMPO, EDF: ASPETTI REALIZZATIVI Separazione tra aspetti funzionali e temporali ame P... P Period P Period... P Period Relative Deadline P Deadline... P Deadline InitializationEntryPoint P ResetHandler... P ResetHandler JobEntryPoint P Handler... P Handler MissedDeadlineEntryPoint P MissedDeadlineHandler... P MissedDeadlineHandler Specifiche a livello di application design SystemTickRate ( ) /* real-time clock frequency */ SystemTickConnect (EntryPoint) /* hook to real-time clock interrupt handler */ TaskSpawn (ame, Priority, Options, StackSize, EntryPoint, Arg,, Arg0) /* creation & activation */ SetTaskPriority (TaskId, Priority) /* TaskId 0: calling task */ TaskSuspend (TaskId) /* TaskId 0: calling task */ TaskResume (TaskId) TaskIsSuspended (TaskId) Primitive del Sistema Operativo (VxWorks) Distinzione tra politiche e meccanismi Scheduling di processi HRT 98
99 RMPO, DMPO: IL RUOLO DEL METASCHEDULER A C T P Ad ogni processo è attribuita una priorità (statica) in base alla corrispondente deadline relativa RESUME SUSPEDRESUME SUSPEDRESUME SUSPEDRESUME SUSPEDRESUME P RESUME SUSPED RESUME SUSPED RESUME RESUME SUSPED RESUME Metascheduler P Idle Ready Running Scheduling di processi HRT 99
100 ESECUZIOE PERIODICA DEL METASCHEDULER Real-Time Clock Interrupt void SystemTickInterruptHandler (void) { SystemTickHandler ( ); SystemTickConnect (SystemTickHandler); } private void SystemTickHandler (void) { if ((--MetaschedulerReleaseTimer) 0) { TaskResume (MetaschedulerId); } } MetaschedulerReleaseTimer MetaschedulerReleaseTime; /* 50 se T RTC 500 µs T METASCHEDULER mcd (5 (P ), 50 ( ), 00 ( )) 5 ms */ Scheduling di processi HRT 00
101 ESECUZIOE PERIODICA DEI PROCESSI MetaschedulerId TaskSpawn ( Metascheduler, HighPriority, DefaultOptions, DefaultStackSize, MetaschedulerShell, 0); private void MetaschedulerShell (void) { while (true) { TaskSuspend (0); private void Metascheduler (void) Metascheduler ( ); { } repeat for each P } { if ((--PReleaseTimer) 0) { TaskResume (PId); PReleaseTimer PReleaseTime; /* (P ), ( ), 4 ( ) */ } } } Scheduling di processi HRT 0
102 ESECUZIOE PERIODICA DEI PROCESSI /* for each P */ PId TaskSpawn ( P, PPriority, DefaultOptions, DefaultStackSize, TaskShell, PHandler); private void TaskShell (void (* PHandler) (void)) { while (true) { TaskSuspend (0); PHandler ( ); } } missed deadline Scheduling di processi HRT 0
103 GESTIOE DEI SOVRACCARICHI Gli stati di un processo a livello di: metascheduler idle not_idle scheduler suspended ready / running Metascheduler: TaskResume (PId) RESUME ready suspended Scheduler: Task Dispatching and Preemption running SUSPED Task: TaskSuspend (self) Scheduling di processi HRT 03
104 GESTIOE DEI SOVRACCARICHI private void Metascheduler (void) { repeat for each P { if (PState! idle) { PExecutionTimer++; if (TaskIsSuspended (PId)) { ExecutionTimeLogHandler (P, PExecutionTimer) /* min, max, average, */ PState idle; } else { if (PExecutionTimer PCompletionTime) /* missed deadline */ { PMissedDeadlineCounter++; PMissedDeadlineHandler; /* application dependent */ } } } Scheduling di processi HRT 04
105 GESTIOE DEI SOVRACCARICHI } } MetaSchedulerReleaseTime PReleaseTime if ((--PReleaseTimer) 0) { if (PState idle) { TaskResume (PId); PReleaseTimer PReleaseTime; PExecutionTimer 0; PState not_idle; } else /* overrun */ { P POverrunCounter++; if (POverrunHandlingPolicy ASAP) risoluzione PReleaseTimer ; /* release next ob As Soon As Possible */ else PReleaseTimer PReleaseTime; /* skip next ob execution */ } } Scheduling di processi HRT 05
106 GESTIOE DEI SOVRACCARICHI private void SystemTickHandler (void) { if ((--MetaschedulerReleaseTimer) 0) { if (TaskIsSuspended (MetaschedulerId)) TaskResume (MetaschedulerId); else MetaschedulerOverrunCounter++; MetaschedulerReleaseTimer MetaschedulerReleaseTime; } } Scheduling di processi HRT 06
107 RMPO, DMPO: IIZIALIZZAZIOE void MetaschedulerAndTasksInitialization (void) { MetaschedulerReleaseTime /* [SystemTicks] */ SystemTickRate /* [SystemTicks/s] */ * MetaschedulerPeriod /* [µs] */ / ; repeat for each P { PResetHandler ( ); PReleaseTime /* [MetaschedulerTicks] */ PPeriod /* [µs] */ / MetaschedulerPeriod; PCompletionTime /* idem */ PDeadline /* [µs] */ / MetaschedulerPeriod; PPriority PriorityHandler (PCompletionTime); PId TaskSpawn ( P, PPriority, DefaultOptions, DefaultStackSize, TaskShell, PHandler); PReleaseTimer ; PState idle; PMissedDeadlineCounter 0; POverrunCounter 0; ExecutionTimeLogResetHandler (P); /* min, max, average, */ } MetaschedulerId TaskSpawn ( MetaScheduler, HighPriority, DefaultOptions, DefaultStackSize, MetaschedulerShell, 0); MetaschedulerReleaseTimer ; MetaschedulerOverrunCounter 0; } SystemTickConnect (SystemTickHandler); Scheduling di processi HRT 07
108 RMPO: RISULTATI SPERIMETALI C T C/T p P max min U 0.98 overrun handling policy: ASAP P missed deadline Idle Ready Running effetto domino sui processi di priorità inferiore Scheduling di processi HRT 08
109 RMPO: RISULTATI SPERIMETALI overrun handling policy: SKIP P no missed deadlline Idle Ready Running t.u. RTC ISR Metascheduler P S.O.: VxWorks Tool: WindView Scheduling di processi HRT 09
110 head EDF: ASPETTI REALIZZATIVI Gestione dinamica della priorità di ciascun processo in base alla corrispondente deadline assoluta not-idle tasks queue tail next next next P max δct δct priority priority P id previous previous previous P id CT: Completion Time δct: delta Completion Time δct(next(head)) CT(next(head)) δct() CT() - CT(previous()), next( next(head)) inizializzazione: next(head) tail, previous(tail) head Scheduling di processi HRT 0
111 GESTIOE DIAMICA DELLE PRIORITA Enqueue (, CT()) Dequeue () δct() CT(); c next(head); while (δct() > δct(c)) { δct() - δct(c); c next(c); } if (c! tail) δct(c) - δct(); p previous(c); next(p) ; next() c; previous() p; previous(c) ; UpdatePriorities (); p previous(); c next(); if (c! tail) δct(c) + δct(); next(p) c; previous(c) p; UpdatePriorities (c); UpdatePriorities (i) while (i! tail) { priority(i) (priority(previous(i))); SetTaskPriority (P id (i), priority(i)); i next(i); } Scheduling di processi HRT
112 GESTIOE DIAMICA DELLE PRIORITA private void Metascheduler (void) UpdateCompletionTimes ( ) { c next(head); UpdateCompletionTimes ( ); repeat for each P while (δct(c) 0) c next(c); { if (c! tail) δct(c)--; idem Enqueue (P, PCompletionTime); TaskResume (PId); idem } } private void TaskShell (void (* PHandler) (void)) { } while (true) { } TaskSuspend (0); PHandler ( ); SetTaskPriority (0, MetaSchedulerPriority); Dequeue (P); Scheduling di processi HRT
113 UA EFFICIETE GESTIOE ALTERATIVA 3 livelli di priorità (Low, Medium, High), condivisi da tutti i processi. Medium: priorità di un processo allorché running, ovvero con deadline più imminente. Low: priorità di un processo allorché pronto, ovvero con deadline meno imminente. High: priorità (coincidente con quella del metascheduler) di un processo allorché, al termine di un ob e prima di autosospendersi, promuove l esecuzione del processo con deadline ora più imminente, modificandone la priorità da Low a Medium. RESUME READY Low SUSPEDED Medium Low High SUSPED RUIG Scheduling di processi HRT 3
114 private void Metascheduler (void) { UpdateCompletionTimes ( ); r next(head); repeat for each P { idem EnqueueOnly (P, PCompletionTime); SetTaskPriority (PId, Low); TaskResume (PId); idem } if (next(head)! r) { } UA EFFICIETE GESTIOE ALTERATIVA } if (r! tail) SetTaskPriority (P id (r), Low); SetTaskPriority (P id (next(head)), Medium); private void TaskShell (void (* PHandler) (void)) { while (true) { TaskSuspend (0); PHandler ( ); SetTaskPriority (0, High); DequeueOnly (P); if (next(head)! tail) SetTaskPriority (P id (next(head)), Medium); } } Scheduling di processi HRT 4
115 EDF: RISULTATI SPERIMETALI C T C/T P U 0.98 P Idle Ready Running RTC ISR Metascheduler P S.O.: VxWorks Tool: WindView Scheduling di processi HRT 5
Scheduling di processi HRT
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)
DettagliRiassunto di Sistemi in Tempo Reale LS
Riassunto di Sistemi in Tempo Reale LS Silvia Cereda July 10, 2007 1 Schedulazione di processi periodici Condizione necessaria (ma non sufficiente) affinché un insieme di N processi sia schedulabile è
DettagliAlgoritmi di scheduling - Parte 2
Algoritmi di scheduling - Parte 2 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO DEADLINE MONOTONIC PRIORITY ORDERING (DMPO) ALGORITMO TIMELINE SCHEDULING (TS) SCHEDULING
DettagliSchedulazione in RTAI
Schedulazione in RTAI RTAI: modulo kernel rt_hello_km.c #include #include Thread real-time... Ciclo infinito RT_TASK task; Periodico... void task_routine() { while(1) { /* Codice
DettagliSistemi Real-Time Ing. Rigutini Leonardo
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
DettagliScheduling. Scheduling 14/12/2003 1/7
Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling
DettagliRTAI e scheduling. Andrea Sambi
RTAI e scheduling Andrea Sambi Scheduling Linux Due politiche di scheduling priority-driven possibili. FIFO priorità uguali Processo 1 iniziato Processo 1: iterazione 1 Processo 1: iterazione 2 Processo
DettagliPROVA SCRITTA DI SISTEMI IN TEMPO REALE (18/7/2007)
PROVA SCRITTA DI SISTEMI IN TEMPO REALE (18/7/2007) PROBLEMA n. 1 L esecuzione del seguente insieme di processi periodici, tra loro indipendenti, è affidata ad un sistema di elaborazione monoprocessore:
DettagliPrincipi di Schedulazione in tempo reale
Principi di Schedulazione in tempo reale 1 Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da q un tempo d arrivo r ik (r=release time, oppure a=arrival
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliLo scheduling. Tipici schedulatori
Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo
DettagliSistemi Operativi SCHEDULING DELLA CPU
Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling
Dettaglischeduling Riedizione modifi cata delle slide della Prof. DI Stefano
scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno
DettagliScheduling della CPU:
Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready
DettagliScheduling. Lo scheduler è la parte del SO che si occupa di
Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto
DettagliScheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
DettagliSistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliAlgoritmi di scheduling
Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.
DettagliASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX
Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata
DettagliIl sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.
E. Calabrese: Fondamenti di Informatica Problemi-1 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. L'informatica
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliScheduling della CPU Simulazione in linguaggio Java
Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota
DettagliUn sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
DettagliAlgoritmi di scheduling
Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliSistemi di Controllo Real Time
Sistemi di Controllo Real Time Automazione 13/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO SISTEMI REAL TIME CLASSIFICAZIONE DEI SISTEMI REAL TIME PARALLELISMO E PROGRAMMAZIONE CONCORRENTE SISTEMI
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliScheduling della CPU
Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler
DettagliCorso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
DettagliSistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
DettagliComputazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2
Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:
DettagliLow Power Scheduling per Sistemi Real Time
Low Power Scheduling per Sistemi Real Time Corso di Sistemi Real Time A.A. 2007-08 Ing. Giordano Kaczynski Sistemi Real Time 1 Introduzione Il consumo di energia nei sistemi portatili negli ultimi anni
DettagliIl software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.
I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse
DettagliPag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.
Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliOttimizzazione delle interrogazioni (parte I)
Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliOttimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni
Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica
DettagliProcessi e Thread. Scheduling (Schedulazione)
Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L
DettagliSistemi Operativi a.a. 2004-2005. Esercizi - 2
Sistemi Operativi a.a. 004-005 Esercizi - Renzo Davoli Alberto Montresor. I diritti di memorizzazione elettronica, di riproduzione e di adattamento parziale o totale (compresi microfilm e copie fotostatiche)
DettagliEsercitazione E6 Esercizi d esame
Esercitazione E6 Esercizi d esame Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E6-1 Memoria virtuale Si consideri un sistema a memoria virtuale con indirizzi a 32 bit, indirizzi fisici a 20
DettagliScheduling della CPU
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling
DettagliSCHEDULATORI DI PROCESSO
Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI
DettagliSCHEDULING SCHEDULING
Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO 1 INDICE Esempio Introduttivo Generalità sui problemi di scheduling SINGLE MACHINE SPT (shortest processing
DettagliIL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l
DettagliJ. Assfalg Appunti di Sistemi Operativi
Multiprogrammazione J. Assfalg Appunti di Sistemi Operativi La multiprogrammazione nasce come un metodo per massimizzare l'uso della CPU piuttosto che come uno strumento per fornire un miglior servizio
DettagliSchedulazione di attività in presenza di attività interrompibili
Schedulazione di attività in presenza di attività interrompibili Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell informazione
DettagliAND NON CAP WEIGHTED PORTFOLIO
SOCIALLY RESPONSIBLE INVESTMENT AND NON CAP WEIGHTED PORTFOLIO Forum per la Finanza Sostenibile Milano 30 giugno 2009 Giulio Casuccio Head of Quantitatives Strategies and Research Principi ed obiettivi:
DettagliIntroduzione ai tipi di dato astratti: applicazione alle liste
Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione
DettagliArchitettura di un sistema di calcolo
Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliMODELLISTICA DI IMPIANTI E SISTEMI 2
MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi
DettagliLa schedulazione. E.Mumolo mumolo@units.it
La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
DettagliDefinizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione
SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto
DettagliSistemi di Automazione Industriale
Introduzione ai PLC Sistemi di Automazione Industriale Ridurre e/o eliminare il ruolo dell operatore umano Ogni sistema di automazione prevede: Sistema Controllato; è un generatore di eventi non prevedibili
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliAlgoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo
Algoritmi Priority-Driven RT Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo 2 Algoritmi Real Time Earliest Due Date (statico) Seleziona il task con la deadline relativa più
DettagliLa Gestione delle risorse Renato Agati
Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File
DettagliIl descrittore di processo (PCB)
Il descrittore di processo (PC) Il S.O. gestisce i processi associando a ciascuno di essi un struttura dati di tipo record detta descrittore di processo o Process Control lock (PC) Il PC contiene tutte
DettagliCalcolatori: Algebra Booleana e Reti Logiche
Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato
DettagliLa riforma del servizio di distribuzione del
CReSV Via Röntgen, 1 Centro Ricerche su Sostenibilità e Valore 20136 Milano tel +39 025836.3626 La riforma del servizio di distribuzione del 2013 gas naturale In collaborazione con ASSOGAS Gli ambiti territoriali
DettagliRealizzazione di Politiche di Gestione delle Risorse: i Semafori Privati
Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad
DettagliJava Virtual Machine
Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina
DettagliJ. Assfalg Appunti di Sistemi Operativi
Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche
DettagliLo scheduler di UNIX (1)
Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto
DettagliSistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
DettagliScheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU
Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di
Dettagli1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliSOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE
SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software
DettagliScheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica
Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliPiù processori uguale più velocità?
Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In
Dettagli12. Evoluzione del Software
12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliIl sistema operativo TinyOS
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio
DettagliCPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique
CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique
DettagliMonitor. Introduzione. Struttura di un TDA Monitor
Monitor Domenico Cotroneo Dipartimento di Informatica e Sistemistica Introduzione E stato introdotto per facilitare la programmazione strutturata di problemi in cui è necessario controllare l assegnazione
DettagliNozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliI casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.
UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d
DettagliSequence Diagram e Collaboration Diagram
Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction
DettagliIl costrutto monitor [Hoare 74]
Il monitor 1 Il costrutto monitor [Hoare 74] Definizione: Costrutto sintattico che associa un insieme di operazioni (entry, o public) ad una struttura dati comune a più processi, tale che: Le operazioni
DettagliCOMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)
COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliTECNICHE DI SIMULAZIONE
TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliIl Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo
Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliLe Infrastrutture Software ed il Sistema Operativo
Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono
Dettagli2. Leggi finanziarie di capitalizzazione
2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
Dettagli