Processi e Thread. Scheduling (Schedulazione)



Похожие документы
Scheduling. Lo scheduler è la parte del SO che si occupa di

Lo scheduling. Tipici schedulatori

Corso di Informatica

Scheduling della CPU:

SCHEDULATORI DI PROCESSO

Sistemi Operativi SCHEDULING DELLA CPU

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

Scheduling della CPU

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

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

Lo schedulatore del kernel

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

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

Scheduling. Scheduling 14/12/2003 1/7

Lo scheduler di UNIX (1)

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

La schedulazione. E.Mumolo

Sistemi Operativi Kernel

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

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

Sistemi Operativi. Scheduling dei processi

Scheduling della CPU Simulazione in linguaggio Java

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

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

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

Architettura degli Elaboratori 2

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

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

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

Algoritmi di scheduling

Scheduling. Livelli Algoritmi

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

Sistema operativo: Gestione dei processi

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

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

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

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

Pronto Esecuzione Attesa Terminazione

Capitolo 6: CPU scheduling

La Gestione delle risorse Renato Agati

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

Esercitazione E1 Scheduling, deadlock, monitor

Processo - generalità

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

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

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Gestione della Memoria

Scheduling della CPU

Sistemi Operativi. Schedulazione della CPU

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

Gli stati di un processo

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

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

GESTIONE DEI PROCESSI

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

J. Assfalg Appunti di Sistemi Operativi

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. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

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

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

Sistemi Operativi (modulo di Informatica II) I processi

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

STRUTTURE DEI SISTEMI DI CALCOLO

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

5. Scheduling della CPU

Il memory manager. Gestione della memoria centrale

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

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

J. Assfalg Appunti di Sistemi Operativi

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

Scheduling della CPU (2) CPU bursts (2)

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

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

ESERCIZI SULLO SCHEDULING DEI PROCESSI

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

Corso di Sistemi di Elaborazione delle informazioni

Scheduling della CPU

Gestione della memoria centrale

Транскрипт:

Processi e Thread Scheduling (Schedulazione) 1

Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling ha impatto su: prestazioni percepite dagli utenti efficienza nell utilizzo delle risorse della macchina Lo scheduling ha obiettivi diversi in diversi sistemi (batch, interattivi ) 2

Introduzione al problema dello Scheduling (2) Obiettivi principali degli Algoritmi di Scheduling: Fairness (Equità) - processi della stesso tipo devono avere trattamenti simili Balance (Bilanciamento) - tutte le parti del sistema devono essere sfruttate (CPU, dispositivi ) Sistemi batch Throughput - massimizzare il numero di job completati in un intervallo di tempo Tempo di Turnaround - minimizzare il tempo di permanenza di un job nel sistema Sistemi interattivi Tempo di risposta - minimizzare il tempo di riposta agli eventi Proporzionalità - assicurare che il tempo di risposta sia proporzionale alla complessità dell azione richiesta 3

Introduzione al problema dello Scheduling (3) Due tipologie di processi : processi CPU-bound -- lunghi periodi di eleborazione fra due richieste successive di I/O processi I/O-bound -- brevi periodi di elaborazione fra due richieste successive di I/O Conviene dare priorità ai processi I/O-bound 4

Introduzione al problema dello Scheduling (4) P1" Lungo burst di CPU" Corto burst di CPU" Attesa completamento i/o" P2" tempo" Processi compute bound (P1) and I/O bound (P2) 5

Introduzione al problema dello Scheduling (5) P1" P2" tempo" Priorità ai compute bound 6

Introduzione al problema dello Scheduling (6) P1" P2" Priorità agli I/O bound tempo" il funzionamento del sistema è più bilanciato 7

Introduzione al problema dello Scheduling (7) Scheduling senza prerilascio lo scheduler interviene solo quando un processo viene creato, termina o si blocca su una SC Scheduling con prerilascio lo scheduler può intervenire ogni volta che è necessario per ottenere gli obiettivi perseguiti quando diventa pronto un processo a più alta priorità rispetto a quello in esecuzione quando il processo in esecuzione ha sfruttato la CPU per un tempo abbastanza lungo 8

Introduzione al problema dello Scheduling (8) Scheduling in sistemi batch SJF (shortest job first) Scheduling in sistemi interattivi Round Robin Code Multiple 9

Scheduling nei sistemi Batch (1) Un esempio di scheduling secondo la strategia che privilegia il job più corto (SJF Shortest Job First ) l insieme dei job da schedulare è noto all inizio si conosce il tempo di esecuzione T di ogni job i job sono schedulati in ordine di T crescente SJF minimizza il tempo di turnaround medio non c è prerilascio 10

Scheduling nei sistemi Batch (2) Perché SJF funziona? 4 job A,B,C,D con tempi di esecuzione a, b, c, d turnaround(a) -- a turnaround(b) -- a + b turnaround(c) -- a + b + c turnaround(d) -- a + b + c + d turnaround totale 4a + 3b + 2c + 1d minimo quando a,b,c,d sono in ordine crescente 11

Scheduling nei sistemi Batch (3) Tre livelli di scheduling 12

Scheduling nei sistemi Batch (4) Admission scheduler decide quali job (sottomessi, memorizzati su disco) ammettere nel sistema (viene creato il processo corrispondente) Memory scheduler i job ammessi devono essere caricati in memoria centrale prima di poter essere eseguiti se non tutti i job entrano in MC, il memory scheduler sceglie quali job caricare in memoria e quali tenere su disco (swapped out) CPU scheduler lo scheduler che abbiamo trattato finora 13

Scheduling nei sistemi Interattivi Scheduling Round Robin (1) (a) lista dei processi pronti (b) lista dei pronti dopo che B ha usato il suo quanto (quantum) di tempo 14

Scheduling Round Robin (2) Come fissare il quanto di tempo deve essere abbastanza lungo da ammortizzare il costo di un context switch (ordine 1 ms) deve essere abbastanza breve da permettere una risposta veloce agli utenti interattivi in sistemi reali tipicamente 20-120 ms RR non favorisce i processi I/O bound 15

Scheduling con priorità (1) Ogni processo ha una priorità Ogni volta va in esecuzione il processo a priorità più elevata Punti chiave : come assegnare le priorità (statiche, dinamiche ) come evitare attesa indefinita della CPU nei processi a priorità più bassa come individuare i processi I/O bound per elevare la loro priorità 16

Scheduling con priorità (2) Molte strategie per il calcolo della priorità Tipicamente : priorità dinamica (es. più elevata per i processi che passano da bloccato a pronto) legata alla percentuale f del quanto di tempo che è stato consumato l ultima volta che il processo è andato in esecuzione (es. proporzionale a 1/ f, favorisce i processi I/O bound) decrescente nel tempo per i processi che rimangono pronti (es. per impedire l attesa indefinita) 17

Scheduling con Code multiple (1) Esempio di algoritmo di scheduling a code multiple con 4 classi di priorità 18

Scheduling con Code multiple (2) Scheduling Round Robin all interno della classe con priorità più elevata I processi che usano tutto il quanto di tempo più di un certo numero di volte vengono passati alla classe inferiore Alcuni sistemi danno quanti più lunghi ai processi nelle classi basse (compute-bound) per minimizzare l overhead del cambio di contesto 19

Scheduling dei Thread (1) Lo scheduling dei thread utilizza algoritmi simili a quelli visti finora viene implementato in modo diverso nel thread a livello utente e a livello kernel 20

Scheduling dei Thread (2) Lo scheduling dei thread user level il SO non conosce l esistenza dei thread, quindi schedula i processi durante l esecuzione di un processo lo schedulatore della libreria dei thread decide quale thread mandare in esecuzione le interruzioni del clock non sono visibili allo schedulatore di livello utente lo schedulatore può intervenire solo se invocato esplicitamente (es. thread_yield) non c è prerilascio (all interno di un singolo processo) 21

Scheduling dei Thread (3) Lo scheduling dei thread kernel level il SO schedula i thread (non i processi) quando un thread si blocca il SO può decidere di mandare in esecuzione un altro thread di quel processo o un thread di un processo diverso può scegiere se pagare il cambio di contesto o no le interruzioni del clock permettono allo schedulatore di tornare in esecuzione alla fine del quento di tempo i quanti di tempo sono assegnati direttamente ai thread si può effettuare prerilascio 22