SCHEDULING+ DELLA+CPU+

Documenti analoghi
SCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU

Criteri di Scheduling! Algoritmi di Scheduling! Scheduling per sistemi multprocessore!! Modelli Asimmetrico e Simmetrico! Processori Multicore!

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

Scheduling della CPU. Sistemi Operativi L-A AA

Sistemi Operativi SCHEDULING DELLA CPU

Scheduling della CPU

ESERCIZI SULLO SCHEDULING DEI PROCESSI

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi.

Capitolo 5 - Silberschatz

Scheduling della CPU

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

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Ordinamento dei processi

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

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

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

Architettura degli Elaboratori 2. tipi di scheduling. scheduling della CPU (1) scheduling. First Come First Served. First Come First Served

Sistemi Operativi 13 Novembre 2015

Sistemi Operativi Esercizi Ordinamento Processi

Sistemi Operativi A.A. 2010/2011

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

E-1: Scheduling dei processi

Scheduling della CPU

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU:

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

Scheduling. Livelli Algoritmi

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario

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

5.19! Silberschatz, Galvin and Gagne 2005! 0! 20! 37! 57! 77! 97! 117! 121! 134! 154! 162!

Multiprogrammazione. Sistemi Operativi Giuseppe Prencipe. Scheduling dei processi Scheduling. Sequenza di CPU e I/O burst.

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi

Scheduling della CPU. Sistemi operativi- AA 2015/16 1 1

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

Architettura degli Elaboratori 2

Scheduling della CPU

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

Scheduling della CPU. Capitolo 6 - Silberschatz

Scheduling. Lo scheduler è la parte del SO che si occupa di

Sistemi Operativi 20 giugno 2013 Compito B

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

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

Sistemi Operativi. 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. Scheduling dei processi

Processi e Thread. Scheduling (Schedulazione)

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

Appunti di Sistemi Operativi. Enzo Mumolo address web address :

coda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms

Sistemi Operativi. Bruschi Martignoni Monga. Scheduling. Sistemi batch SJF. Sistemi. interattivi Priority RR Code multiple Sistemi real-time Deadline

Lezione 5. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 5. Di cosa parliamo in questa lezione? La schedulazione dei processi. Schedulazione e caratteristiche dei processi.

Sistemi Operativi. Rappresentazione e gestione delle attività e della computazione: processi e thread

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

L ordinamento dei processi. Ordinamento dei processi. Fasi di ordinamento. Attribuzione della CPU 1. Materiale preparato da: A.

Sistemi Operativi. Scheduling dei processi

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

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Scheduling della CPU. I/O e CPU burst. Scheduler a breve termine. Dispatcher. Concetti base

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi 2003/2004. Lo scheduling dei processi

Sistemi Operativi. Schedulazione della CPU

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

Sistemi Operativi A.A. 2011/2012

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

Capitolo 6: CPU scheduling

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst!

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 21 settembre 2006

Scheduling della CPU. Concetti base. Criteri di Scheduling. Algoritmi di Scheduling

SISTEMI OPERATIVI. Schedulazione della CPU. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

La schedulazione. E.Mumolo

TERMINA ESECUZIONE A B =85 85 C =90 90 D = E = INIZIA ESECUZIONE

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo Sequenza alternata di CPU burst e di I/O burst.

Sebbene le durate varino secondo il processo e secondo il calcolatore, la curva di frequenza è simile a quella qui riportata.

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

Sistemi Operativi. Lezione 5 Lo scheduling

Assegnazione della CPU (CPU scheduling) Scheduling della CPU (1) CPU bursts (1) Scheduling della CPU (2)

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Il Sistema Operativo Ripasso

Lezione 16. Esercizio 2 (paginazione( di windows) di Linux) 1: soluzione. Esercitazione finale. 10 page faults 5 soft faults

Scheduling di processi: metriche, politiche e algoritmi

Lo scheduling. Tipici schedulatori

5. Scheduling della CPU. 5.1 Concetti Fondamentali Lo scheduler della CPU

5. Scheduling della CPU

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 25 settembre 2008.

Scheduling della CPU (2) CPU bursts (2)

Scheduling. Tipi di processi. Classi di scheduling. P1 (CPU bound) P2 /I/O bound) Scheduling a lungo termine. A. Ferrari

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi

Scheduling della CPU

Transcript:

SISTEMI&OPERATIVI& AA&2012&/&2013& SCHEDULING+ DELLA+CPU+ Obie2vi+» Introduzione&allo&scheduling&della&CPU& AspeCo&fondamentale&dei&sistemi&operaFvi& mulfprogrammaf&» Algoritmi&di&scheduling&della&CPU&» Criteri&per&la&scelta&degli&algoritmi&di&scheduling& della&cpu&per&parfcolari&sistemi& 2&

3& Alternanza+di+operazioni+della+ CPU+e+di+operazioni+di+I/O+ CPU burst I/O burst CPU burst I/O burst CPU burst I/O burst» L esecuzione&di&un& processo&è&una& alternanza&di&cpu$ burst&e&i/o$burst&» Durante&gli&I/O$burst& di&un&processo&la& CPU&è&inaLva& Possiamo& assegnare&alla&cpu& un&processo& pronto$ &scheduling+cpu& 4&

Durata+delle+sequenze+di+ operazioni+della+cpu+» Processi&CPU&bound& Pochi&CPU&burst&molto&lunghi&» Processi&I/O&bound& MolF&CPU&burst&di&breve&durata& 5& Scheduler+della+CPU+» Quando&la&CPU&è&inaLva&lo&scheduler&della&CPU& seleziona&un&processo&dalla&coda&dei&processi& pronf& La&coda&non&necessariamente&è&gesFta&con&poliFca& FIFO& Gli&elemenF&della&coda&sono&i&PCB&dei&processi& 6&

A2vazione+dello+ scheduling+» Lo&scheduling&si&aLva&quando& Un&processo&passa&dallo&stato&running&allo&stato& blocked&(i/o,&wait(),&ecc.)& Un&processo&passa&dallo&stato&running&allo&stato& ready$ Un&processo&passa&dallo&stato&blocked&allo&stato& ready&(completamento&i/o,&ecc.)& Terminazione&di&un&processo$ 7& Scheduling+con+o+senza+ prelazione+» Se&lo&scheduling&si$a9va$solo&al& passaggio&dallo&stato&running&allo&stato&blocked$ termine&di&un&processo& &allora&è&senza+prelazione&(nondpreempfve)&o& cooperafvo&» Se&lo&scheduling&si$a9va$anche&al& passaggio&dallo&stato&running&allo&stato&ready$ passaggio&dallo&stato&blocked&allo&stato&ready& &allora&è&con+prelazione&(preempfve)& 8&

Prelazione+» Il&sistema&operaFvo&può&far&rilasciare&la&CPU&ad& un&processo&per&consenfre&l avanzamento&di&un& altro&processo&» Cosa&succede&se&la&prelazione&avviene&& durante&una&chiamata&al&sistema& durante&l esecuzione&di&processi&cooperanf&che& elaborano&daf&condivisi& &Windows&3.x&e&Macintosh&fino&a&System&9&effeCuano& scheduling&senza&prelazione&& 9& Prelazione,+chiamate+di+ sistema+e+interruzioni+» Durante&l esecuzione&di&chiamate&al&sistema,&la& prelazione&può&essere&ritardata&» Durante&l esecuzione&di&interruzioni,&altre& interruzioni&potrebbero&essere&disabilitate& & &QuesF&meccanismi&non&sono&adaL&nel&caso&di& sistemi&real<=me&e&di&mul=elaborazione& 10&

Dispatcher+» Modulo&del&sistema&operaFvo&che&effeCua& Cambio&di&contesto& Passaggio&alla&modalità&utente& Salto&alla&istruzione&correCa&del&programma& 11& 12&

Criteri+relaFvi+alle+ prestazioni+del+sistema+» UFlizzo&del&processore& Percentuale&di&tempo&in&cui&il&processore&è&occupato&» Throughput& Numero&di&processi&completaF&per&unità&di&tempo& 13& Criteri+orientaF+all utente+++» Tempo&di&turnaround& Tempo&trascorso&fra&l avvio&di&un&processo&e&il&suo& completamento& Somma&di:&tempo$di$a@esa$ingresso$in$memoria,$ tempo$nella$coda$ready,$tempo$cpu$e$tempo$i/o&» Tempo&di&aCesa& Somma&degli&intervalli&di&tempo&nella&coda&ready&» Tempo&di&risposta& Tempo&trascorso&fra&una&richiesta&e&la&relaFva& risposta&in&sistemi&interalvi& 14&

Altri+criteri+orientaF+ all utente+» Prevedibilità& I&tempi&di&risposta&medi&dovrebbero&essere&sempre& gli&stessi&& &Si&può&oCenere&cercando&di&ridurne&la&varianza$ & &Gli&algoritmi&di&scheduling&sviluppaF&non& tengono&conto&di&questo&aspeco& 15& 16&

Confronto+degli+algoritmi+» Esempi&con&insiemi&di&processi&nella&coda&ready& con&relafvi&cpu&burst&» Prestazioni&misurate&in&termini&di&tempo$medio$ di$a@esa& In&molF&tesF&si&misura&il&tempo&di&turnaround$ considerando&la&somma&di&cpu&burst&e&tempo&medio& di&acesa& 17& First+Come,+First+Served+ (FCFS)+» I&processi&vengono&eseguiF&nello&stesso&ordine& con&cui&entrano&nella&coda&dei&processi&pronf&» Algoritmo&di&semplice&implementazione&» Il&tempo&di&aCesa&di&un&processo&dipende&dalla& durata&dei&processi&che&lo&precedono&nella&coda& Analogia&con&la&coda&alla&cassa&di&un&supermercato,& di&una&banca,&di&un&ufficio,&ecc.& 18&

Esempio+tempi+di+aMesa+ FCFS+ Processo CPU burst P 1 24 P 2 3 P 3 3» Se&i&processi&arrivano&nella&sequenza&& P 1 &P 2 &P 3 & P 2 &acende&24&ms&e&p 3 &acende&27&ms& &Tempo&medio&di&aCesa&17&ms& 19& Esempio+tempi+di+aMesa+ FCFS+ Processo CPU burst P 1 24 P 2 3 P 3 3» Se&i&processi&arrivano&nella&sequenza&& P 2 &P 3 &P 1 & P 3 &acende&3&ms&e&p 1 &acende&6&ms& Tempo&medio&di&aCesa&3&ms& 20&

Prestazioni+FCFS+» I&processi& CPU/bound sono&favorif& I&processi& I/O&bound devono&acendere&il& completamento&dei&processi& CPU/bound &» Basso&overhead&per&l esecuzione&dell algoritmo&» Non&si&ha&prelazione& InadaCo&per&sistemi&=me$sharing& 21& Shortest+Job+First+(SJF)+» L algoritmo&seleziona&il&processo&nella&coda&con& il&tempo&di&esecuzione&minore& shortest$next$cpu$burst& Processo CPU burst P 1 6 P 2 8 P 3 7 P 4 3 Tempo medio di attesa SJF 7 ms FCFS 10.25 ms 22&

Prestazioni+SJF+» Alto&throughput&» OLmale&rispeCo&al&tempo&medio$di&risposta& Ma&variabilità&elevata!& I&processi&più&lunghi&sono&penalizzaF&» Difficoltà&e&costo&computazionale&della&sFma& del&cpu&burst&successivo$ SJF&è&uFlizzato&in&scheduling&a&lungo&termine&per& elaborazione&batch& + Gli&utenF&indicano&il&tempo&max&di&esecuzione& 23& Predizione+CPU+burst+ τ i = α t i + (1 - α) τ i-1 Nell esempio α = 1/2 τ 0 = 10 24&

SJF+con+prelazione+ shortest'remaining'-me'first+» Un&processo&in&esecuzione&viene&prelazionato& se&il&cpu&burst&rimanente&è&maggiore&di&quello& di&un&nuovo&processo&aggiunto&alla&coda&ready& Processo Istante di arrivo CPU burst P 1 0 8 P 2 1 4 P 3 2 9 P 4 3 5 Tempo medio di attesa SJF con prel 6.5 ms SJF 7.75 ms 25& Scheduling+per+priorità+ Processo CPU burst Priorità P 1 10 3 P 2 1 1 P 3 2 4 P 4 1 5 P 5 5 2» Priorità&più&alta:&valore&0& Può essere con o senza prelazione Tempo medio di attesa 8.2 ms 26&

Definizione+del+valore+di+ priorità+» Interno& CPU&burst,&I/O&burst,&tempo&di&aCesa,&risorse& richieste,&file&aperf,&ecc.&» Esterno& Dipende&da&chi&ha&avviato&il&processo&» Pericolo&di&starva=on& Se&la&priorità&non&Fene&conto&del&tempo&di&aCesa& 27& Round'Robin' &Scheduling&circolare&» Ogni&processo&viene&assegnato&al&processore& per&un&quanto+di+tempo+» Se&CPU&burst&>&quanto&di&tempo& il&processo&viene&prelazionato&e&inserito&nella&coda& ready$» Tempi&medi&di&completamento&(turnoaround)& variabili&rispeco&al&valore&del&quanto$di$tempo&» Ideato&per&sistemi&interaLvi&=me<sharing& 28&

Esempio+Round'Robin+ Processo CPU burst P 1 24 P 2 3 P 3 3» Quanto&di&tempo&q&=&4ms& &Tempo$medio$di$a@esa$5.66$ms$ 29& Durata+del+quanto+di+tempo+ e+cambi+di+contesto+ 30&

Durata+del+quanto+di+tempo+ e+tempo+di+completamento++ Empiricamente 80% dei processi deve avere CPU burst di durata inferiore al quanto di tempo 31& Scheduling+a+code+mulFple+ All interno di ciascuna coda si usa l algoritmo più appropriato. 32&

Code+mulFple+con+ retroazione+ Ingresso coda ready Fine CPU burst CPU burst residuo Fine CPU burst CPU burst residuo Fine CPU burst 33& 34&

Dispatch+di+Solaris++ per+i+thread+intera2vi++ 35& Scheduling+di+Solaris+ 36&

Priorità+di+Windows+XP+ 37& Priorità+e+lunghezza+del+ quanto+di+tempo+in+linux+ 38&

39& Scheduling+dei+thread+» Modello&molF/a/molF&e&modello&molF/a/uno& Process<conten=on$scope$PCS& La&libreria&dei&thread&pianifica&l esecuzione&di&uno& dei&thread&a&livello&utente&e&lo&associa&a&un&lwp& System<conten=on$scope$SCS& La&pianificazione&dell esecuzione&dei&thread&a&livello& kernel&avviene&a&livello&globale&di&sistema&» Modello&uno/a/uno& Solo&SCS& & 40&

41& Soluzioni+di+scheduling+» Due&configurazioni& MulFelaborazione&asimmetrica& + Un&processore&è&il&master&che&esegue&il&sistema& operafvo,&mentre&gli&altri&processori&eseguono&solo& codice&utente& SMP&/&symmetric$mul=processing$ + Ciascun&processore&ha&uno&scheduler&che&seleziona& dalla&coda&il&processo&da&eseguire& Unica&coda&per&tuL&i&processori& Code&disFnte&per&ciascun&processore&(soluzione&più& diffusa)& 42&

Processor'affinity+» È&l assegnazione&permanente&di&un&processo&al& processore& La&migrazione&di&un&processo&da&un&processore&a&un& altro&implica&il&trasferimento&dei&daf&della&cache&& $SoI$affinity$ Il&sistema&operaFvo&non&garanFsce&il&mantenimento& di&un&processo&su&un&processore& $Hard$affinity& Il&sistema&operaFvo&garanFsce&la&proprietà& 43& NUMA+e+processor'affinity+ 44&

Bilanciamento+del+carico+» Il&sistema&operaFvo&può&verificare&che&il&carico& sia&distribuito&fra&tul&i&processori& Push$migra=on$ un&processo&controlla&il&carico&e&forza&la&migrazione& dei&processi&per&riequilibrio& Pull$migra=on$ un&processore&inalvo&socrae&un&processo&a&un& processore&sovraccarico& 45& Processori+mulFcore+» Evoluzione&dei&sistemi&mulFprocessore&» Ostacolo&all efficienza:&acesa&di&daf&dalla& memoria&(stallo$della$memoria)& 46&

Sistema+mulFcore+e+ mulfthread+» Thread$hardware$ consentono&di&alternare&l esecuzione&di& sequenze&di&istruzioni&di&thread&diversi& Il&sistema&operaFvo&vede&un&thread&hardware&come& un&processore&logico& &ad&es.,&con&due&core&e&due&thread&hardware&per&core& il&s.o.&vede&quacro&processori&logici& 47& MulFthreading+» Coarse<grain$mul=threading$ Un&thread&è&in&esecuzione&nel&processore&fino&al& verificarsi&di&un&evento&a&lunga&latenza& Il&cambio&di&thread&richiede&lo&svuotamento&della& pipeline&» Fine<grain$mul=threading$ Il&cambio&fra&thread&può&avvenire&anche&al&termine&di& un&ciclo&di&istruzione& è&necessaria&una&logica&dedicata$ 48&

Scheduling+in+sistemi+ mulfthreading+» A&livello&di&sistema&operaFvo& Scheduling&dei&thread&soqware&e&dei&processi&» A&livello&di&processore& Scheduling&dei&thread&hardware& 49& Virtualizzazione+e+ scheduling+» Algoritmo&di&scheduling&nel&sistema&operaFvo& della&macchina&virtuale&» Algoritmo&di&scheduling&della&CPU&fisica&da& parte&del&sistema&operafvo&ospitante&o& dell hypervisor& & &L esito&della&combinazione&di&quesf&due&livelli& dipende&dalla&tecnica&di&virtualizzazione& 50&

51& Modello+determinisFco+» Dato&un&insieme&di&processi&in&coda,&determinare&il& tempo&medio&di&acesa&(o&il&tempo&medio&di&turnaround)& per&ciascuno&dei&seguenf&algoritmi&di&scheduling& FCFS,&SJF&e&RR&(q&=&10&ms)& Processo CPU burst P 1 10 P 2 29 P 3 3 P 4 7 P 5 12 52&

ReF+di+code+» Modello&matemaFco& Coda&dei&processi&pronF& Code&di&I/O& Distribuzione&sequenze&istruzioni&CPU& Distribuzione&istanF&di&arrivo&processi&nel&sistema& 53& Simulazione+ 54&

Realizzazione+» Si&realizzano&diverse&versioni&del&sistema& operafvo&con&diversi&algoritmi&di&scheduling& 55&