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



Documenti analoghi
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

Sistemi Operativi SCHEDULING DELLA CPU

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

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

Scheduling della CPU:

Scheduling della CPU

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

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

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

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

La schedulazione. E.Mumolo

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

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

Lo scheduling. Tipici schedulatori

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

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

Corso di Informatica

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

6 CPU Scheduling. 6.1 Concetti Fondamentali dello Scheduling della CPU. 6.1 Concetti Fondamentali

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

Processi e Thread. Scheduling (Schedulazione)

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher

Sistemi Operativi. Scheduling dei processi

Un sistema operativo è un insieme di programmi che consentono ad un utente di

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

Scheduling della CPU

Scheduling. Scheduling 14/12/2003 1/7

Capitolo 6: CPU scheduling

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

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

Sistemi Operativi Kernel

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

Scheduling. Livelli Algoritmi

Scheduling della CPU Simulazione in linguaggio Java

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

SCHEDULATORI DI PROCESSO

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

Sistemi Operativi. Schedulazione della CPU

Algoritmi di scheduling

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

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

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

Lo schedulatore del kernel

Architettura degli Elaboratori 2

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

Scheduling della CPU

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

5. Scheduling della CPU

Processo - generalità

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

Pronto Esecuzione Attesa Terminazione

Scheduling della CPU (2) CPU bursts (2)

Scheduling della CPU

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

ESERCIZI SULLO SCHEDULING DEI PROCESSI

Tecniche Automatiche di Acquisizione Dati

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

Gli stati di un processo

J. Assfalg Appunti di Sistemi Operativi

Esercitazione E1 Scheduling, deadlock, monitor

Lo scheduler di UNIX (1)

1.5: Gestione dei Processi e della CPU

Sistemi Operativi A.A. 2011/2012

Mul&programmazione. Ges&one dei processi. Esecuzione parallela. MAC OSX Monitoraggio a9vità. Linux System monitor. Windows Task Manager. A.

La Gestione delle risorse Renato Agati

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

SCHEDULING DEI PROCESSI

Il Sistema Operativo

GESTIONE DEI PROCESSI

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

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

Scheduling della CPU

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Introduzione ai sistemi operativi

Calcolatori Elettronici A a.a. 2008/2009

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Capitolo 5 - Silberschatz

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Coordinazione Distribuita

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

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Algoritmi di scheduling - Parte 2

Il software. la parte contro cui si può solo imprecare. Il software

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Sistemi Operativi 2003/2004. Lo scheduling dei processi

Trasparenze del Corso di Sistemi Operativi

Sistema operativo: Gestione dei processi

Logout... A utorizzazioni Eserc itazioni cambia. password... Esercitazione. Rispondere alle seguenti domande reltive ai Processi Software:

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Sistemi Operativi a.a Esercizi - 2

Scheduling della CPU

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

Transcript:

Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere tale obbiettivo ogni CU viene assegnata a più task (i.e., processo o thread) Lo scheduler (e il dispatcher) devono decidere a quale task assegnare la CU L obiettivo è ottimizzare le prestazioni ovvero minimizzare una opportuna funzione di costo Valori medi vs valore migliore, peggiore o varianza Concetti fondamentali La CU viene assegnata a un task Qualora Il processo si blocchi o termini, venga creato un nuovo processo, venga ricevuto un interrupt, etc. è necessario effettuare un context switching er ogni context switching Il task in running viene spostato nella coda di ready Un task nella coda di ready viene spostato allo stato di running Concetti fondamentali Ambienti diversi richiedono algoritmi di scheduling e obiettivi (funzioni di costo) diverse Classificazione degli algorimi di scheduling Senza (non preemptive) La CU non può essere sottratta a un task In alternativa, il task può rilasciare la CU volontariamente (e.g., I/O) Con (preemptive) La CU può essere sottratta al task durante la sua esecuzione In alternativa, si possono definire dei CU burst (tempi di esecuzione massimi) Scheduling in ordine di SJF (Shortest Job First) Scheduling per brevità S (riority Scheduling) Scheduling per priorità RR (Round Robin) Scheduling circolare MQS (Multilevel Queue Scheduling) Scheduling a code multi-livello Algoritmi Obiettivi Criterio Descrizione Ottimo Utilizzo della CU (CU utilization) roduttività (Throughput) di completamento (Turnaround time) d attesa (Waiting time) di risposta (Response time) La CU dovrebbe essere più attiva possibile (0-100%) Numero di processi completati nell unità di tempo che trascorre dalla sottomissione al completamento di un totale passato da un /T nella coda ready (somma dei tempi di attesa) intercorso tra la prima richiesta e la prima risposta prodotta Massimo Massimo ag. 1 1

La CU è assegnata ai task seguendo l ordine con cui la richiedono Nessun task viene interrotto durante la sua esecuzione, ovvero la CU può solo essere rilasciata volontariamente 1 0 24 2 0 0 Ordine di ( 1, 2, ) e durata 1 (0-0) = 0 2 (24-0) = 24 (27-0) = 27 (0+24+27)/=17 1 2 0 24 27 0 Carta di Gantt 2 0 0 1 0 24 Ordine di ( 2,, 1 ) e durata 2 1 1 6 2 0 (6+0+)/= Molto meglio del precedente regi Facile da comprendere Facile da implementare Utilizza una coda FIFO Effettua la gestione dei task mediante inserzioni in coda ed estrazioni in testa Effetto convoglio Task brevi in coda di task lunghi attendono molto tempo inutilmente 0 6 La differenza tra queso e il 0 precedente scheduling mostra un effetto convoglio... A ogni task viene associata la durata della sua prossima richiesta (next CU burst) I task vengono schedulati in ordine di durata della loro prossima richiesta Esistono due schemi Senza Con SRTF (Shortest Remaining First) Se viene sottomesso un processo con burst più breve di quello in esecuzione la CU viene prelazionata 1 0 7 2 2 4 4 1 4 5 4 1 SJF senza 1 (0-0) = 0 2 (8-2) = 6 (7-4) = 4 (12-5) = 7 (0+6++7) / 4 = 4 2 4 0 7 8 12 16 ag. 2 2

1 0 7 2 2 4 4 1 4 5 4 1 2 SJF con 1 (0-0)+(11-2) = 9 2 (2-2)+(5-4) = 1 (4-4) = 0 4 (7-5) = 2 (9+1+0+2) / 4 = 2 4 1 0 2 4 5 7 11 16 regi Si può dimostrare che SJF rende minimo il tempo di attesa medio È ottimo (utilizzando il tempo di attesa come criterio) Difficoltà di applicazione derivata dall impossibilità di conoscere a priori il comportamento futuro Il tempo del burst successivo è ignoto È possibile effettuare delle stime utilizzando diversi criteri, tra i quali la media esponenziale Media esponenziale n+1 = t n + (1 - ) n Valore previsto per il successivo burst Durata n-esimo burst Stima precedente = [0, 1] controlla il peso relativo storia recente vs passata = 0 n+1 = n = 1 n+1 = t n rocedendo per sostituzione n+1 = t n +(1- ) t n-1 +.. +(1- ) j t n-j +...+ (1- ) n+1 0 Dato che sia che 1- sono minori di 1, ogni termine successivo ha un peso minore S (riority Scheduling) A ogni processo viene associata la sua priorità La priorità può esssere rappresentata mediante valori interi riorità maggiore = intero minore La CU viene allocata al processo con la priorità maggiore S = SJF con la durata del CU burst sostituita dalla priorità Anche in questo caso esistono due schemi Senza Con S (riority Scheduling) S (riority Scheduling) riorità 1 0 10 2 0 1 1 0 4 2 4 0 5 1 5 0 2 5 S senza 1 (6-0) = 6 2 (0-0) = 0 (16-0) = 16 4 (18-0) = 18 5 (1-0) = 1 (6+0+16+18+1) / 5 = 8.2 Attesa indefinita, ovvero starvation rocessi con bassa priorità attendono per sempre Soluzione Invecchiamento (aging): la priorità viene incrementata con il passare del tempo 5 1 2 4 0 1 6 16 18 19 ag.

RR (Round Robin) rogettato appositamente per sistemi time sharing Corrisponde a FCFS con la possibilità di commutare tra i vari processi L utilizzo della CU viene suddivisa in "time quantum" (porzione temporale) Ogni task riceve la CU per un tempo massimo pari al quantum e poi viene inserito nuovamente nella ready queue La ready queue è gestita con modalità FIFO 1 0 5 2 0 17 0 68 4 0 24 Quantum: 20 unità (81+20+94+10) / 4 = 81,25 RR (Round Robin) 1 (0-0)+(77-20)+(121-97)=81 2 (20-0)=20 (7-0)+(97-57)+(14-117)=94 4 (57-0)+(117-77)+(154-121)=10 1 2 4 1 4 1 0 20 7 57 77 97 117 121 14 154 162 RR (Round Robin) Notevole dipendenza delle prestazioni dalla durata del quanto di tempo Quantum lungo: RR degenera in FCFS Quantum corto: vengono effettuati troppi context switching e i tempi di commutazione/gestione risultano molto elevati MQS (Multilevel Queue Scheduling) Scheduling adatto a situazioni in cui i task si possono classificare in gruppi diversi Task in foreground, background, etc. Task di sistema, interattivi, batch, studenti, etc. La ready queue viene suddivisa in code diverse Ogni coda può essere gestita con il proprio algoritmo di scheduling uò essere modificato per permettere il trasferimento dei task tra le varie code MSQ con retroazione Considerazioni aggiuntive Scheduling dei thread Il SO non è a conoscenza dei T a livello utente (gestiti da una libreria) e quindi non se ne occupa a livello di scheduling Se il sistema prevede T a livello kernel lo scheduling viene effettuato a livello di thread Considerazioni aggiuntive Scheduling per sistemi multiprocessori Tutte le esemplificazioni precedenti sono state fatte supponendo l esistenza di una sola CU Nel caso siano disponibili più unità elaborative il carico può essere distribuito Esistono diversi schemi Multi-elaborazione asimmetrica: un processore master distribuisce il carico tra i processori server Mullti-elaborazione simmetrica: ciascun processore provvede al proprio scheduling ag. 4 4

Considerazioni aggiuntive Scheduling per sistemi real-time Tentano di rispondere in tempo reale al verificarsi di eventi Gli eventi guidano il comportamento dello scheduling Si definisce latenza il tempo che intercorre tra il verificarsi dell evento e la sua gestione Esistono due tipi di sistemi real-time Real-time soft Danno priorità ai processi critici ma non garantiscono le tempistiche di risposta Real-time hard Si garantisce l esecuzione dei task entro un tempo massimo limite ag. 5 5