capitolo 5: scheduling della cpu
TRANSCRIPT
![Page 1: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/1.jpg)
1
Capitolo Capitolo 5: Scheduling 5: Scheduling della della CPUCPU
5.2 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Capitolo Capitolo 5: Scheduling 5: Scheduling della della CPUCPU
n Concetti fondamentali
n Criteri di scheduling
n Algoritmi di scheduling
n Scheduling per sistemi multiprocessore
n Scheduling real-time
n Scheduling dei thread
n Esempi di sistemi operativi
n Scheduling dei thread in Java
n Valutazione degli algoritmi
![Page 2: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/2.jpg)
2
5.3 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Serie alternata di sequenze di operazioni Serie alternata di sequenze di operazioni della della CPU e CPU e di sequenze di operazioni di di sequenze di operazioni di I/OI/O
5.4 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Diagramma delle durate delle sequenze Diagramma delle durate delle sequenze di operazioni della di operazioni della CPUCPU
![Page 3: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/3.jpg)
3
5.5 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Predizione della lunghezza della successiva Predizione della lunghezza della successiva sequenza di operazioni della sequenza di operazioni della CPU (CPU (CPU burstCPU burst))
5.6 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Quanto di Quanto di tempo e tempo e cambio di contestocambio di contesto
![Page 4: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/4.jpg)
4
5.7 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Variazione Variazione del tempo del tempo di completamento di completamento in in funzione funzione del del quanto di quanto di tempotempo
5.8 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Scheduling a code multipleScheduling a code multiple
![Page 5: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/5.jpg)
5
5.9 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Code multiple con Code multiple con retroazioneretroazione
5.10 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
API API Pthread Pthread per lo schedulingper lo scheduling
#include <pthread.h>#include <stdio.h>#define NUM_THREADS 5int main(int argc, char *argv[ ]){
int i;pthread_t tid[NUM_THREADS];pthread_attr t_attr;/* ottiene gli attributi di default */pthread_attr_init(&attr);/* imposta l’algoritmo di scheduling a PCS o SCS */pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);/* imposta I criteri di scheduling - FIFO, RT, oppure ALTRO */pthread_attr_setschedpolicy(&attr, SCHED OTHER);/* genera i thread */for (i = 0; i < NUM_THREADS; i++)
pthread_create(&tid[i],&attr,runner,NULL);
![Page 6: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/6.jpg)
6
5.11 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
API API Pthread Pthread per lo schedulingper lo scheduling
/* adesso aspetta la terminazione di tutti i thread */
for (i = 0; i < NUM_THREADS; i++)pthread_join(tid[i], NULL);
}
/* Ogni thread inizia l’esecuzione da questa funzione */
void *runner(void *param){
printf("I am a thread\n");pthread_exit(0);
}
5.12 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Scheduling Scheduling di di SolarisSolaris
![Page 7: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/7.jpg)
7
5.13 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Tabella di Tabella di dispatch dispatch di di Solaris Solaris
5.14 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
PrioritPrioritàà di di Windows XPWindows XP
![Page 8: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/8.jpg)
8
5.15 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Relazione fra Relazione fra le le prioritprioritààe la e la lunghezza lunghezza del del quanto di quanto di tempotempo
5.16 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Liste dei Liste dei task task indicizzate indicizzate sulla sulla base base delle prioritdelle prioritàà
![Page 9: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/9.jpg)
9
5.17 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Valutazione di algoritmi di Valutazione di algoritmi di scheduling scheduling della della CPU CPU tramite una simulazionetramite una simulazione
5.18 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Tipica architettura Tipica architettura SMTSMT
![Page 10: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/10.jpg)
10
5.19 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Con Con ll’’algoritmo algoritmo FCFS i FCFS i processi si processi si eseguono secondo eseguono secondo lo schema lo schema seguenteseguente
5.20 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Con Con ll’’algoritmo algoritmo SJF SJF senza prelazione senza prelazione i i processi si eseguono processi si eseguono come seguecome segue
![Page 11: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/11.jpg)
11
5.21 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Con Con ll’’algoritmo algoritmo RR i RR i processi processi si eseguono si eseguono come segue come segue
5.22 Silberschatz, Galvin e Gagne ©2006Sistemi operativi - Concetti ed esempi -Settima edizione
Latenza relativa Latenza relativa al dispatchal dispatch
![Page 12: Capitolo 5: Scheduling della CPU](https://reader033.vdocumenti.com/reader033/viewer/2022041802/625435617a6b3543c02874e8/html5/thumbnails/12.jpg)
12
FineFine del del Capitolo Capitolo 55