La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

homepage PROCESSI STATI DI UN PROCESSO DESCRITTORE DI PROCESSO CONTEXT SWITCH SCHEDULING CLASSI DI SCHEDULING SCHEDULING DELLA CPU OBIETTIVI DELLO SCHEDULING.

Presentazioni simili


Presentazione sul tema: "homepage PROCESSI STATI DI UN PROCESSO DESCRITTORE DI PROCESSO CONTEXT SWITCH SCHEDULING CLASSI DI SCHEDULING SCHEDULING DELLA CPU OBIETTIVI DELLO SCHEDULING."— Transcript della presentazione:

1

2 homepage PROCESSI STATI DI UN PROCESSO DESCRITTORE DI PROCESSO CONTEXT SWITCH SCHEDULING CLASSI DI SCHEDULING SCHEDULING DELLA CPU OBIETTIVI DELLO SCHEDULING SWAPPING CLASSIFICAZIONE DELLE POLITICHE DI SCHEDULING POLITICHE DI SCHEDULING RICHIAMI PASSI DI SVILUPPO DELLARGOMENTO Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 LO SCHEDULING DEI PROCESSI FCFS SJF {SRTF} PRIORITÀ ROUND ROBIN RIEPILOGO RISULTATI ESERCIZI

3 PROCESSI homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

4 Processi Gli attuali calcolatori, diversamente da quanto avveniva una volta, consentono la multiprogrammazione, ossia lesecuzione concorrente di più programmi. Una tale caratteristica necessita di un efficiente sistema di gestione e di ripartizione delle risorse nonché di efficaci servizi di sistema e di controllo dei programmi. Alla base di questa tecnica vi è la suddivisione dei programmi in processi. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

5 Un processo è fondamentalmente un programma in fase di esecuzione; più propriamente, è lunità di lavoro elementare che il S. O. esegue sequenzialmente, secondo lordine specificato nel testo del programma. Un programma (codice binario su disco) di per sé non è un processo, ma unentità statica; a seguito del suo lancio, viene caricato in memoria centrale ed eseguito istruzione dopo istruzione. homepage Processi Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

6 Un processo è rappresentato da: codice (text) del programma dati: variabili globali del programma program counter: indirizzo della successiva istruzione alcuni registri di CPU stack: parametri e variabili locali di funzioni o procedure homepage Processi Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

7 STATI DI UN PROCESSO homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

8 Stati di un processo homepage Di un processo si può individuare uno stato puntuale, cioè una condizione in cui esso si viene a trovare in un dato momento del suo ciclo di vita: nuovo: il processo è stato creato pronto: il processo è pronto per lesecuzione in esecuzione: il processo è in esecuzione bloccato: il processo è in attesa di un evento terminato: il processo rilascia la risorsa processore Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

9 homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Stati di un processo Nuovo Pronto in esecuzione Terminato bloccato interruzione uscitaammissione attesa evento (es. I/O)evento verificato assegnazione Coda Pronti Code di Attesa

10 DESCRITTORE DI PROCESSO homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

11 Descrittore di processo homepage In un sistema multiprogrammato è necessario mantenere memorizzate le informazioni relative ai diversi stati in cui i processi vengono a trovarsi durante il loro ciclo di vita. Pertanto, ad ogni processo il S. O. associa una struttura dati, detta descrittore di processo o Process Control Block (PCB), nella quale vengono registrate una serie di informazioni utili per la gestione dello stesso processo. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

12 Descrittore di processo homepage Un PCB contiene: il nome del processo (PID) lo stato del processo il contenuto del program counter i valori di alcuni registri di CPU informazioni di scheduling informazioni per la gestione della memoria informazioni sulle operazioni di I/O informazioni di contabilizzazione ………………… Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

13 Descrittore di processo homepage Il S. O. gestisce i PCB di tutti i processi, disponendoli in strutture dati chiamate code; ogni coda contiene PCB caratterizzati dallo stesso stato: ready, waiting, … NOME STATO PROGRAM COUNTER REGISTRI DI CPU LIMITI DI MEMORIA FILE APERTI …………… PCB Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

14 CONTEXT SWITCH homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

15 Context switch homepage Il context switch (commutazione di contesto) è la fase in cui luso della CPU passa da un processo p i al suo successivo p i+1 In questo lasso di tempo il S. O. realizza, ordinatamente, le seguenti operazioni: Salvataggio dello stato del processo p i uscente Selezione del nuovo processo p i+1 Ripristino dello stato del processo p i+1 entrante Si modifica, in questo modo, il contesto in cui lavora il processore. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

16 Context switch homepage Il tempo utilizzato dal S. O. per le operazioni di context switch, in rapporto al time-slice (quanto di tempo di CPU), non deve essere causa di riduzione dellefficienza della CPU lunghi tempi di risposta A tal fine, il tempo di context switch non deve superare il 25% del time-slice (solitamente di circa 100 ms) Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

17 SCHEDULING homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

18 Scheduling Esempio sul significato del termine scheduling: – Alcuni giovani mirano ad avere un colloquio col manager di unazienda per ottenere un lavoro; sanno di dover contattare la sua segretaria e chiederle di stabilire un incontro. Costei, in base agli impegni assunti, fisserà un giorno, un luogo e unora per i colloqui di ogni aspirante; se, tuttavia, emerge chiaramente che non cè alcuna possibilità di lavoro, perché lazienda non ha la capacità o il bisogno di assumere nuovo personale, la segretaria bloccherà sul nascere ogni tentativo di incontro col manager. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

19 Scheduling Le scelte della segretaria dipendono da vari fattori: 1.lordine delle richieste pervenute 2.la prevista durata dei colloqui 3.la priorità associata a ciascuna richiesta 4.il numero di candidati che il manager può esaminare in un giorno … homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Manager SegretariaAspiranti al lavoro

20 Ebbene, lattività di selezione delle richieste degli aspiranti al lavoro svolta dalla segretaria, la quale gestisce lattività del manager secondo un preciso insieme di regole e priorità (politica), è proprio unattività di scheduling. Scheduling homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Aspiranti al lavoro = processi Manager = risorsa Segretaria = scheduler

21 Scheduling Lo scheduling è una tecnica di allocazione delle risorse utilizzata dai sistemi operativi, in ambienti multiprogrammati, per gestire le richieste derivanti da più processi che concorrono per il loro utilizzo. Esso mira a rendere il sistema efficiente produttivo rapido nelle risposte homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

22 CLASSI DI SCHEDULING homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

23 Classi di scheduling Nella gestione delle risorse di un elaboratore, il fattore tempo porta a definire una classificazione dello scheduling, ovvero ad identificare tre tipi di scheduling: Scheduling a breve termine Scheduling a medio termine Scheduling a lungo termine homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

24 Classi di scheduling Scheduling a breve termine: è adottato nella selezione del nuovo processo da eseguire, quando 1.il p. in esecuzione passa allo stato di attesa o ritorna allo stato di pronto oppure termina 2.un processo passa dallo stato di attesa allo stato di pronto 3.si verificano eventi particolari (interruput, chiamate al S. O.) homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Coda dei p. pronti Ammiss.Assegn. Coda dei p. bloccati Nuovo in esecuzione Pronto PCB Rilascio Terminato in attesa di evento Disk Posto su disco Evento verificato Sospensione Attivazione Bloccato Tempo scaduto ProcessoreUscita

25 Classi di scheduling Scheduling a medio termine: gestisce la permanenza in memoria dei processi non in esecuzione; in particolare, coordina le operazioni di trasferimento temporaneo dei processi in memoria secondaria (swap out): modifica la miscela dei processi in memoria centrale al fine di migliorare le prestazioni del sistema interviene nella gestione dei processi in attesa di eventi da lungo tempo homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

26 Classi di scheduling Scheduling a medio termine: homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Coda dei p. pronti Ammiss.Assegn. Coda dei p. bloccati Nuovo in esecuzione Pronto PCB Rilascio Terminato in attesa di evento Disk Posto su disco Sospensione Attivazione Bloccato Tempo scaduto ProcessoreUscita

27 Classi di scheduling Scheduling a lungo termine: è impiegato nella scelta dei programmi, presenti in memoria secondaria, da caricare in memoria centrale per la creazione dei corrispondenti processi; esso richiede tempi relativamente lunghi quando individua i programmi da ammettere allesecuzione regola la presenza in memoria centrale dei processi I/O bound e CPU bound controlla il livello di multiprogrammazione homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

28 Classi di scheduling - Schema homepage SCHEDULING A MEDIO TERMINE Suspend Exit SCHEDULING A LUNGO TERMINE Created Running Ready SCHEDULING A BREVE TERMINE Waiting Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

29 SCHEDULING DELLA CPU homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 CPU P3P3 P2P2 P1P1 P1P1 P2P2 P3P3 P3P3 P2P2 P3P3

30 Scheduling della CPU Lo scheduling costituisce una funzione fondamentale dei S. O., alla quale sono sottoposte quasi tutte le risorse di un elaboratore. In particolare, lo scheduling della CPU consiste nella scelta, da parte del S. O., del processo a cui assegnare la CPU e tiene conto del fatto che lesecuzione di un processo è una sequenza alternata di operazioni di CPU operazioni di I/O o attese di eventi homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

31 Scheduling della CPU Quando la CPU rimane inattiva, il process scheduler (modulo del kernel) seleziona dalla ready queue (coda dei processi pronti) il prossimo processo a cui assegnare la CPU e decide da quale momento e per quanto tempo farlo eseguire. Tuttavia, leffettiva assegnazione della CPU al processo prescelto per lesecuzione è affidata al dispatcher, modulo del kernel che gestisce il context switch il passaggio al modo utente il salto alla giusta posizione del programma utente (impostazione del program counter) homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

32 OBIETTIVI DELLO SCHEDULING homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

33 Obiettivi dello scheduling Gli algoritmi (o politiche) di scheduling della CPU basano le proprie scelte sulle informazioni contenute nei descrittori di processo (PCB) in riferimento ai seguenti obiettivi: massimizzare - il throughput (produttività) - lutilizzo della CPU (efficienza) minimizzare - loverhead (spreco di risorse) - il tempo di turnaround (completamento) - il tempo di risposta - il tempo di attesa garantire - fairness (equità) homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

34 massimizzare il throughput (numero di processi utente completati nellunità di tempo) massimizzare lattività della CPU (percentuale media di utilizzo della CPU nellunità di tempo) minimizzare loverhead (numero di processi di sistema completati nellunità di tempo) minimizzare il tempo di turnaround (tempo di permanenza di un processo nel sistema) minimizzare il tempo di risposta (tempo trascorso tra limmissione di un comando e lemissione della prima risposta) minimizzare il tempo di attesa (tempo totale trascorso da un processo nello stato di pronto) garantire Fairness (imparzialità nellattribuzione dei time-slice ai processi) homepage Obiettivi dello scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

35 Non potendo realizzare tutti gli obiettivi nello stesso tempo, ogni algoritmo di scheduling della CPU è finalizzato al raggiungimento di alcuni di essi. Tipicamente, nei sistemi batch (elaborazione a lotti) si cerca di massimizzare il throughput e di minimizzare loverhead. nei sistemi interattivi (tempi di risposta immediati) è essenziale minimizzare i tempi di risposta e di attesa dei processi. homepage Obiettivi dello scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

36 homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ping

37 Swapping Tutti i S. O., nel gestire le risorse di un elaboratore, sono orientati alla massimizzazione del throughput ( 1) e alla minimizzazione delloverhead ( 0). In questa ottica, il S. O. può decidere di porre alcuni processi in uno stato particolare: lo stato di sospensione. Può accadere, ad esempio, che la presenza in memoria centrale di processi I/O bound determini un forte calo della produttività del sistema siano presenti in memoria centrale dati e parti di codice non in esecuzione homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

38 Swapping Il S. O. può stabilire, allora, di scaricare temporaneamente (swap out) in unarea del disco riservata (area di swap) nel primo caso, alcuni dei processi I/O bound nel secondo caso, dati e parti di codice non coinvolte nellesecuzione homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

39 D Programma D Memoria centrale 0000x Programma A-1 Programma B-1 Programma Programma A-2 A-3 Programma A-3 Programma B-2 Disco: Area di Swap Swapping homepage Programma A-2 Programma Programma A-1 Swap out Swap in

40 CLASSIFICAZIONE DELLE POLITICHE DI SCHEDULING homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

41 In generale, le politiche di scheduling della CPU si differenziano in base a tre criteri di classificazione: senza prelazione/con prelazione senza priorità/con priorità statiche/dinamiche Gli algoritmi di scheduling, nellassegnare la CPU ai processi pronti, utilizzano opportune combinazioni di tali criteri, in base a precise strategie di gestione delle risorse. homepage Classificazione delle politiche Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

42 Politiche senza prelazione (non pre-emptive): una volta che la CPU è stata assegnata ad un processo, essa non può più essergli tolta se non quando il processo ha esaurito il suo tempo di servizio o necessita di un'operazione di I/O. Politiche con prelazione (pre-emptive): la CPU può essere forzatamente tolta al processo in corso di esecuzione per essere assegnata ad un altro processo. homepage Classificazione delle politiche Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

43 Politiche senza priorità: pongono i processi sullo stesso piano, dal punto di vista dellurgenza di esecuzione. Politiche con priorità: distinguono e suddividono in classi i processi in stato di pronto, a secondala della loro importanza o urgenza di esecuzione. Sono necessarie nei sistemi real-time e interattivi. homepage Classificazione delle politiche Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

44 Politiche statiche: un processo conserva nel tempo i suoi diritti di accesso allunità centrale (priorità). Politiche dinamiche: i processi modificano nel tempo i propri diritti di accesso allunità centrale. homepage Classificazione delle politiche Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

45 POLITICHE DI SCHEDULING FCFS: First Come First Served SJF: Shortest Job First (SRTF)SJF: Shortest Job FirstSRTF Per priorità Round Robin A code multiple homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

46 PPolitiche di scheduling FCFS: First Come First Served La CPU è assegnata ai singoli processi in base al loro ordine nella coda dei processi pronti (ready queue), stabilito in base al tempo di arrivo oppure dal numero identificativo (PID). La ready queue è gestita in modalità FIFO (First In First Out) al processo che giunge nella ready queue viene attribuito lultimo posto della coda la CPU è assegnata al processo situato alla testa alla ready queue homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

47 PPolitiche di scheduling La politica FCFS è senza prelazione: il processo in esecuzione trattiene la CPU sino al termine del suo tempo di servizio o fino a quando non necessita di unoperazione di I/O. tende a penalizzare i processi I/O bound e quelli di breve durata, poiché costretti a lunghe attese dietro processi CPU bound (effetto convoglio). prevede tempi di attesa molto variabili e generalmente lunghi. La gestione dei dispositivi è poco efficiente ed è adeguata per sistemi batch (mancanza di interattività). homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

48 Esempio 1: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling FCFS, trascurando i tempi relativi al context switch. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoTempo di servizio A03 B26 C44 D65 E82

49 homepage ProcessiTempo di attesaTempo di completamento A03 B17 C59 D712 E1012 Tempo medio di completamento: ( )/5 = 43/5 = 8,6 u. t. Tempo medio di attesa: ( )/5 = 23/5 = 4,6 u. t. Esempio 1 PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/ B A E D C T 0 8 Diagramma di Gantt Tempo di attesa Tempo di servizio FCFS

50 Esempio 2: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling FCFS, considerando che il tempo di context switch è pari a 1 PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoTempo di servizio A09 B21 C57 D83 E115

51 homepage ProcessiTempo di attesaTempo di completamento A110 B9 C815 D1316 E1419 Tempo medio di completamento: ( )/5 = 70/5 = 14 u. t. Tempo medio di attesa: ( )/5 = 45/5 = 9 u. t. Esempio 2 PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Tempo di context switch Diagramma di Gantt 2 B A E D C T Tempo di attesa Tempo di servizio FCFS 24 11

52 PPolitiche di scheduling SJF: Shortest Job First La CPU è assegnata al processo, tra quelli in stato di pronto, il cui intervallo di tempo previsto per lutilizzo della CPU è più breve (tempo di servizio più piccolo). Nel caso in cui più processi pronti presentino gli stessi tempi di servizio, la scelta viene fatta secondo la politica FCFS. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

53 PPolitiche di scheduling La politica SJF prevede due casi: SJF senza prelazione: il processo in esecuzione trattiene la CPU sino al termine del suo tempo di servizio o fino a quando non necessita di unoperazione di I/O. SJF con prelazione: se, ad un certo istante, nella coda dei processi pronti giunge un processo con un tempo di servizio più breve di quello che rimane (da completare) al processo in esecuzione, la CPU viene rilasciata e ceduta al processo appena arrivato (Shortest Remaining Time First = SRTF). homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

54 Esempio: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling SJF nei casi senza prelazione e con prelazione, includendo il tempo di context switch, pari a 1, nel caso senza prelazione. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoTempo di servizio A03 B26 C44 D65 E82

55 homepage ProcessiTempo di attesaTempo di completamento A14 B1723 C15 D712 E24 Tempo medio di completamento: ( )/5 = 48/5 = 9,6 u. t. Tempo medio di attesa: ( )/5 = 28/5 = 5,6 u. t. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Diagramma di Gantt SJF senza prelazione 3 2 B A E D C T 0 8 Tempo di context switch Tempo di attesa Tempo di servizio

56 homepage ProcessiTempo di attesaTempo di completamento A03 B713 C04 D914 E02 Tempo medio di completamento: ( )/5 = 36/5 = 7,2 u. t. Tempo medio di attesa: ( )/5 = 16/5 = 3,2 u. t. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/ B A E D C T 0 8 Diagramma di Gantt Tempo di attesa: Tempo di servizio: SJF con prelazione

57 PPolitiche di scheduling Scheduling per priorità A ciascun processo, in fase di generazione, viene attribuito un livello di priorità, espresso da un numero intero; convenzionalmente, allintero più piccolo corrisponde la priorità più elevata. Ebbene, nella politica di scheduling per priorità, la CPU è assegnata al processo, tra quelli in stato di pronto, che presenta la massima priorità. A parità di priorità, si ricorre alla politica FCFS homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

58 PPolitiche di scheduling La politica per priorità può essere: senza prelazione: il processo in esecuzione trattiene la CPU sino al termine del suo tempo di servizio o fino a quando non necessita di unoperazione di I/O. con prelazione: se nella coda dei processi pronti arriva un processo con priorità maggiore di quella del processo in esecuzione, questo rilascia la CPU, cedendola al processo appena arrivato. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

59 PPolitiche di scheduling Le priorità possono essere: definite dal S. O. (p. interna), secondo uno o più criteri: - limiti di tempo - requisiti di memoria - numero di file aperti - tipi di processo (CPU bound o I/O bound) ……… definite dallutente (p. esterna), secondo: - limportanza del processo - il tempo di esecuzione previsto ……… homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

60 PPolitiche di scheduling statiche: una volta stabilite, non variano nel tempo. dinamiche: variano nel tempo, secondo criteri prefissati, per evitare che alcuni processi possano essere bloccati per un tempo indefinito (starvation), a causa della costante presenza nella ready queue di processi a più elevata priorità. Una possibile soluzione allo starvation dei processi è data dalla procedura di aging (invecchiamento): la priorità di un processo può aumentare al crescere del suo tempo di attesa diminuire al crescere del tempo di CPU già utilizzato homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

61 Esempio: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo, priorità (statica) e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling per priorità, trascurando i tempi relativi al context switch. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoPrioritàTempo di servizio A0310 B011 C032 D041 E025

62 homepage ProcessiTempo di attesaTempo di completamento A616 B01 C 18 D 19 E16 Tempo medio di completamento: ( )/5 = 60/5 = 12 u. t. Tempo medio di attesa: ( )/5 = 41/5 = 8,2 u. t. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Priorità 1 B A E D C T 0 18 Diagramma di Gantt Tempo di attesa: Tempo di servizio:

63 PPolitiche di scheduling Round Robin La CPU viene assegnata, a turno, ad ogni processo, tra quelli in stato di pronto, per un certo periodo q di tempo massimo (time-slice o quanto di tempo). Se, alla fine di tale periodo, il processo in esecuzione non è terminato, esso viene ricondotto nella coda dei processi pronti, allultima posizione. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

64 PPolitiche di scheduling Round Robin La gestione a quanti di tempo è una variante della politica FCFS che introduce un limite superiore allintervallo di tempo nel quale un processo rimane in esecuzione; il quanto di tempo q può essere comune a tutti i processi oppure uno specifico parametro fissato nel PCB di ogni processo. Alla messa in esecuzione, il S. O. avvia un dispositivo timer con scadenza pari a q: trascorso lintervallo q, il timer genera uninterruzione che provoca il prerilascio della CPU. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

65 PPolitiche di scheduling La politica di scheduling Round Robin, progettata per i sistemi time-sharing, è con prelazione gestisce la ready queue in modo circolare (prelazione periodica) garantisce tempi di risposta bassi senza penalizzare lavanzamento di processi I/O-bound homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

66 PPolitiche di scheduling Il rendimento della politica Round Robin dipende molto dalla dimensione del time-slice: un time-slice troppo grande rischia di far tendere la politica Round Robin a quella FCFS. un time-slice troppo piccolo consente tempi di risposta brevi ma impegna eccessivamente la CPU per le operazioni di context switch, con conseguente calo della produttività e dellefficienza del sistema. Nei sistemi reali il valore del time-slice che garantisce buone prestazioni è compreso tra 20 e 50 millisecondi. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

67 Esempio: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling Round Robin (q=1), trascurando i tempi relativi al context switch. PPolitiche di scheduling Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoTempo di servizio A03 B26 C44 D65 E82

68 PPolitiche di scheduling Scheduling Round Robin (q=1) homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 READY QUEUECPUUNITÁ TEMPO A0 – 1 BA1 – 2 AB2 – 3 CBA3 – 4 CB4 – 5 DBC5 – 6 CDB6 – 7 EBCD7 – 8 DEBC8 – 9 CDEB9 – 10 BCDE10 – 11 EBCD11 – 12 DEBC12 – 13 CDEB13 – 14 BCDE14 – 15 BCD15 – 16 DBC16 – 17 DB17 – 18 D18 – 19 D19 – 20 Tempo medio di completamento: ( )/5 = 58/5 = 11,6 u. t. Tempo medio di attesa: ( )/5 = 38/5 = 7,6 u. t. Soluzione: (Produttività = 5/20 = 25%)

69 PPolitiche di scheduling Scheduling a code multiple La coda dei processi pronti è suddivisa in code distinte, ciascuna delle quali ha priorità più elevata rispetto alle successive. Ciascun processo viene posto permanentemente in una delle differenti code, in base a qualche sua caratteristica (tipo di processo, priorità, memoria richiesta, …), e potrà entrare in esecuzione solo quando le code a priorità maggiore saranno tutte vuote. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

70 PPolitiche di scheduling Schema a tre code multiple homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 1 PROCESSI DI SISTEMA PROCESSI INTERATTIVI PROCESSI BATCH CPU ALTA PRIORITÀ BASSA PRIORITÀ 2 3 Ogni coda ha il suo algoritmo di scheduling; ad esempio, Coda dei processi interattiviRound Robin Coda dei processi batchFCFS

71 PPolitiche di scheduling Dato che lapplicazione di questa politica di scheduling potrebbe bloccare indefinitamente un processo a bassa priorità, per il continuo arrivo di processi a più elevata priorità, è stato ideato un meccanismo correttivo, detto scheduling a code multiple con retroazione. Tale meccanismo consente ai processi lo spostamento dinamico fra le code, a più bassa o a più alta priorità, a seconda delle condizioni di retroazione prestabilite. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07

72 homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Esercizio 1: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling FCFS, trascurando il tempo di context switch. ProcessiTempo di arrivoTempo di servizio A13 B36 C54 D75 E92 Esercizi – FCFS

73 homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Esercizio 2: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling FCFS, prima trascurando il tempo di context switch e poi includendolo nel computo con valore 1. ProcessiTempo di arrivoTempo di servizio A19 B31 C57 D73 E95 Esercizi – FCFS

74 Esercizio 1: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling SJF nei casi senza prelazione e con prelazione, trascurando il tempo di context switch. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Esercizi – SJF ProcessiTempo di arrivoTempo di servizio A13 B36 C54 D75 E92

75 Esercizio 2: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling SJF nel caso senza prelazione, considerando il tempo di context switch pari a 1 Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Esercizi – SJF ProcessiTempo di arrivoTempo di servizio A13 B36 C54 D75 E92

76 Esercizio 1: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo, priorità (statica) e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling per priorità, trascurando il tempo di context switch. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoPrioritàTempo di servizio A033 B016 C034 D045 E022 Esercizi – Priorità

77 Esercizio 2: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo, priorità (statica) e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling per priorità senza prelazione, trascurando il tempo di context switch. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoPrioritàTempo di servizio A133 B316 C534 D745 E922 Esercizi – Priorità

78 Esercizio 1: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling Round Robin (q=2), trascurando il tempo di context switch. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Esercizi – Round Robin ProcessiTempo di arrivoTempo di servizio A13 B36 C54 D75 E92

79 Esercizio 2: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo e tempi di servizio riportati in tabella: homepage Calcolare i tempi medi di attesa e di completamento secondo la politica di scheduling Round Robin (q=3), trascurando il tempo di context switch. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Esercizi – Round Robin ProcessiTempo di arrivoTempo di servizio A19 B31 C57 D73 E95

80 Esercizio 1: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo, priorità (statica) e tempi di servizio riportati in tabella: homepage Trascurando il tempo di context switch, calcolare i tempi medi di attesa e di completamento secondo le politiche FCFS, SJF senza prelazione, per priorità e RR (q=2) senza priorità. Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoPrioritàTempo di servizio A048 B0210 C012 D054 E038 Esercizi di riepilogo

81 Esercizio 2: in un sistema vengono generati cinque processi (A, B, C, D, E) con tempi di arrivo, priorità (statica) e tempi di servizio riportati in tabella: homepage Trascurando il tempo di context switch, calcolare i tempi medi di attesa e di completamento secondo le politiche FCFS, SJF con e senza prelazione, RR (q=3) con e senza priorità prelazionata. Si dia precedenza ai processi usciti per time-out rispetto ai nuovi in arrivo Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 ProcessiTempo di arrivoPrioritàTempo di servizio A039 B241 C527 D813 E1155 Esercizi di riepilogo

82 GRIGLIA DI VALUTAZIONE ESERCIZI Risposta ai quesiti proposti minima parziale totale 0,5 1 2 Accuratezza/meticolosità risolutiva scarsa media elevata 0,5 1 2 Costruzione del diagramma di Gantt accennata 0,5 parziale 1 completa ma con errori 2 completa e senza errori 3 Correttezza di calcolo scarsa parziale buona 0,5 1 2 Originalità/creatività (colori/animazioni/…) nessuna buona pregevole 0 0,5 1

83 FCFS: Esercizio 1: t M (att.) = 4,6 u.t. – t M (compl.) = 8,6 u.t. Esercizio 2: t M (att.) = 7,2 u.t. – t M (compl.) = 12,2 u.t. Esercizio 2 (CS) : t M (att.) = 10,2 u.t. – t M (compl.) = 15,2 u.t. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Risultati degli esercizi SJF: Senza prelazione: t M (att.) = 3,6 u.t. – t M (compl.) = 7,6 u.t. Con prelazione: t M (att.) = 3,2 u.t. – t M (compl.) = 7,2 u.t. Senza prelaz. (CS) : t M (att.) = 5,6 u.t. – t M (compl.) = 9,6 u.t.

84 Priorità: Esercizio 1: t M (att.) = 8 u.t. – t M (compl.) = 12 u.t. Esercizio 2: t M (att.) = 3,6 u.t. – t M (compl.) = 7,6 u.t. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Risultati degli esercizi Round Robin: Time-slice=2 : t M (att.) = 5,6 u.t. – t M (compl.) = 9,6 u.t. Time-slice=3 : t M (att.) = 7,4 u.t. – t M (compl.) = 12,4 u.t.

85 Riepilogo Esercizio 1: FCFS: t M (att.) = 14 u.t. – t M (compl.) = 20,4 u.t. SJF senza prel. : t M (att.) = 8,8 u.t. – t M (compl.) = 15,2 u.t. Priorità: t M (att.) = 12,4 u.t. – t M (compl.) = 18,8 u.t. RR senza priorità: t M (att.) = 15,6 u.t. – t M (compl.) = 22 u.t. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Risultati degli esercizi

86 Riepilogo Esercizio 2: FCFS: t M (att.) = 6 u.t. – t M (compl.) = 11 u.t. SJF senza prel. : t M (att.) = 4,8 u.t. – t M (compl.) = 9,8 u.t. SJF con prel. : t M (att.) = 3,6 u.t. – t M (compl.) = 8,6 u.t. RR con priorità non prelazionata: t M (att.) = 8,2 u.t. – t M (compl.) = 13,2 u.t. RR con priorità prelazionata: t M (att.) = 7,8 u.t. – t M (compl.) = 12,8 u.t. homepage Corso di abilitazione in Informatica – Tesina di S. O. di G. Costa e M. Colella – Prof. A. Petrosino – a.a. 2006/07 Risultati degli esercizi


Scaricare ppt "homepage PROCESSI STATI DI UN PROCESSO DESCRITTORE DI PROCESSO CONTEXT SWITCH SCHEDULING CLASSI DI SCHEDULING SCHEDULING DELLA CPU OBIETTIVI DELLO SCHEDULING."

Presentazioni simili


Annunci Google