1 Concetti Introduttivi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1 Concetti Introduttivi"

Transcript

1 1 Concetti Introduttivi 1.1 Real time Esistono vari livelli di real time: Hard si garantisce che ogni job venga eseguito rigorosamente entro un certo lasso di tempo (esempio: comandi per il movimento di un braccio robotico). Se la risposta non arriva entro tale tempo la si considera non corretta Soft non si garantisce che ogni job sia eseguito entro un certo lasso di tempo ma che verrà eseguito il prima possibile (Esempio: decodifica MP3) Firm una via di mezzo tra Hard e Soft: alcuni job rispettano l hard real time, altri semplicemente il soft real-time. 1.2 Task e Job task processo nella fase attiva: è una sequenza di istruzioni che deve essere eseguita senza soluzioni di continuità job frammento di un task Figura 1: Task e job 1

2 1.3 Constraints (vincoli) Si possono avere tre diversi tipi di vincoli da rispettare nell ambito del real time: Timing naturalmente i più importanti Precedenze derivanti dalla priorità di un task rispetto ad un altro Resources derivanti dalla condivisione di risorse comuni DAG (Direct Activity Graph) Sono grafi che permettono di rappresentare le precedenze. Figura 2: Esempio di DAG Nell esempio J 3 deve essere eseguito prima di J 2 e J 5, J 1 prima di J 3 e J 4. Si possono avere due tipi di precedenze: precedenza immediata J 1 J 3 precedenza non immediata J 1 J Uso dei semafori I semafori servono a bloccare una risorsa condivisa. Nel caso in cui si ha un processo produttore ed uno consumatore che si scambiano le informazioni attraverso la risorsa condivisa si applica la regola dei semafori affinché il processo consumatore non acceda alla risorsa prima che il processo produttore ne abbia completato la modifica. L uso dei semafori si attua attraverso l uso delle istruzioni WAIT e SIGNAL. 2

3 1.4 Lo Schedule Poichè nello stato di ready ci potrebbe essere più di un job pronto per essere eseguito c è un elemento: lo schedule, che stabilisce quale job passerà nello stato di esecuzione attraverso l operazione di dispatch. Lo schedule opera secondo un algoritmo di scheduling. Dato un insieme di task da schedulare {J 1,..., J n } la definizione formale di schedule è la seguente: σ : R + {1,..., n} t R + t 1, t 2 : t [t 1, t 2 ) t [t 1, t2) σ(t ) = σ(t) se uno schedule è eseguibile si dice che esso è feasible (fattibile), in tal caso Figura 3: Significato della definizione formale di schedule (σ = 0:idle) il set di task {J 1,..., J n } si dice schedulabile. 3

4 1.5 Tassonomia degli algoritmi di scheduling preemptive se sopraggiunge un task avente priorità maggiore di quello in esecuzione quest ultimo verrà interrotto non preemptive non esiste la possibilità di interrompere un task in esecuzione static le decisioni sono basate su parametri fissi assegnati ai task prima della loro attivazione dynamic i parametri possono variare durante l evoluzione del sistema off line lo scheduling è effettuato prima dell attivazione dei task on line lo scheduling è effettuato ad ogni attivazione o termine di un task optimal lo scheduling minimizza una qualche funzione di costo euristic tende a minimizzare ma non garantisce clairvoyant (chiaroveggenza) prevede l arrivo di ogni nuovo task 4

5 Guarantee-based Algoritmi per hard real time. Devono garantire la feasibility ponendosi nell ottica del Worst Case Scenario statici algoritmi sofisticati ma lo schedule non supporta cambiamenti dinamici le ipotesi che portano ai WCEX i devono essere corrette altrimenti si rischia l effetto domino. Figura 4: Effetto domino: diagramma di Gant Lo svantaggio di questo tipo di algoritmo è che un task potrebbe essere inutilmente sacrificato dinamici test di accettazione on-line J {J t } è feasible Figura 5: Schema di un algoritmo guarantee-based dinamico Best-effort Algoritmi per il soft real time. Fanno del loro meglio ma non garantiscono la feasibility dello schedule un task può anche essere abortito in fase di esecuzione Mediamente tali algoritmi si comportano meglio dei guarantee-based algorithms perché non presuppongono lo scenario del caso peggiore, quindi un task è rigettato solo se all atto pratico non si riesce a portarlo a termine 5

6 Based on imprecise computation barattano l accuratezza computazionale per il soddisfacimento dei requisiti temporali. Ogni task τ i è suddiviso nelle sue due componenti: mandatory M i parte del task che deve essere eseguita in hard real time optional O i parte del task che deve essere eseguita in soft real time Figura 6: Algoritmo basato su imprecise computation: diagramma di Gant σ i : CPU time dedicata ad O i dallo schedule (Parte opzionale del task eseguita) Errore ɛ i = O i σ i peso di j i : w i errore medio ɛ = n w i ɛ i i=1 Schedule Feasible : ogni Mi viene completato prima di d i (non occorre che anche O i venga completato prima della deadline) Precise : ɛ = 0 6

7 1.6 Metriche Figura 7: Metriche fondamentali arrival time a i start time s i computation time C i tempo in cui il task è in escuzione senza interruzione di tempo. Tale parametro solitamente è stimato facendo riferimento al WCET (Worst Case Estimation Time) finishing time f i dead line assoluta d i deadline relativa D i = d i a i lateness (latenza) L i = f i d i se tale parametro assume valore positivo vuol dire che c è stato uno sforo nella deadline tardiness T i = max(l i, 0) Ci dice di quanto si è attardato un task se quest ultimo si è attardato laxity (lassità) x i = d i a i C i il gioco temporale che puù avere un task. residual WCET(t) tempo di computazione rimasto in funzione del tempo. Utile nel caso in cui il task sia attualmente in esecuzione Figura 8: residual WCET Possiamo quindi ridefinire anche la lassità come l i (t) = d i t W CET (t) criticalness (criticità) value una sorta di criticità relativa: criticità degli altri task il peso del task nel contesto delle 7

8 average response time t r = 1 n n (f i a i ) i=1 total completion time t c =max(f i ) min(a i ) weighted sum of completion times t w = maximum lateness L max =max(f i d i ) n w i f i maximum number of late tasks N late = miss(f i ) con miss(f i ) = i=1 { 0 sefi < d i 1 altrimenti 8

9 Utility Function Non Real Time Utility Function Soft Real Time Utility Function On Time Utility Function Firm Real Time 1.7 Utility functions Le performances di un algoritmo di scheduling possono essere misurate da parametri cumulativi n V = v(f i ) i=1 9

10 1.8 Anomalie Teorema 1 (Graham 76) Se un insieme di task è schedulato ottimamente con un assegnamento di priorità, un numero fisso di processori, tempi di esecuzione fissi ed assegnamento di precedenze, allora aumentare il numero di processori, ridurre i tempi di esecuzione o rilassare i vincoli di precedenza può aumentare la durata dello schedule Figura 9: Caso in cui minimizzare L max non minimizza N late Figura 10: Caso in cui, in presenza di condivisione di risorse, un processore veloce peggiora la schedulabilità Figura 11: Caso in cui, in presenza di condivisione di risorse, il minor tempo di arrivo di un task condiziona la schedulabilità 10

11 2 Scheduling Non real time 2.1 FCFS First Come First Served Assegna la CPU ai task in base al loro ordine di arrivo. non preemptive dinamico on line best effort È impredicibile: dato un task set, i tempi di risposta dipendono dalla cronologia degli arrivi. Esempio 1: T R 1 = 20 T R 2 = 26 T R = 24 T R 3 = 26 Figura 12: Scheduling di tipo FCFS: esempio 1 Esempio 2: T R 1 = 26 T R 2 = 8 T R = 12 T R 3 = 2 Figura 13: Scheduling di tipo FCFS: esempio 2 11

12 2.2 SJF Shorted Job First Seleziona il task con il più breve tempo di computazione statico (i C i sono costanti) minimizza il tempo di risposta medio Figura 14: Scheduling di tipo SJF visto che f 2 = f 2 e f 1 < f 1 si ha che f 1 + f 2 < f 1 + f 2 quindi T R (SJF) = 1 n (f i a i ) 1 n (f i a i ) = T R (σ) SJF e Real Time: benché minimizzi il tempo di risposta medio, non è ottimale nel senso della feasibility Figura 15: SJF: Scheduling non feasible 12

13 2.3 PS Priority Scheduling Ad ogni task è associato un valore di priorità. Viene selezionato il task con la maggiore priorità. A parità di priorità di adotta il FCFS o il RR. Preemptive On Line Starvation: i task a bassa priorità rishiano di non andare mai in esecuzione AGING: le priorità crescono con i tempi di attesa PS è una generalizzazione di SJF e FCFS. Lo schema seguente mostra quando si ricade in tali casi PS = Pi 1 C i SJF P i 1 a i FCFS 13

14 2.4 RR Round Robin La coda è gestita con una politica FCFS ma ogni task deve essere sospeso e rimesso in coda allo scadere di un quanto di tempo (Q) Figura 16: Round Robin T R i n Q Ci Q = n C i dove n è il numero di task da schedulare Time Sharing ogni task ha a disposizione una CPU n volte più lenta se Q > max(c i ) FCFS δ: tempo necessario al cambiamento di contesto Figura 17: Cambiamento di contesto nel Round Robin T R i n (Q + δ) Ci Q = n C i ( Q + δ Q ) se Q δ T R i = 2 n C i il tempo di computazione di un task si raddoppia 14

15 2.5 Code a priorità diversa Ci sono più code di processi con priorità decrescente gestite con una politica Round Robin Figura 18: Code a priorità diversa 1. lo scheduler prende il primo task nella coda RQ k non vuota ed a maggiore priorità e gli assegna la CPU per un quanto Q 2. se il task termina o si blocca prima di Q si torna ad (1) 3. al termine di Q il task va in RQ k+1 4. all attivazione o allo sblocco il task va in RQ 0 5. periodicamente processi a lungo in coda possono essere scalati verso l alto i task partono tutti dalla maggiore priorità i task brevi terminano probabilmente più presto I/O-bound task è sempre eseguito subito CPU-bound task può andare nell ultima coda in caso di sovraccarico i task CPU-bound vanno a turno in priorità massima 15

16 3 Scheduling Real time 3.1 Scheduling di task Aperiodici Sincrono Asincrono Preemptive Non preemptive Task EDD EDF Treee search indipendenti O(n log(n)) O(n 2 ) O(n n!) Vincoli sulla LDF EDF* SPRING precedenza o O(n 2 ) O(n 2 ) O(n 2 ) sulle risorse Euristico Tabella 1: Algoritmi di scheduling per task aperiodici 16

17 3.1.1 EDD Earliest Due Date L obiettivo è minimizzare L max 1 processore i tasks sono sincroni Teorema 2 (Jackson 74) Dato un insieme di tasks indipendenti, ogni algoritmo che li manda in esecuzione con ordinamento crescente rispetto alle deadline relative minimizza il tempo di latenza massimo Figura 19: EDD: esempio σ : L max AB = f B d B ; σ : L max AB = max(l A, L B ) Dimostriamo che L max (σ) è ottima: per ciò che riguarda σ avere che: possiamo se L B L A L max AB = f B d B < f B d B = L max AB se L A L B L max AB = f A d A < f B d B = L max AB quindi si dimostra quanto si voleva La complessità dell algoritmo è uguale a quella di un ordinamento di n elementi: O(n log(n)) 17

18 Esempio 1: Test di garanzia J 1 J 2 J 3 J 4 J 5 C i d i Figura 20: EDD Esempio 1 L max = L 4 = 1 Esempio 2 J 1 J 2 J 3 J 4 J 5 C i d i Figura 21: EDD Esempio 2 L max = L 4 = 2 Il task set è dunque schedulabile se sono verificate le condizioni: i {1,..., n} i C k d i dove i è l indice prodotto da EDD (tasks ordinati secondo le loro deadline assolute) k=1 18

19 3.1.2 EDF Earliest Deadline First L algoritmo opera in modo identico a EDD (l obiettivo è sempre la minimizzazione di L max ) se non per il fatto che in questo caso si ha la preemption Teorema 3 (Horn 74) Dato un insieme di tasks indipendenti e con tempi di arrivo arbitrari, ogni algoritmo che ad ogni istante esegue quello con la deadline assoluta più imminente minimizza il tempo di latenza massimo Esempio 1: Test di garanzia J 1 J 2 J 3 J 4 J 5 a i C i d i Figura 22: EDF: esempio 1 se c i (t) è il tempo di esecuzione residuo di J i all istante t e se i task sono indicizzati secondo EDF allora f i = i c k (t) k=1 il task set è allora schedulabile se sono verificate le: i {1,..., n} i c k (t) < d i k=1 19

20 Non preemptive scheduling Si ricade in questo caso se EDF non dovesse avere a disposizione la preemption della CPU Esempio J 1 J 2 a i 0 1 Trovare uno scheduling feasible e minimizzare la latenza mas- C i 4 2 d i 7 5 Figura 23: EDF senza preemption sima diviene NP-HARD. Se EDF è non preemptive allora non è ottimale 20

21 3.1.3 Pruning Search Trees È la tecnica più generale possibile 1 processore no preemption feasible Esempio J 1 J 2 J 3 J 4 a i C i d i Il grafo da costruire ha n! foglie Figura 24: Tree Search Esempio 1 Regole di potatura Algoritmo di Bratley ( 71): smettere di cercare se si è già trovato (depth first) potare il ramo sul quale si è mancata una deadline 21

22 Scheduling feasible 1: J 4, J 2, J 3, J 1 Figura 25: Tree Search: scheduling feasible 1 Scheduling feasible 2: J 4, J 3, J 2, J 1 Figura 26: Tree Search: scheduling feasible 2 22

23 3.1.4 LDF Latest Deadline First L obiettivo, ancora una volta, è minimizzare L max ma in presenza di vincoli di precedenza 1 processore tasks sincroni precedenze complessità O(n 2 ) Teorema 4 (Lawler 73) Produrre lo schedule risalendo dall ultimo task verso il primo. Ad ogni passo selezionare il task con la deadline più lontana fra quelli che nel DAG delle precedenze non hanno più successori Esempio J 1 J 2 J 3 J 4 J 5 J 6 C i d i Figura 27: LDF: DAG delle precedenze Figura 28: LDF schedula un task set che EDF non riesce a schedulare 23

24 3.1.5 EDF* (EDF con vincoli di precedenza) EDF* nasce perché applicare EDF (scegliere il task con la deadline più vicina fra gli elegibili) non è ottimo per L max sotto vincoli di precedenza 1 processore preemption precedenze minimizza L max Teorema 5 (Chetto, Silly, Bouchentouf 90) Lo scheduling di n tasks con vincoli di precedenza e tempi di attivazione dinamici può essere risolto in tempo polinomiale solo se i tasks sono interrompibili Si tratta in pratica di operare la trasformazione J J dove J non è altro che J schedulabile nel rispetto dei vincoli di precedenza. Visto che, secondo l albero delle precedenze, ogni task non può iniziare prima di un suo predecessore e non può interrompere un suo successore prima dobbiamo 1. modificare i tempi di rilascio (a i ) Dato il vincolo di precedenza J a J b si ha che { sb a b s b a a + C a ossia a b a b = max(a b, a a + C a ) Figura 29: EDF*: tempi di rilascio dei tasks 24

25 Algoritmo (O(n 2 )) (a) Per ogni nodo iniziale del DAG delle precedenze a i = a i (b) Se esiste un task il cui tempo di rilascio non è stato modificato, ma lo sono stati i tempi di rilascio di tutti i suoi propedeutici allora selezionarlo come J i altrimenti stop (c) a i = max[a i, max(a h + C h : J h J i )] (d) salta ad (1a) 2. modificare le deadlines (d i ) Sempre secondo il vincolo di precedenza J a J b si ha che { fa d a f a d b C b ossia d a d a = min(d a, d b C b ) Algoritmo (O(n 2 )) Figura 30: EDF*: deadlines dei tasks (a) Per ogni nodo terminale nel DAG delle precedenze d i = d i (b) Se esiste un task la cui deadline non è stata modificata, ma lo sono state tutte le deadline dei suoi immediati successori allora selezionarlo come J i altrimenti stop (c) d i = min[d i, min(d h C h : J i J h )] (d) salta ad (2a) Spring Algoritmo euristico di complessità n 2 25

26 3.2 Scheduling di task Periodici Concetti fondamentali Con la parola task, nel campo dei periodici, identifichiamo l intero ciclo di esecuzione mentre con la parola job identifichiamo il frammento di esecuzione i-esimo. Facciamo le seguenti assunzioni: Figura 31: Scheduling task periodici: tassonomia fondamentale 1. T i costante 2. C i costante 3. D i costante = T i 4. non ci sono né precedenze né risorse esclusive Che equivale a dire che, dato un task τ i (φ i, C i, T i ) r i,k = φ i + (k 1) T i d i,k = r i,k + T i = φ i + k T i 26

27 Altri parametri response time di un job R i,k = f i,k r i,k critical instant di un task: istante in cui il rilascio di un task produrrebbe il maggior tempo di risposta critical time zone di un task: intervallo fra il critical instant e il response time della corrispondente richiesta del task relative release jitter di un task: massima deviazione di start time di due job consecutivi RRJ i = max k (s i,k r i,k ) (s i,k 1 r i,k 1 ) absolute release jitter di un task: massima deviazione di start time fra tutti i job ARJ i = max k (s i,k r i,k ) min k (s i,k r i,k ) relative finishing jitter di un task: massima deviazione di finishing time di due job consecutivi RF J i = max k (f i,k r i,k ) (f i,k 1 r i,k 1 ) absolute finishing jitter di un task: massima deviazione di finishing time fra tutti i job AF J i = max k (f i,k r i,k ) min k (f i,k r i,k ) 27

28 3.2.2 RM Rate monotonic Ad ogni task è associata una priorità fissa proporzionale al suo rate (frequenza) Figura 32: Rate Monotonic: Diagramma di Gant preemptive: il task correntemente in esecuzione è interrotto dall arrivo di uno a più elevato rate Teorema 6 (Liv, Layland 73) dato un task set Γ, se RM non può schedulare Γ, allora nessun altro algoritmo a priorità fissa può farlo 28

29 3.2.3 Processor utilization factor (U) Ogni task utilizza la CPU per una frazione di tempo data da: per cui la misura di carico totale è U i = C i T i U = n i=1 C i T i Ovviamente se U > 1 CPU overloaded: Γ non schedulabile ma U 1 non è condizione sufficiente per garantire la schedulabilità di Γ tramite RM Figura 33: RM: U 1 ma Γ non schedulabile U 1 = 3 6 U 2 = 4 9 U = = < 1 Quindi, come volevasi dimostrare U 1, non è una condizione sufficiente per garantire la schedulabilità di Γ Utilization Upper Bound (U UB ) Figura 34: Utilization Upper Bound: Esempio U 1 = 3 6 U 2 =

30 U = U 1 + U 2 = = Se aumenta C 1 o C 2 allora τ 2 manca la deadline. Quindi possiamo dire che U U UB cioè che U trovato è il massimo fattore di utilizzo della CPU relativamente a quel task set e all algoritmo di scheduling utilizzato: U UB (Γ, A) quindi, dato un algoritmo A, se U > U UB (Γ, A) allora Γ non è schedulabile da A. Fissiamo A (l algoritmo di scheduling): UUB A (Γ). Sarebbe interessante sapere se esiste un UUB A più piccolo di tutti e per quale Γ esso si ottiene: U LUB A. Infatti { U A (Γ) ULUB A Γ certamente schedulabile da A U A (Γ) > U A LUB Nulla può dirsi Vediamo quanto vale U LUB per il Rate Monotonic: Teorema 7 (Liv,Layland 73) Il valore del Least Upper Bound per l algoritmo Rate Monotonic può essere espresso dalla seguente formula U RM LUB = n (2 1 n 1) dove n rappresenta il numero di task schedulati da Rate Monotonic lim U RM n + LUB(n) = ln (2) = 0, 69 30

31 Conclusioni Dato un task set Γ di n tasks da schedulare con priorità fissa, allora: 1. se è schedulabile da un qualche algoritmo, allora lo è sicuramente anche per RM 2. se U(Γ) U RM LUB allora Γ è sicuramente schedulabile da RM In pratica U(Γ) 0, 69 è una condizione sufficiente affinché il task-set sia schedulabile con RM (non esiste una condizione necessaria). Statisticamente anche task-set con U(Γ) = 0, 88 è schedulabile con RM. Figura 35: Significato grafico del fattore U LUB per RM 31

32 3.2.5 EDF Earliest Deadline First Si tratta di assegnare la CPU al job con la deadline assoluta più vicina dinamico la CPU può essere utilizzata al 100 % priorità dinamica Ricordando che enunciamo il seguente teorema: Teorema 8 (Liv, Layland 73) Figura 36: EDF: confronto con RM Γ schedulabile U(Γ) 1 U EDF LUB = 1 quindi, visto che EDF (priorità variabile) è migliore di RM (priorità fissa) nel senso di U LUB sarà migliore di tutti gli algoritmi a priorità fissa. 32

33 Esempio φ C T τ τ U = , 97 > ln(2) Figura 37: RM vs. EDF: scheduling secondo RM Caratteristiche di RM: Figura 38: RM vs. EDF: scheduling secondo EDF semplice da implementare più predicibile in caso di sovraccarico Il motivo per cui si studia ancora RM è dovuto al fatto che, nel caso reale, in cui si hanno task set con U > 1 ci saranno dei task che saranno comunque eseguiti: quelli con priorità fissa maggiore. Caratteristiche di EDF: più efficiente meno preemption EDF comporta meno preemption di RM visto che i task a priorità minore vengono interrotti meno volte da quelli a priorità maggiore. 33

34 3.2.6 Task periodici con D < T Figura 39: Task periodici con D < T DM Deadline Monotonic 1982 Ad ogni istante si seleziona il task con minore D (è molto simile a RM se si sostituisce D con T) P i 1 D i statico Esempio: τ 1 τ 2 C 2 3 D 3 6 T 10 8 Ridefiniamo U per DM: Figura 40: Deadline Monotonic: esempio U DM = n i=1 C i = 2 D i = 1, 16 > 1 6 cioè U DM sovrastima il carico di lavoro k Response time (R i,k = f i,k r i,k ) τ τ Per k = 1 (corrispondente all istante 5 della timeline di τ 2 ) si ha il critical instant: l istante in cui il rilascio del task produce il maggior tempo di risposta. 34

35 Calcolo delle interferenze L interferenza I i sul task τ i dovuta alla preemption dei tasks a maggiore priorità, può essere espressa attraverso la formula I i = D k <D i C k Per verificare dunque che R i D i si deve calcolare R i = C i + I i e dunque I i Figura 41: esempio di interferenza Definiamo interferenza di τ k su τ i nell intervallo [0, R i ] Ri I ik = C k dove l operazione x sta ad indicare il primo intero maggiore di x. Interferenze dei task a maggiore priorità su τ i i 1 I i = k=1 T k Ri T k C k quindi i 1 R i = C i + k=1 Ri T k C k 35

36 Esempio Deadline Monotonic Dato il set di task nella seguente tabella C T D Priorità τ Alta τ τ τ Bassa verificare che R 4 D 4 (è come verificare la schedulabilità visto che il task τ 4 è quello a minore priorità) Figura 42: esempio di calcolo delle interferenze: diagramma di Gant Cominciamo col cercare il tempo di risposta nel caso peggiore(naturalmente relativo al task a minore priorità): R 4 = C 4 + I 4 (1) con I 4 = 3 j=1 R4 T j C j = R4 T 1 C 1 + R4 T 2 C 2 + R4 T 3 C 3 (2) Facciamo partire l iterazione da I 4 = 0, calcoliamo R 4 con la (1) poi calcoliamo di volta in volta I 4 applicando la (2) e R 4 applicando la (1) iterazione I 4 R Stop Arrestiamo l iterazione perché gli ultimi due passi hanno prodotto gli I 4 36

37 uguali tra loro (e di conseguenza anche gli R 4 ) quindi la condizione è soddisfatta. (R 4 = 10) (D 4 = 10) Figura 43: esempio di calcolo delle interferenze: grafico interferenze/tempi di risposta Test di garanzia R i D i per tutti i tasks Algoritmo bool garantisci DM (Γ) { for (ogni τ i Γ) { I = 0; do { R = I + C i if(r > D i ) return false; i 1 I = R C j ; T j j=1 } while(i + C i > R); } return true; } 37

38 3.2.8 EDF* (EDF con deadlines <dei periodi) In questo tipo di algoritmo P i 1 d i sua deadline relativa ossia la priorità di un job dipende dalla Processor Demand : nell intervallo [t 1, t 2 ] è il tempo di computazione richiesto dai tasks iniziati a partire da t 1 che devono terminare per t 2 P D(t 1, t 2 ) = d k t 2 r k t 1 C k Figura 44: Processor Demand: esempio. I task che vengono considerati sono quelli che hanno sia la deadline che il tempo di arrivo all interno dell intervallo Ponendo φ i = 0 ossia sincronizzando l inizio dell intervallo con l arrivo del task Figura 45: Processor Demand: esempio con φ = 0 P D(0, L) = n L Di + T i C i i=1 dove x sta per parte intera di x. Il parametro L assume, nel corso dell analisi, il valore della deadline di ogni task T i 38

39 Processor Demand test: esempio 1 Verificare che L P D(0, L) L T C D τ τ τ Figura 46: Processor Demand test: esempio 1 P D(6) = P D(8) = P D(10) = P D(12) = = = = = 13 > 12 time overflow

40 Processor Demand test: esempio 2 (D < T ) T C D τ τ Figura 47: Processor Demand test: esempio 2 (D < T ) P D(3) = = P D(4) = = P D(7) = = P D(10) =... = 6 10 P D(11) =... = 7 11 P D(15) =... = 8 15 P D(16) =... = Visto che i task sono sincroni si può terminare l analisi all iperperiodo. Si può limitare ulteriormente il numero di intervalli su cui applicare l analisi di schedulabilità. Sia H = mcm(t 1,..., T n ) l iperperiodo e L = allora bisogna controllare che n i=1 (T i D i ) U i 1 U P D(0, L) L L {d k d k min(h, L )} 40

41 Figura 48: Esempio 2 di PDt: diagramma di raggiungibilità Conclusioni sullo scheduling dei periodici 41

42 D=T D <T RM DM Priorità Processor Statiche Utilization Response Time i 1 U n (2 1 Ri n 1) R i = C i + C j D i j=1 T j EDF EDF* Priorità Processor Processor Demand Dinamiche Utilization L > 0 n L Di + T i U 1 L C i i=1 T i Tabella 2: Algoritmi di scheduling per task periodici 3.3 Scheduling di task Ibridi (periodici e aperiodici) L obiettivo è quello di ridurre i tempi di risposta dei task aperiodici senza mettere a repentaglio la schedulabilità dei task periodici. Lo scheduling degli aperiodici può essere di due tipi: Hard lo scheduling degli aperiodici è garantito anche nel caso peggiore garanzia off-line solo per tasks sporadici (task con un tempo minimo di interarrivo) Soft lo scheduling degli aperiodici è eseguito ASAP (As Soon As Possible) garanzia on-line minimizza il tempo di risposta medio Fixed Priority Servers Si assumerà che: i tasks periodici siano schedulati con algoritmo a priorità fissa (tipicamente RM) i tasks periodici siano sincroni e con D = T non siano noti i tempi di arrivo dei task aperiodici 42

43 il tempo minimo di interarrivo di un task aperiodico coincida con la sua deadline relativa (gli aperiodici non si possono sovrapporre) 43

44 3.3.2 Background service L obiettivo è servire i tasks aperiodici quando non ci sono jobs da eseguire Esempio 1: Figura 49: Background Service. Principio di funzionamento T C τ τ a C J 2 3 Figura 50: Esempio 1: periodici schedulati secondo EDF; aperiodico non schedulato Figura 51: Esempio1: scheduling secondo Immediate Service 44

45 Figura 52: Esempio1: scheduling secondo Background Service. Si evita la deadline overflow presente nell immediate service (figura (51)) Considerazioni su Background Service Vantaggi: non influenza l esecuzione dei task periodici semplicità Svantaggi: se il fattore di utilizzo della CPU (U) dei periodici è elevato allora il tempo di risposta degli aperiodici può divenire inaccettabile BS è vantaggioso quando U è bassa C è bassa e T è alta 45

46 3.3.3 Servers per gli aperiodici Un server per aperiodici è un task periodico esso stesso. La periodica attività del kernel è dunque volta a controllare l esecuzione dei task aperiodici. Un server per aperiodici è caratterizzato da: Capacità del server (C) È il tempo di computazione che può mettere a disposizione dei task aperiodici che deve schedulare Periodo del server (T ) Visto che il server è un task periodico tale parametro caratterizza il task stesso La morale sembra essere: al fine di preservare i tasks periodici, per ogni T non devono essere eseguiti aperiodici per più di C Praticamente: Figura 53: Server per aperiodici. Principio di funzionamento il server è schedulato come un task periodico il server gestisce i suoi task aperiodici con una qualunque politica di scheduling I servers per gli aperiodici si distinguono in base all algoritmo di scheduling usato per i task periodici (ricordiamo che il server è trattato alla stessa stregua di un task periodico) Algoritmo di scheduling Algoritmi di scheduling dei task periodici dei task ibridi Priorità fissa (RM o DM) PS DS Priorità dinamica (EDF) TBS CBS Tabella 3: Algoritmi di scheduling per task ibridi Periodici a Priorità Fissa (RM o DM) Polling Server (PS) Defferable Server (DS) Periodici a Priorità dinamica (EDF) 46

47 Total Bandwidth Server (TBS) Constant Bandwidth Server (CBS) 47

48 3.3.4 PS Polling Server Esempio: C T τ τ server 2 5 Visto che il server ha un periodo minore di τ 2 e che nel polling server lo scheduling dei periodici avviene attraverso Rate Monotonic il server diventa prioritario sul task τ 2. Riscriviamo la tabella nel rispetto delle precedenze C T Priorità τ alta server τ bassa La tabella relativa ai task aperiodici è invece la seguente a C J J J J Figura 54: Polling Server. Diagramma di Gant relativo all esempio PS diviene attivo ogni T s con capacità di servizio C s se non ci sono aperiodici in coda allora C s è annullata in favore dei tasks periodici se un aperiodico arriva dopo che il server si è sospeso deve attendere la prossima attivazione Possiamo dire qualcosa di rilevante in alcuni istanti di tempo riguardo il server dell esempio 48

49 istante 1 Il server perde immediatamente (dopo averla acquisita) la possibilità di schedulare task aperiodici perché non ha jobs da schedulare istante 6 La capacità di servizio si è ridotta perché è stato servito un task aperiodico istante 11 La capacità di servizio non è stata sfruttata appieno e quindi persa istante 13 Ci sarebbe da servire un aperiodico ma il server non può perché ha perso la sua capacità di servizio all istante 11 non sfruttandola istanti La capacità di servizio viene mantenuta perché il task relativo al server è stato prelazionato dal task τ 1 (a rate maggiore) 49

50 Analisi di schedulabilità nel caso peggiore, PS si comporta come un task periodico con U s = Cs T s i server per task aperiodici possono essere più di uno (in generale m server di tipo PS con diversa priorità) cosicché il fattore di utilizzo da parte degli aperiodici diventa U s = m j=1 il fattore di utilizzo della CPU nei task set ibridi è dato dalla formula C j T j U ibridi = U s + U p dove U s è relativo agli m server dei task aperiodici mentre U p è relativo ai task periodici (il cui numero, in generale, è n) affinché il task set sia schedulabile si dovrà avere U p +U s U UB (n, m) come al solito ci interessiamo del fattore U LUB. Tenendo conto del fatto che i server non utilizzano al massimo la CPU possiamo scrivere [ ( ) 1 ] U RM+PS 2 n LUB (n) = U s + n 1 U s + 1 per n U RM+PS LUB ( ) 2 = U s + ln U s + 1 Figura 55: Funzione U RM+PS LUB 50

51 Test di schedulabilità: se U p + U s U RM+PS LUB allora il task set è sicuramente schedulabile. Possiamo dunque scrivere che ( ) 1 2 n U p n n U s + 1 Figura 56: Scelta di U s U s = C s T s 51

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione 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

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 14 - Thread in Java 1 Cos è un

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Corso di Matematica finanziaria

Corso di Matematica finanziaria Corso di Matematica finanziaria modulo "Fondamenti della valutazione finanziaria" Eserciziario di Matematica finanziaria Università degli studi Roma Tre 2 Esercizi dal corso di Matematica finanziaria,

Dettagli

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE In un mercato delle Telecomunicazioni sempre più orientato alla riduzione delle tariffe e dei costi di

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Sistemi Operativi Sincronizzazione tra Processi

Sistemi Operativi Sincronizzazione tra Processi Sistemi Operativi Processi Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega 1 Processi indipendenti possono avanzare concorrentemente senza alcun vincolo

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Progetto VirtualCED Clustered

Progetto VirtualCED Clustered Progetto VirtualCED Clustered Un passo indietro Il progetto VirtualCED, descritto in un precedente articolo 1, è ormai stato implementato con successo. Riassumendo brevemente, si tratta di un progetto

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

UNIVERSITA POLITECNICA DELLE MARCHE. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Informatica e dell Automazione.

UNIVERSITA POLITECNICA DELLE MARCHE. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Informatica e dell Automazione. UNIVERSITA POLITECNICA DELLE MARCHE Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Tesi di Laurea Progettazione e sviluppo di un modulo per il task-scheduling per il

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

La funzione è continua nel suo dominio perchè y = f(x) è composizione di funzioni continue. Il punto x = 0 è un punto isolato per D f.

La funzione è continua nel suo dominio perchè y = f(x) è composizione di funzioni continue. Il punto x = 0 è un punto isolato per D f. FUNZIONI CONTINUE - ALCUNI ESERCIZI SVOLTI SIMONE ALGHISI 1. Continuità di una funzione Dati un insieme D R, una funzione f : D R e x 0 R, si è detto che f è continua in x 0 se sono soddisfatte le seguenti

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it

Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it Corso di laurea magistrale in Ingegneria delle Telecomunicazioni Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it Trasmettitore

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1 LATCH E FLIPFLOP. I latch ed i flipflop sono gli elementi fondamentali per la realizzazione di sistemi sequenziali. In entrambi i circuiti la temporizzazione è affidata ad un opportuno segnale di cadenza

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

1 LA CORRENTE ELETTRICA CONTINUA

1 LA CORRENTE ELETTRICA CONTINUA 1 LA CORRENTE ELETTRICA CONTINUA Un conduttore ideale all equilibrio elettrostatico ha un campo elettrico nullo al suo interno. Cosa succede se viene generato un campo elettrico diverso da zero al suo

Dettagli

Dipendenza dai dati iniziali

Dipendenza dai dati iniziali Dipendenza dai dati iniziali Dopo aver studiato il problema dell esistenza e unicità delle soluzioni dei problemi di Cauchy, il passo successivo è vedere come le traiettorie di queste ultime dipendono

Dettagli

Analisi Costi e Benefici Laura Vici laura.vici@unibo.it LEZIONE 5

Analisi Costi e Benefici Laura Vici laura.vici@unibo.it LEZIONE 5 Analisi Costi e Benefici Laura Vici laura.vici@unibo.it LEZIONE 5 Rimini, 26 aprile 2006 1 The Inter temporal Effects of International Trade Valore in $ del consumo di beni oggi G D F H 1/(1+r) G Valore

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

UTILIZZO DEI METODI MULTICRITERI O MULTIOBIETTIVI NELL OFFERTA ECONOMICAMENTE PIÙ VANTAGGIOSA. Filippo Romano 1

UTILIZZO DEI METODI MULTICRITERI O MULTIOBIETTIVI NELL OFFERTA ECONOMICAMENTE PIÙ VANTAGGIOSA. Filippo Romano 1 UTILIZZO DEI METODI MULTICRITERI O MULTIOBIETTIVI NELL OFFERTA ECONOMICAMENTE PIÙ VANTAGGIOSA Filippo Romano 1 1. Introduzione 2. Analisi Multicriteri o Multiobiettivi 2.1 Formule per l attribuzione del

Dettagli

IT FINANCIAL MANAGEMENT

IT FINANCIAL MANAGEMENT IT FINANCIAL MANAGEMENT L IT Financial Management è una disciplina per la pianificazione e il controllo economico-finanziario, di carattere sia strategico sia operativo, basata su un ampio insieme di metodologie

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

ED. Equazioni cardinali della dinamica

ED. Equazioni cardinali della dinamica ED. Equazioni cardinali della dinamica Dinamica dei sistemi La dinamica dei sistemi di punti materiali si può trattare, rispetto ad un osservatore inerziale, scrivendo l equazione fondamentale della dinamica

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Dall italiano al linguaggio della logica proposizionale

Dall italiano al linguaggio della logica proposizionale Dall italiano al linguaggio della logica proposizionale Dall italiano al linguaggio della logica proposizionale Enunciati atomici e congiunzione In questa lezione e nelle successive, vedremo come fare

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

ESAME DI STATO 2002 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO

ESAME DI STATO 2002 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO ARCHIMEDE 4/ 97 ESAME DI STATO SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO Il candidato risolva uno dei due problemi e 5 dei quesiti in cui si articola il questionario. PROBLEMA In un

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

ESERCIZI DI ELETTROTECNICA

ESERCIZI DI ELETTROTECNICA 1 esercizi in corrente continua completamente svolti ESERCIZI DI ELETTROTECNICA IN CORRENTE CONTINUA ( completamente svolti ) a cura del Prof. Michele ZIMOTTI 1 2 esercizi in corrente continua completamente

Dettagli

Compressori serie P Dispositivi elettrici (PA-05-02-I)

Compressori serie P Dispositivi elettrici (PA-05-02-I) Compressori serie P Dispositivi elettrici (PA-05-02-I) 5. MOTORE ELETTRICO 2 Generalità 2 CONFIGURAZIONE PART-WINDING 2 CONFIGURAZIONE STELLA-TRIANGOLO 3 Isolamento del motore elettrico 5 Dispositivi di

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A. Università di Venezia Corso di Laurea in Informatica Laboratorio di Informatica Applicata Introduzione all IT Governance Lezione 5 Marco Fusaro KPMG S.p.A. 1 CobiT: strumento per la comprensione di una

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Il principio di induzione e i numeri naturali.

Il principio di induzione e i numeri naturali. Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

Sistemi 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

Dettagli

Sulla monotonia delle funzioni reali di una variabile reale

Sulla monotonia delle funzioni reali di una variabile reale Liceo G. B. Vico - Napoli Sulla monotonia delle funzioni reali di una variabile reale Prof. Giuseppe Caputo Premetto due teoremi come prerequisiti necessari per la comprensione di quanto verrà esposto

Dettagli

JOBS ACT : I CHIARIMENTI SUL CONTRATTO A TERMINE

JOBS ACT : I CHIARIMENTI SUL CONTRATTO A TERMINE Lavoro Modena, 02 agosto 2014 JOBS ACT : I CHIARIMENTI SUL CONTRATTO A TERMINE Legge n. 78 del 16 maggio 2014 di conversione, con modificazioni, del DL n. 34/2014 Ministero del Lavoro, Circolare n. 18

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

Process mining & Optimization Un approccio matematico al problema

Process mining & Optimization Un approccio matematico al problema Res User Meeting 2014 con la partecipazione di Scriviamo insieme il futuro Paolo Ferrandi Responsabile Tecnico Research for Enterprise Systems Federico Bonelli Engineer Process mining & Optimization Un

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Attività 9. La città fangosa Minimal Spanning Trees

Attività 9. La città fangosa Minimal Spanning Trees Attività 9 La città fangosa Minimal Spanning Trees Sommario la nostra società ha molti collegamenti in rete: la rete telefonica, la rete energetica, la rete stradale. Per una rete in particolare, ci sono

Dettagli

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati Tipologie di pianificatori Pianificazione Intelligenza Artificiale e Agenti II modulo Pianificazione a ordinamento parziale (POP) (HTN) pianificazione logica (SatPlan) Pianificazione come ricerca su grafi

Dettagli

WQuesto orologio è un modello a W onde radio che riceve le onde radio dell orario standard trasmesso in Germania.

WQuesto orologio è un modello a W onde radio che riceve le onde radio dell orario standard trasmesso in Germania. LQuesto orologio indica con il terminale più corto della lancetta dei secondi, il livello di ricezione e il risultato di ricezione. Lancetta dei secondi Lancetta dei minuti Lancetta delle ore Pulsante

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Il presente documento è conforme all'originale contenuto negli archivi della Banca d'italia

Il presente documento è conforme all'originale contenuto negli archivi della Banca d'italia Il presente documento è conforme all'originale contenuto negli archivi della Banca d'italia Firmato digitalmente da Sede legale Via Nazionale, 91 - Casella Postale 2484-00100 Roma - Capitale versato Euro

Dettagli

Preprocessamento dei Dati

Preprocessamento dei Dati Preprocessamento dei Dati Raramente i dati sperimentali sono pronti per essere utilizzati immediatamente per le fasi successive del processo di identificazione, a causa di: Offset e disturbi a bassa frequenza

Dettagli

Corso di Informatica Industriale

Corso di Informatica Industriale Corso di Informatica Industriale Prof. Giorgio Buttazzo Dipartimento di Informatica e Sistemistica Università di Pavia E-mail: buttazzo@unipv.it Informazioni varie Telefono: 0382-505.755 Email: Dispense:

Dettagli

Caratteristiche principali

Caratteristiche principali Il regolatore semaforico Hydra nasce nel 1998 per iniziativa di CTS Engineering. Ottenute le necessarie certificazioni, già dalla prima installazione Hydra mostra sicurezza ed affidabilità, dando avvio

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

GUIDA ALLA RELAZIONE CON I FORNITORI

GUIDA ALLA RELAZIONE CON I FORNITORI GUIDA ALLA RELAZIONE CON I FORNITORI Indice 1 Introduzione 2 2 Come ERA collabora con i fornitori 3 Se siete il fornitore attualmente utilizzato dal cliente Se siete dei fornitori potenziali Se vi aggiudicate

Dettagli

Limiti e forme indeterminate

Limiti e forme indeterminate Limiti e forme indeterminate Edizioni H ALPHA LORENZO ROI c Edizioni H ALPHA. Ottobre 04. H L immagine frattale di copertina rappresenta un particolare dell insieme di Mandelbrot centrato nel punto.5378303507,

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

VARIABILI E DISTRIBUZIONI DI FREQUENZA A.A. 2010/2011

VARIABILI E DISTRIBUZIONI DI FREQUENZA A.A. 2010/2011 VARIABILI E DISTRIBUZIONI DI FREQUENZA A.A. 2010/2011 1 RAPPRESENTARE I DATI: TABELLE E GRAFICI Un insieme di misure è detto serie statistica o serie dei dati 1) Una sua prima elementare elaborazione può

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

1 Il criterio Paretiano e la "Nuova economia del Benessere"

1 Il criterio Paretiano e la Nuova economia del Benessere 1 Il criterio Paretiano e la "Nuova economia del Benessere" 1.1 L aggregazione di preferenze ordinali inconfrontabili e il criterio di Pareto L aggregazione delle preferenze individuali è problematica

Dettagli

CS. Cinematica dei sistemi

CS. Cinematica dei sistemi CS. Cinematica dei sistemi Dopo aver esaminato la cinematica del punto e del corpo rigido, che sono gli schemi più semplificati con cui si possa rappresentare un corpo, ci occupiamo ora dei sistemi vincolati.

Dettagli

Analisi termografica su celle litio-ione sottoposte ad esperienze di "second life" Francesco D'Annibale, Francesco Vellucci. Report RdS/PAR2013/191

Analisi termografica su celle litio-ione sottoposte ad esperienze di second life Francesco D'Annibale, Francesco Vellucci. Report RdS/PAR2013/191 Agenzia nazionale per le nuove tecnologie, l energia e lo sviluppo economico sostenibile MINISTERO DELLO SVILUPPO ECONOMICO Analisi termografica su celle litio-ione sottoposte ad esperienze di "second

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Richiami: funzione di trasferimento e risposta al gradino

Richiami: funzione di trasferimento e risposta al gradino Richiami: funzione di trasferimento e risposta al gradino 1 Funzione di trasferimento La funzione di trasferimento di un sistema lineare è il rapporto di due polinomi della variabile complessa s. Essa

Dettagli

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 8// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x + x x x + x 8 x Base

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

Risposta sismica dei terreni e spettro di risposta normativo

Risposta sismica dei terreni e spettro di risposta normativo Dipartimento di Ingegneria Strutturale, Aerospaziale e Geotecnica Risposta sismica dei terreni e spettro di risposta normativo Prof. Ing. L.Cavaleri L amplificazione locale: gli aspetti matematici u=spostamentoin

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Regolamento Nazionale Specialità "POOL 8-15" ( Buche Strette )

Regolamento Nazionale Specialità POOL 8-15 ( Buche Strette ) Regolamento Nazionale Specialità "POOL 8-15" ( Buche Strette ) SCOPO DEL GIOCO : Questa specialità viene giocata con 15 bilie numerate, dalla n 1 alla n 15 e una bilia bianca (battente). Un giocatore dovrà

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Esercitazioni di Statistica

Esercitazioni di Statistica Esercitazioni di Statistica Test d ipotesi sul valor medio e test χ 2 di adattamento Prof. Livia De Giovanni statistica@dis.uniroma1.it Esercizio 1 Si supponga che il diametro degli anelli metallici prodotti

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Maggior Supporto. Enel Produzione SpA

Maggior Supporto. Enel Produzione SpA Enel Produzione SpA Concorso nazionale Le buone pratiche sulla manutnzione sicura Campagna Ambienti di lavoro sani e sicuri 2010-2011 Napoli, 27 Ottobre 2011 Villa Colonna Bandini Stefano Di Pietro Responsabile

Dettagli