63
Sistemi Operativi Lezione 5 Lo scheduling

Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

Sistemi Operativi

Lezione 5

Lo scheduling

Page 2: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

2

Introduzione

• In ogni processo i burst di CPU si alternanocon i tempi di I/O

Page 3: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

3

Introduzione

• Processi CPU-bound• Alternano lunghe computazioni ad attività di I/O

relativamente poco frequenti

• Processi I/O-bound• Alternano brevi computazioni a frequenti attività di

I/O

• Migliorando le prestazioni delle CPU, i CPUburst diventano sempre più brevi

• I processi I/O-bound devono essere eseguitiogni volta che lo richiedono per poter tenereoccupati i dischi

Page 4: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

4

Introduzione

• Quando un processo esegue un I/O, vienemesso in wait (blocked) per non sprecaretempo di CPU

• Viene selezionato tra i processi ready unnuovo processo da eseguire• processi pronti per l’esecuzione

• Queste attività vengono svolte da unparticolare processo di sistema: lo scheduler

Page 5: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

5

Lo Scheduler

• Decisioni di schedulazione in occasionedi• Creazione di un processo

• Eseguire il padre o il figlio

• Terminazione di un processo• Chi eseguire se non sono rimasti processi

• Blocco in attesa di un I/O o di un evento• Processo collegato o un altro

• Interrupt di I/O• Processo interrotto o destinatario dell’interrupt

Page 6: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

6

Tipi di scheduling

• A lungo termine• Aggiunta di un nuovo processo

• A medio termine• Aggiunta di un processo a quelli in memoria (da

blocked a ready)

• A breve termine• Scelta del processo da eseguire (da ready a running)

• Di I/O• Scelta della richiesta di I/O da far servire da un

device

Page 7: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

Stati di un processo e scheduling

Page 8: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

8

Scheduling a Lungo Termine

• Determina i processi che possonoaccedere all’uso del sistema

• Controlla il livello di multiprogrammazione

• Più processi vengono ammessi nelsistema e minore sarà il tempo di CPU adisposizione di ciascun processo

Page 9: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

9

Scheduling a Medio Termine

• Componente della funzione di swapping

• Usato per controllare il livello dimultiprogrammazione

Page 10: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

10

Scheduling a Breve Termine

• Noto anche come dispatcher o CPUscheduler

• È lo scheduler eseguito più frequentemene• Invocato quando si verifica uno dei seguenti

eventi• Interrupt del Clock (50-60Hz)• Interrupt di I/O• Chiamate di sistema• Segnali

Page 11: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

11

Scheduling a breve termine

• Lo scheduler della CPU decide• quando eseguire un processo

• creazione di un nuovo processo• terminazione di un processo esistente• sospensione di un processo attivo• interruzione di un processo attivo• esaurimento del tempo assegnato

• quale processo eseguire• processo e/o thread

• per quanto tempo lasciarlo eseguire• prelazionabile o no

Page 12: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

12

Criteri per lo Scheduling a BreveTermine

• User-oriented• Tempo di Risposta

• Tempo che intercorre tra la generazione di unprocesso ed il primo output

• System-oriented• Throughput/Utilizzo

• Uso efficiente delle risorse del sistema

Page 13: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

13

Diagramma a code

Page 14: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

14

Criteri di scheduling

Per tutti: ottimizzare il tempo di attesa (waiting time)

Page 15: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

15

Categorie di Scheduling

• Preemptive• E` possibile sospendere momentaneamente il

processo in esecuzione per eseguire altri processi• Un processo esegue al piu` per un tempo massimo

prefissato• E` necessario l’interrupt di clock

• Non preemptive o run to completion• Il processo in esecuzione mantiene l’uso della

CPU sino alla naturale terminazione del burst• Terminazione del processo o richiesta di I/O• Non ci sono decisioni in corrispondenza degli interrupt di

clock

Page 16: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

16

First Come First Served

• Algoritmo non-preemptive

• Implementazione molto facile

• Average wait time molto variabile egeneralmente lontano dall’ottimo• Dipende dai tempi di esecuzione di chi è in

coda davanti a noi

• Da non usare in sistemi interattivi

Page 17: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

17

FCFS

0 5 10 15 20

1

2

3

4

5

Page 18: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

18

Shortest Job First

• Presuppone la conoscenza del tempo diesecuzione di ciascun processo

• Tutti i processi hanno uguale importanza• La CPU viene assegnata al processo col

tempo di esecuzione minore• Versione preemptive: shortest remaining time

next• All’arrivo di un nuovo job si rivaluta l’ordine e la

scelta corrente

• Garantisce il minimo tempo di risposta

Page 19: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

19

SJF

0 5 10 15 20

1

2

3

4

5

Page 20: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

20

Shortest Remaining Time

0 5 10 15 20

1

2

3

4

5

Page 21: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

21

SJF vs FCFS

sequenza di arrivocon FCFS:t_medio di turnaround è 14m

sequenza riordinatacon SJF:t_medio di turnaround è 11m

In generale, dati n programmi con t_exe = ai,T_medio = [na1 + (n-1)a2 + …+ an]/n

che risulta minimizzato se a1 < a2 < …< an

Page 22: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

22

SJF

• Problema: conoscere a priori i CPU burst deijob in esecuzione• Si usano statistiche sulle precedenti esecuzioni

• sia tn il tempo di esecuzione stimato• sia tn il tempo di esecuzione misurato

• sia tn+1 il nuovo valore aggiornato della stima• sia a un parametro per pesare la stima

• con a = _ in 3 esecuzioni il peso della stima iniziale è 1/8

nnn t taa )1(t 1 -+⋅=+

Page 23: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

23

Round Robin

• Preemptive• Ad ogni processo in attesa di esecuzione viene

assegnato un intervallo di tempo detto quanto• Terminato il quanto, il processo, se non ha

terminato la sua esecuzione, viene rimesso incoda

Page 24: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

24

RR

0 5 10 15 20

1

2

3

4

5

Page 25: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

25

Round Robin

• Problema: la dimensione del quanto di tempo

• Il quanto di tempo è “tempo sprecato” per ilcontext switch• Quanto di tempo troppo breve: scarsa efficienza

della CPU• lavoro utile vs amministrazione

• Quanto di tempo troppo lungo: RR degenera inFCFS

• degenerano le prestazioni

• Quanto di tempo poco più lungo del CPU burst• la prelazione si riduce, migliorando le prestazioni

Page 26: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

26

Scheduling con priorità

• RR non consente di effettuare distinzioni tra i processi

• Il modello è stato raffinato con l’introduzione delleclassi di priorità• SJF è un esempio di algoritmo con priorita`

Page 27: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

27

Scheduling con priorità

• Uno scheduler basa spesso le propriedecisioni in base alla priorità di unprocesso

• In un sistema esistono quindi più codedi processi suddivise per priorità

• I processi con bassa priorità possonosoffrire starvation

Page 28: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

28

Code con priorita`

Page 29: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

29

Scheduling con priorità

• Problema: la starvation dei processi abassa priorità

• Una soluzione a questo problema èdata dalla procedura di aging• La priorità assegnata ad un processo varia

nel tempo in funzione della suapermanenza nel sistema e del tempo diCPU consumato

Page 30: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

30

Scheduling dei thread

• Scheduling possibile per user-level thread• Quanto per processo 50 msec• Un thread esegue fino a che non cede volontariamente la CPU

perché il run-time non può interromperlo

Page 31: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

31

Scheduling dei thread

• Scheduling possibile per kernel-level threads• Quanto di tempo per processo 50 msec

• I thread vengono eseguiti in burst di CPU di 5 msec

Page 32: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

32

Scheduling dei thread

• Thread switch• A livello utente costa poche istruzioni• A livello kernel richiede un cambio della memoria e della

cache

• Blocco su I/O• A livello utente blocca l’intero processo• A livello kernel blocca il solo thread

• Decisioni di scheduling• A livello utente, ad hoc per l’applicazione• A livello kernel, al più sequenze di thread dello stesso

processo

Page 33: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

33

Scheduling in Unix

• Round-robin con multi-level feedback• Priorita` positiva per processi usente,

negativa per processi kernel• Sospensione dei processi

• Fine del quanto, attesa di un evento, presenza diproc. con priorita` "maggiore"

• S.O. mantiene info su processi perscheduling• Tempo nel sistema e in ready

Page 34: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

34

Lo scheduler in UNIX e` basato su una coda multilivello

Scheduling in Unix

Page 35: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

35

Scheduling in W2K

• Si schedulano i thread• Non i processi

• Non esiste un thread di sistema cheesegue lo scheduler

• Un thread entra in modalita` kernel edesegue lo scheduler quando• Si blocca su un evento• Segnala un oggetto• Il suo quanto e` finito

Page 36: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

36

Scheduling in W2K

Corrispondenza tra le priorita`di Win32 e quelle diW2K

thread utente

Page 37: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

37

Scheduling in W2K

32 livelli di priorita` per i thread

Page 38: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

Scheduling nei sistemi real-time

Page 39: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

39

Sistemi Real-Time

• La correttezza del sistema non dipende solodai risultati dei singoli processi ma anchedagli istanti di tempo in cui i risultati sonoprodotti

• I processi reagiscono ad eventi che siverificano nel mondo esterno

• Questi eventi si verificano in “tempo reale” e iprocessi devono essere in grado di gestirli intempo debito

Page 40: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

40

Sistemi Real-Time

• Controllo di esperimenti di laboratorio

• Sistemi per il controllo di processo

• Robot

• Controllo traffico aereo

• Telecomunicazioni

• Sistemi di controllo militari

• Sistemi multimediali

Page 41: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

41

Requisiti di un SO Real-Time

• Determinismo

• Prontezza

• User control

• Affidabilita`

Page 42: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

42

Requisiti: determinismo

• Tutte le operazioni svolte nel sistemadevono essere svolte in istanti di tempofissati e predeterminati oppure entrointervalli di tempo predeterminati

• L’intervallo di tempo richiesto dal SOper riconoscere un interrupt deveessere superiormente limitato• Max 1ms

Page 43: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

43

Requisiti: prontezza

• Deve essere possibile stabilire a prioridei limiti superiori a• Tempo speso dal SO per gestire

inizialmente un interrupt e iniziarel’esecuzione dell’handler

• Tempo speso dal SO per eseguirel’handler

• Effetto dell’annidamento degli interrupt

Page 44: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

44

Requisiti: controllo utente

• L’utente deve poter definire• Priorità dei processi

• Paging

• Quali processi devono risiederecostantemente in memoria

• Algoritmi di gestione del disco da utilizzare

• Diritti dei processi

Page 45: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

45

Requisiti: affidabilità

• Capacità di correggere un problema ominimizzare i suoi effetti mentre ilsistema continua la propria esecuzione

• Il degrado delle prestazioni può avereeffetti devastanti

Page 46: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

46

Proprietà caratteristiche

• Context switch molto veloce• Dimensioni del sistema contenute• Risposta molto veloce ad interrupt

esterni• Multitasking con primitive di IPC come

semafori, signals e eventi• File in grado di memorizzare grosse

quantità di dati ad alta velocità• Preemptive scheduling basato su

priorità

Page 47: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

47

Proprietà caratteristiche

• Minimizzazione degli intervalli di tempodurante i quali gli interrupt sonodisabilitati

• Possibilità di posticipare l’esecuzione diprocessi per quantità di tempodeterminate

• Allarmi e timeout speciali

Page 48: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

48

Scheduling di processi Real-Time

Solitamente inaccettabile

Page 49: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

49

Scheduling di processi Real-Time

Inaccettabile in caso di task non RT lenti

Page 50: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

50

Scheduling di processi Real-Time

Accettabile per sistemi poco esigenti

Page 51: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

51

Scheduling di processi Real-Time

Ritardi contenuti entro 100msec

Page 52: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

52

Scheduling basato su Deadline

• Le applicazioni real-time non devonoessere eseguite velocemente ma nelrispetto dei tempi imposti

• Un algoritmo di scheduling che dàpriorità ai processi con deadline piùvicina minimizza il numero di processi lacui deadline non viene rispettata

Page 53: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

53

Scheduling basato su Deadline

• Esempio• Si consideri un sistema soft real-time caratterizzato

da tre eventi periodici rispettivamente con periodo100, 200, 500 ms

• Ciascuno richiede l’intervento della CPU per 50, 30,100 ms, rispettivamente

• È possibile ottenere uno scheduling di taliprocessi?

• Se aggiungiamo un processo con periodo 1s, qualicaratteristiche deve possedere per poter essere asua volta schedulato?

Page 54: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

54

Scheduling basato su Deadline

• Sistemi real-time in cui la schedulazioneè possibile• Dati

• m eventi periodici

• L’evento i si verifica con periodo Pi e richiede Ci

tempo di CPU

• Il carico può essere gestito solo se

1m

i

i = 1i

CP

£Â

Page 55: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

55

Erlieast Deadline First Scheduling

• Algoritmo dinamico e con prelazione• Adatto a processi non periodici• I CPU burst di un processo possono essere

diversi tra loro• Lo scheduler tiene una coda ordinata in base

alle deadline ed esegue il processo con ladeadline più prossima• Dati due processi con uguale deadline, uno in

esecuzione e l’altro ready, si lascia proseguirequello in esecuzione per minimizzare l’overhead

Page 56: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

56

Deadline Scheduling

• Informazioni usate• Ready time• Starting deadline• Completion deadline• Processing time• Resource requirements• Priority• Subtask scheduler

Page 57: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

57

Rate Monotonic Scheduling

• Assegna priorità ai processi sulla basedella loro periodicità

• I processi con maggiore priorità sonoquelli con frequenza di esecuzionemaggiore• Periodo minore

Page 58: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

58

Scheduling in sistemi real-timeRMS

A: t_exe = 10ms, periodo = 30ms, priorità = 33B: t_exe = 15ms, periodo = 40ms, priorità = 25C: t_exe = 5ms, periodo = 50ms, priorità = 2010/30 + 15/40 + 5/50 = 0.808 < 1 -> processi schedulabili

Page 59: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

59

Scheduling in sistemi real-timeRMS

Sequenza generata da RMS

Page 60: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

60

Scheduling in sistemi real-timeEDF vs RMS

Page 61: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

61

Scheduling in sistemi real-timeEDF vs RMS

T_exeA = 15mssistema schedulabile (1/2 + 3/8 + 1/10 = 0.975 < 1)

Page 62: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

62

Scheduling in sistemi real-time

• RMS fallisce perché considera solo il periodo,non il tempo di esecuzione

• L’uso di priorità statiche funziona solo sel’utilizzo della CPU non è troppo alto

• EDF funziona sempre per qualunque insiemedi processi schedulabili e può raggiungere unutilizzo di CPU pari a 1

1

m(21/m – 1)

m

i

i i

CP=

£Â

Page 63: Sistemi Operativi - unimi.ithomes.di.unimi.it/sisop/lucidi/Solez5-0203.pdf · Sistemi Operativi Corso di laurea in Informatica 39 Sistemi Real-Time •La correttezza del sistema non

AA 2002/03©Bruschi, Rosti

Sistemi OperativiCorso di laurea in Informatica

63

Scheduling in sistemi real-time

• Tutte le considerazioni sinora svolte hannoassunto un tempo di context switch pari a 0

• Il tempo di context switch dei sistemi generalpurpose è molto lontano da tale valore

• Rispetto a questi, i sistemi real-timenecessitano di:• Gestione di interrupt veloci• Context switch rapidi• Intervalli molto brevi di disabilitazione degli

interrupt