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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Sistemi Operativi Giuseppe Prencipe Scheduling della CPU Multiprogrammazione Obiettivi (????) Avere sempre processi in esecuzione per massimizzare l utilizzo della CPU IDEA alla base della MultiP (????) Un processo è in esecuzione finché non deve attendere un evento Durante l attesa la CPU NON resta inattiva, e si esegue un nuovo processo tra quelli pronti 1 2 Scheduling dei processi Scheduling 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 ) NOTA: quasi tutte le risorse del calcolatore vengono sottoposte a scheduling 3 4 Scheduling Osservazione: i processi si alternano fra due stati Ciclo d elaborazione Attesa completamento I/O Sequenza di CPU e I/O burst L ultima sequenza di operazioni della CPU si conclude con una richiesta di terminare l esecuzione (come????) 5 6 1

2 Diagramma delle durate delle sequenze di operazioni della CPU Tipi di processi P1 Lungo burst di CPU Corto burst di CPU Attesa completamento i/o P2 tempo Curva di frequenza -- durata della sequenza 7 Processi compute bound (P1) and I/O bound (P2) 8 Tipi di processi Tipi di processi P1 P1 P2 P2 tempo tempo Priorità ai compute bound 9 Priorità agli I/O bound il funzionamento del sistema è più bilanciato 10 Tipi di processi 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 Scheduler della CPU Quale scheduler si occupa dello scheduling della CPU? Breve termine!!!! La coda dei processi pronti può essere realizzata in vari modi, a seconda del tipo di algoritmo usato dallo scheduler Coda in ordine d arrivo (FIFO First In First Out) Coda con priorità Albero Lista concatenata non ordinata... Gli elementi delle code sono generalmente i PD

3 Tipi di scheduling Lo scheduler della CPU può interevnire quando un processo Passa da esecuzione attesa (esempio?) Richiesta I/O o attesa terminazione figli Passa da esecuzione pronto (esempio?) Al verificarsi di un interrupt Passa da attesa pronto (esempio?) Completamento I/O termina 13 Tipi di scheduling Lo scheduler della CPU può interevnire quando un processo Passa da esecuzione attesa (esempio?) Richiesta I/O o attesa terminazione figli Passa da esecuzione pronto (esempio?) Al verificarsi di un interrupt Passa da attesa pronto (esempio?) Completamento I/O termina Nessuna scelta di scheduling: si esegue un processo tra i pronti (scheduling senza diritto di prerilascio non preemptive) 14 Tipi di scheduling Lo scheduler della CPU può interevnire quando un processo Passa da esecuzione attesa (esempio?) Richiesta I/O o attesa terminazione figli Passa da esecuzione pronto (esempio?) Al verificarsi di un interrupt Passa da attesa pronto (esempio?) Completamento I/O termina Va fatta una scelta di scheduling: (scheduling con diritto di prerilascio preemptive) 15 Tipi di scheduling 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 16 Problemi con prerilascio Due processi condividono dati, e mentre uno li aggiorna si ha il suo prerilascio Necessari meccanismi per coordinare l accesso a dati condivisi Durante il servizio di una SC, il nucleo può aggiornare/modificare dati del nucleo (ad es. coda di I/O) per conto del processo invocante. Se avviene il prerilascio del processo: probelmi!!!! Alcuni SO attendono il completamento della SC o bloccano I/O prima che possa avvenire un cambio di contesto. Quindi non si ha prerilascio se le strutture dati del nucleo sono incoerenti Le interruzioni si possono verificare in ogni istante Le sezioni di codice delle procedure di servizio delle interruzioni devono essere protette da un uso simultaneo Tipicamente, l inizio della procedura di servizio consiste nel disattivare le interruzioni e le riattiva quando termina 17 Dispatcher È il modulo che passa il controllo della CPU al processo scelto dallo scheduler Si occupa Del cambio di contesto Del passaggio al modo utente Dei saltare alla giusta posizione del programma utente per riavviarne l esecuzione Si attiva a ogni cambio di contesto deve essere rapido, per diminuire il più possibile la latenza di dispatch 18 3

4 Scheduling Diversi algoritmi di scheduling hanno proprietà differenti Criteri per confrontare algoritmi di scheduling Utilizzo CPU Produttività (throughput): numero di processi completati nell unità di tempo Tempo di completamento (turnaround time): intervallo che intercorre tra la sottomissione del processo e il suo completamento Tempo d attesa: somma dei tempi passati nella coda dei processi pronti Tempo di risposta: tempo tra la sottomissione di una richiesta e la prima risposta prodotta 19 Scheduling 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 ) 20 Tipi di Scheduling First come, fisrt served (FCFS) Scheduling in ordine d arrivo Si realizza con una coda di PD Quando un processo entra in coda, diventa l ultimo elemento della coda Si estraggono elementi dalla testa Tempi d attesa medi abbastanza lunghi Process Burst Time P 1 24 P 2 3 P 3 3 Assumiamo che i processi arrivino nell ordine: P 1, P 2, First come, fisrt served (FCFS) P 3 Lo schema di Gantt per lo schedule FCFS è 0 P 1 P 2 P Tempo d attesa per P 1 = 0; P 2 = 24; P 3 = 27 Tempo d attesa medio: ( )/3 = First come, fisrt served (FCFS) Se i processi arrivassero nell ordine P 2, P 3, P 1 (????) Lo schema di Gantt è 0 P 2 P Tempo d attesa per P 1 = 6; P 2 = 0 ; P 3 = 3 Tempo d attesa medio: ( )/3 = 3 Molto meglio!!!! Si può avere l effetto convoglio P

5 FCFS: effetto convoglio Si crea quando i processi CPU bound hanno priorità su quelli I/O bound (cosa che capita con FCFS) Es.: un processo CPU bound e tanti I/O bound Man mano che i processi entrano nel sistema, il processo CPU bound occupa la CPU Gli altri processi, terminano I/O e entrano in pronto: dispositivi I/O inattivi Il processo CPU bound esegue un I/O Tutti gli altri processi eseguono rapidamente le operazioni CPU e tornano alle code I/O, Effetto convoglio Tutti i processi attendono che un lungo processo liberi la CPU La situazione migliorerebbe (come risulta dall esempio fatto con i 3 processi) se si dà priorità ai processi brevi NOTA: Con l FCFS non si ha prerilascio lasciando inattiva la CPU Shortest Job First (SJF) Associa ad ogni processo la lunghezza della sua prossima sequenza CPU (CPU burst). Queste lunghezze vengono usate per dare priorità ai processi brevi 2 schemi Senza prerilascio quando la CPU viene assegnata a un processo, non viene prerilasciato fino al termine della sequenza Con prerilascio se arriva un processo con una sequenza CPU più corta del tempo che rimane al processo in esecuzione per terminare la sua sequenza, allora il processo corrente viene prerilasciato. Questo schema è noto con il nome di Shortest-Remaining-Time-First (SRTF). 27 Shortest Job First (SJF) Si può dimostrare l ottimalità dello SJF: rende minimo il tempo d attesa medio per un dato insieme di processi Perchè? Si considerino 4 processi A,B,C,D con tempi di esecuzione a, b, c, d Turnaround (tempo di completamento) (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 28 Esempio di SJF senza prerilascio Process Arrival Time Burst Time P P P P Esempio di SJF con prerilascio Process Arrival Time Burst Time P P P P P 1 P 3 P 2 P 4 P 1 P 2 P 3 P 2 P 4 P Average waiting time = ( )/4 = 4 Average waiting time = ( )/4 =

6 SJF Il problema con SJF è che non esistono metodi per conoscere la lunghezza della successiva sequenza di operazioni CPU Spesso viene utilizzato come scheduling a lungo termine Un possibile modo per usare SJF è quello di approssimarlo, cercando di predire il valore della lunghezza della sequenza di operazioni CPU Osservazione: è probabile che sia simile alle precedenti 31 Determinare la lunghezza della successiva sequenza CPU Si stima la lunghezza del successivo CPU burst calcolando la media esponenziale delle effettive lunghezze delle precedenti sequenze di operazioni della CPU. Siano t n = Lunghezza dell n-esimo CPU burst Informazioni recenti τ n+1 = valore previsto per il successivo CPU burst Storia passata 0 α 1 Peso relativo tra storia recente e passata τ n+1 = α t n + (1- α) τ n 32 Predizione lunghezza successivo CPU burst α=1/2 33 Predizione α =0 τ n+1 = τ n Storia recente non conta α =1 τ n+1 = t n Solo l ultimo CPU burst conta Se espandiamo la formula, otteniamo τ n+1 = α t n +(1 - α) α t n-1 + +(1 - α ) j α t n-j + +(1 - α ) n+1 τ 0 Dato che sia α che (1 - α) sono 1, ogni termine ha peso minore o uguale a quello del suo predecessore 34 Scheduling con priorità Ogni processo ha una priorità La CPU è assegnata al processo con priorità maggiore (smallest integer highest priority) Preemptive Non-preemptive 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à 35 Scheduling con priorità Quali tra gli algoritmi di scheduling visti finora è a priorità???? SJF Lavori con lungo CPU burst: priorità bassa Lavori con corto CPU burst: priorità alta 36 6

7 Scheduling con priorità Scheduling con priorità 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 Problema Starvation processi a bassa priorità potrebbero non essere mai eseguiti Soluzione Aging con il passare del tempo, la priorità dei processi aumenta Scheduling Round Robin (sistemi interattivi) Ogni processo ottiene la CPU per un quanto di tempo, tipicamente millisecondi. Dopo questo periodo, il processo è prerilasciato e messo nella coda dei pronti (realizzata FIFO) Se ci sono n processi nella coda dei pronti, e il quanto dura q, allora ogni processo ottiene 1/n del tempo CPU in blocchi di al più q unità di tempo Nessun processo attende più di (n-1)q unità di tempo Performance q grande FCFS q piccolo q deve essere grande rispetto alla durata del cambio di contesto 39 Scheduling Round Robin (a) lista dei processi pronti (b) lista dei pronti dopo che B ha usato il suo quanto (quantum) di tempo 40 Scheduling Round Robin 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 RR non favorisce i processi I/O bound È uno scheduling con prerilascio???? 41 Esempio di RR con q = 20 Process Burst Time P 1 53 P 2 17 P 3 68 P 4 24 P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P Tipicamente, si ha un tempo d attesa medio maggiore del SJF, ma un migliore tempo di risposta 42 7

8 Quanto e cambio di contesto Tempo di completamento e quanto Sistemi interattivi: Round Robin+Priority È possibile combinare RR e priorità Es.: sia P un processo I/O bound. CPU burst di P sono più corti del quanto di tempo. Se P è pronto, dovrebbe essere eseguito. Quindi si assegna a P alta priorità La priorità associata a un processo I/O bound è 1/f, con f la frazione del quanto di tempo utilizzata dal processo Scheduling sommario Scheduling in sistemi batch (insieme dei job da schedulare tipicamente noto a priori) SJF (shortest job first) Scheduling in sistemi interattivi Round Robin Code Multiple Scheduling con code multiple Scheduling con code multiple La coda di pronti è partizionata in code separate, a seconda dei tipi di processi In primo piano (foreground o interattivi) In sottofondo (background o batch) Ogni coda utilizza il proprio algoritmo di scheduling foreground RR o priorità background FCFS È necessario uno scheduling tra le varie code A priorità fissa (prima i foreground e poi i background): possibilità di starvation Time slice ogni coda ottiene una certa quantità di CPU che schedula tra I suoi processi. Es.: 80% ai foreground in RR, e 20% ai background in FCFS

9 Scheduling con Code multiple Scheduling con Code multiple Esempio di algoritmo di scheduling a code multiple con 4 classi di priorità 49 Scheduling Round Robin all interno della classe con priorità più elevata Alcuni sistemi danno quanti più lunghi ai processi nelle classi basse (compute-bound) per minimizzare l overhead del cambio di contesto Tipicamente i processi sono assegnati in modo permanente alle code 50 Code multiple con retroazione (feedabck) Un processo può cambiare coda Sono caratterizzate dai seguenti parametri Numeri di code Algoritmi di scheduling per ogni coda Metodo usati per upgrade di un processo Metodo usati per spostare in basso un processo Metodo usato per determinare in quale coda inserire un processo che richiede un servizio 51 Esempio di Multilevel Feedback Queues 3 code Q 0 quanto di 8 millisecondi Q 1 quanto di 16 millisecondi Q 2 FCFS Lo scheduler esegue tutti i lavori in Q 0, poi quelli in Q 1 e infine quelli in Q 2 Un processo in ingresso in Q 1 ha la prelazione su quelli in Q 2, e uno in ingresso in Q 0 ha prelazione su quelli in Q 1 Un nuovo lavoro entra in Q 0 (servito FCFS). Quando ottiene la CPU, viene eseguito per 8 millisec. Se non termina, viene messo in Q 1 In Q 1 (servito FCFS) riceve altri 16 millisec. Se ancora non termina, viene spostato in Q 2 52 Multilevel Feedback Queues Quindi, a quale tipo di processo viene data la priorità???? 53 Scheduling per multi processore Lo scheduling della CPU diviene più complesso quando più CPU sono disponibili Si considerano i sistemi omogenei: qualunque unità può essere usata per eseguire qualsiasi processo in coda Condivisione del carico Invece di usare una coda per ogni processore (qualche coda potrebbe risultare vuota processore inattivo) si usa un unica coda dei pronti Due criteri di scheduling Ogni processore può esaminare la coda e scegliere il processo da eseguire Bisogna porre attenzione ai problemi derivanti da accessi a una struttura dati comune Due processori non possono scegliere lo stesso processo I processi non devono essere perduti dalla coda Si fissa un processore responsabile dello scheduling Spingendosi oltre si ha la multielaborazione simmetrica: tutte le decisioni di scheduling, elaborazione delle op. di I/O e le altre attività di sistema sono svolte da un unica unità (master server); le altre eseguono solo codice 54 9

10 Scheduling per sistemi real-time Hard real-time: garantiscono il completamento delle funzioni critiche entro un tempo definito I processo dichiarano il tempo entro cui devono completare le proprie funzioni Lo scheduler deve conoscere esattamente la durata dell esecuzione di qualsiasi tipo di funzione del sistema Sono specifici in applicazioni industriali Soft real-time: richiedono che i processi critici abbiano una priorità maggiore di quelli ordinari (applicazioni multimediali, grafica interattiva) Scheduling a priorità I processi critici devono avere priorità fissa (non variabile nel tempo): niente aging per i processi critici Latenza di dispatch deve essere bassa (processi critici pronti devono passare presto in esecuzione) Le chiamate di sistema devono poter subire il prerilascio (punti di prerilascio nelle SC lunghe: in questi punti il SO verifica la presenza di processi critici da eseguire. Questi punti devono essere collocati in punti sicuri del codice) L intero nucleo può subire prerilascio (Solaris 2) Latenza di dispatch Valutazione degli algoritmi Modelli deterministici: fornisce una valutazione analitica dell algoritmo. Cioè, dato un algoritmo e un carico di lavoro del sistema, fornisce una formula che valuta le prestazioni dell algoritmo per quel carico di lavoro Molto specifica e richiede conoscenze troppo dettagliate Reti di code: tipicamente è impossibile determinare un insieme (statico) di processi da usare nei modelli deterministici (I processi variano!!!!). Però è possibile determinare le distribuzioni delle sequenze di operazioni CPU e I/O, perché si possono misurare e/o stimare Reti di code Il sistema si descrive come una rete di unità serventi, ciascuna con una coda d attesa Se sono noti l andamento degli arrivi e dei servizi, si possono calcolare l utilizzo, la lunghezza media delle code e il tempo medio d attesa (analisi delle reti di code) Es.: siano n: lunghezza media di una coda W: tempo medio d attesa in coda, e λ l andamento medio d arrivo dei nuovi processi in coda Durante W, quanti nuovi processi arrivano in coda???? λw Se il sistema è stabile, il numero dei processi che escono dalla coda è uguale an numero dei processi che entrano, quindi n=???? λw (formula di Little) Si utilizza per calcolare una delle tre variabili, note le altre due È comunuqe complicato fornire distribuzioni realistiche Valutazione tramite simulazioni Valutazione tramite simulazioni Per avere valutazioni più precise si usano simulazioni I dati (utilizzo CPU, I/O, arrivi in coda, terminazioni, ecc) si possono ottenere tramite numeri generati casualmente (utilizzando varie distribuzioni: uniforme, Poisson, esponenziale) Oppure tramite trace tape

11 Valutazione tramite realizzazione Costi alti Scheduling dei Thread 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 Scheduling dei Thread 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) 63 Scheduling thread user-level Possible scheduling of user-level threads 50-msec process quantum threads run 5 msec/cpu burst 64 Scheduling dei Thread 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 65 Scheduling thread kernel-level Possible scheduling of kernel-level threads 50-msec process quantum threads run 5 msec/cpu burst 66 11

12 Per oggi basta

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

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Scheduling della CPU Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Concetti fondamentali Uno degli obbiettivi della multiprogrammazione è quello di massimizzare

Dettagli

Scheduling della CPU. Capitolo 6 - Silberschatz

Scheduling della CPU. Capitolo 6 - Silberschatz Scheduling della CPU Capitolo 6 - Silberschatz Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione della

Dettagli

Scheduling della CPU

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

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) 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

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Concetti base L utilizzazione massima della CPU è ottenuta con la multiprogrammazione CPU I/O Burst Cycle L esecuzione dei processi consiste di un ciclo di esecuzione in CPU e attesa

Dettagli

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

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di

Dettagli

Scheduling della CPU

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

Dettagli

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

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

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

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

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

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi SCHEDULING DELLA CPU Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling

Dettagli

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

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

Dettagli

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Concetti base Come si realizza il multi-tasking Come si realizza

Dettagli

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

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. 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

Dettagli

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

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione 1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

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

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi Sistemi Operativi Lez. 4 Lo scheduling dei processi 1 Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Uso tipico di un calcolatore 3 CPU-bound e I/O-bound Processi

Dettagli

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Sommario Concetti base Come si realizza il multi-tasking Come si realizza

Dettagli

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

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 DIPARTIMENTO DI INFORMATICA Alberto Ceselli (alberto.ceselli@unimi.it) Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Patrizia

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Introduzione

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

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

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

Dettagli

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi

Dettagli

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

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

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

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

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi. Scheduling dei processi Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che

Dettagli

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

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst! Capitolo 5: Scheduling della CPU Criteri di Scheduling Algoritmi di Scheduling Cenni Scheduling per sistemi multprocessore Modelli Asimmetrico e Simmetrico Scheduling della CPU 5.2 Concetti di Base Alternanza

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Scheduling dei thread Scheduling multiprocessore Scheduling real time Scheduling in Linux Valutazione

Dettagli

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

Scheduling della CPU. I/O e CPU burst. Scheduler a breve termine. Dispatcher. Concetti base I/O e CPU burst Concetti base Scheduling della CPU. load store add store read from file CPU burst Massimizzazione dell uso della CPU attraverso multiprogrammazione wait for I/O I/O burst 160 140 Ciclo

Dettagli

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

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

Dettagli

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

6 CPU Scheduling. 6.1 Concetti Fondamentali dello Scheduling della CPU. 6.1 Concetti Fondamentali 1 6 CPU Scheduling La gestione della CPU (soltanto) può rendere la multi-programmazione più efficiente della mono-programmazione Infatti, la multiprogrammazione permette di ottenere l utilizzazione massima

Dettagli

Scheduling. Livelli Algoritmi

Scheduling. Livelli Algoritmi Scheduling Livelli Algoritmi Introduzione Lo scheduling Ha lo scopo di decidere quale processo eseguire in un dato istante Si realizza mediante un componente specifico del sistema operativo Lo scheduler

Dettagli

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

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi Sistemi Operativi Lez. 4 Lo scheduling dei processi 1 Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Uso tipico di un calcolatore 3 CPU-bound e I/O-bound Processi

Dettagli

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

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst. Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella

Dettagli

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

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher Schedulazione della CPU Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algorimi di scheduling della CPU Analisi dei criteri di valutazione nella scelta di un algoritmo

Dettagli

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

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario Scheduling Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di scheduling Tipi di scheduling Lungo termine Breve termine (scheduling della CPU) Medio termine Scheduling della CPU

Dettagli

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

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano

Dettagli

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

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della

Dettagli

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

Scheduling della CPU. Concetti base. Criteri di Scheduling. Algoritmi di Scheduling Scheduling della CPU Concetti base Criteri di Scheduling Algoritmi di Scheduling 1 Scheduling di processi Obbiettivo della multiprogrammazione: esecuzione contemporanea di alcuni processi in modo da massimizzare

Dettagli

ESERCIZI SULLO SCHEDULING DEI PROCESSI

ESERCIZI SULLO SCHEDULING DEI PROCESSI ESERCIZI SULLO SCHEDULING DEI PROCESSI Esercizio 1 Esercizio 2 una priorità maggiore) e 4) RR (quanto=1). Esercizio 3 1 una priorità maggiore) e 4) RR (quanto=1). Esercizio 4 Esercizio 5 2 Esercizio 6

Dettagli

2.2 Scheduling in Linux

2.2 Scheduling in Linux Appunti di Sistemi Operativi 28 2.2 Scheduling in Linux In generale, i processi possono essere classificati secondo due schemi: CPU bound vs. I/O bound; interattivi vs. batch vs. real-time. Le due classi

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi. Scheduling dei processi Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che

Dettagli

Il supporto al sistema operativo

Il supporto al sistema operativo Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo address web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo  address web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 La Schedulazione dei processi 1 1.1 Criteri di schedulazione..................................

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

Schedulazione real-time di task PERIODICI

Schedulazione real-time di task PERIODICI Schedulazione real-time di task PERIODICI Sono la maggioranza delle attività di elaborazione. Es. regolazione, acquisizione, filtraggio, monitoraggio, comando di attuatori etc. Ipotesi: Tutte le richieste

Dettagli

Sistemi Operativi. Schedulazione della CPU

Sistemi Operativi. Schedulazione della CPU Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Concetti di base Come si realizza il multi-tasking Come si

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Scheduling dei thread Scheduling multiprocessore Scheduling real time Scheduling in Linux Valutazione

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in Informatica A.A. 2015/16 Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Copyright c 2000-04 Marino Miculan (miculan@dimi.uniud.it)

Dettagli

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

Sebbene le durate varino secondo il processo e secondo il calcolatore, la curva di frequenza è simile a quella qui riportata. C3. SCHEDULING DELLA CPU Lo scheduling della CPU è alla base dei sistemi operativi multiprogrammati e consente di passare il controllo della CPU ai vari processi, in modo da rendere più produttivo il calcolatore.

Dettagli

Capitolo 6: CPU scheduling

Capitolo 6: CPU scheduling Capitolo 6: CPU scheduling Concetti di base. Criteri di schedulazione. Gli algoritmi di schedulazione. Schedulazione per sistemi multiprocessore. Schedulazione per sistemi in tempo reale. Schedulazione

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling

Dettagli

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono

Dettagli

La schedulazione. E.Mumolo mumolo@units.it

La schedulazione. E.Mumolo mumolo@units.it La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più

Dettagli

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in Informatica A.A. 2005/06 Scheduling della CPU Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Concetti base Massimizzazione

Dettagli

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

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

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

Sistemi Operativi. Rappresentazione e gestione delle attività e della computazione: processi e thread Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Rappresentazione e gestione delle attività e della computazione:

Dettagli

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi 3.3 Silberschatz, Galvin and Gagne 2005 1 Un SO esegue diversi tipi di programmi Sistema

Dettagli

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

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 DIPARTIMENTO DI INFORMATICA Alberto Ceselli (alberto.ceselli@unimi.it) Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Scheduling dei thread Scheduling multiprocessore Scheduling real time Scheduling in Linux Valutazione

Dettagli

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

SISTEMI OPERATIVI. Schedulazione della CPU. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Schedulazione della CPU Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Concetti base

Dettagli

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1 GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

Dettagli

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

5. Scheduling della CPU. 5.1 Concetti Fondamentali. 5.1.2. Lo scheduler della CPU 5. Scheduling della CPU 1 Il multitasking e il time sharing (quando è usato) cercano di massimizzare l utilizzo della CPU. Per questo, il progettista del SO deve stabilire delle regole per decidere, quando

Dettagli

5. Scheduling della CPU

5. Scheduling della CPU 1 5. Scheduling della CPU Il multitasking e il time sharing (quando è usato) cercano di massimizzare l utilizzo della CPU. Per questo, il progettista del SO deve stabilire delle regole per decidere, quando

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

Introduzione al Multithreading

Introduzione al Multithreading Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui

Dettagli

Sistemi Operativi. Lezione 3 Processi e Thread

Sistemi Operativi. Lezione 3 Processi e Thread Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione

Dettagli

Architettura degli Elaboratori 2

Architettura degli Elaboratori 2 Architettura degli Elaboratori 2 Esercitazioni 1 Scheduling della CPU A. Memo - 2004 tipi di scheduling long term CREATED TERMINATED middle term SUSPENDED short term READY RUNNING by event WAITING 1 scheduling

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

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

Architettura degli Elaboratori 2. tipi di scheduling. scheduling. scheduling della CPU (1) Esercitazione 1. politiche di ordinamento dei processi Architettura degli Elaboratori 2 long term tipi di scheduling CREATED TERMINATED Esercitazione 1 politiche di ordinamento dei processi middle term short term READY SUSPENDED RUNNING A. Memo - 2005 by event

Dettagli

Sistemi Operativi Politiche di Ordinamento Processi

Sistemi Operativi Politiche di Ordinamento Processi Sistemi Operativi Politiche di Ordinamento Processi Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Astrazione di processo Ogni processo è associato

Dettagli

il Nucleo e la gestione dei processi

il Nucleo e la gestione dei processi il Nucleo e la gestione dei processi 1. Programmi, processi e risorse Differenza fra programmi e processi Il Programma rappresenta la descrizione del procedimento logico (algoritmo) che deve essere eseguito

Dettagli

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

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

Scheduling. Scheduling 14/12/2003 1/7

Scheduling. Scheduling 14/12/2003 1/7 Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling

Dettagli

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,

Dettagli

Scheduling della CPU (2) CPU bursts (2)

Scheduling della CPU (2) CPU bursts (2) Scheduling della CPU (1) - La gestione delle risorse impone al SO di prendere decisioni sulla loro assegnazione in base a criteri di efficienza e funzionalità. - Le risorse più importanti, a questo riguardo,

Dettagli

Lo schedulatore del kernel

Lo schedulatore del kernel Lo schedulatore del kernel Lo schedulatore Lo schedulatore è un programma del kernel che si occupa di scegliere un processo/lavoro che ha richiesto una risorsa. Lo schedulatore a lungo termine LTS è quello

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia 1. Quali sono le componenti principali dei sistemi operativi? 2. Si descriva il meccanismo attraverso cui i programmi in esecuzione richiamano i servizi dei sistemi operativi. 1. Le componenti principali

Dettagli

1.5: Gestione dei Processi e della CPU

1.5: Gestione dei Processi e della CPU 1.5: Gestione dei Processi e della CPU Concetto di Processo Multitasking Operazioni sui processi Stati di un processo Eventi e risorse Context switch Scheduling dei processi A breve termine A medio/lungo

Dettagli

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A Nome: Cognome: Matricola: corso: fila: posto: Esercizio 1 (5 punti) Si consideri un processore che dispone dei registri speciali PC (program counter) e PS (program status), dello stack pointer SP e dei

Dettagli

Lo scheduler di UNIX (1)

Lo scheduler di UNIX (1) Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto

Dettagli

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

Scheduling. Tipi di processi. Classi di scheduling. P1 (CPU bound) P2 /I/O bound) Scheduling a lungo termine. A. Ferrari Scheduling A. Ferrari Tipi di processi CPU Bound Processi che sfru;ano pesantemente le risorse computazionali del processore, ma non richiedono servizi di ingresso/uscita dab al sistema operabvo in quanbtà

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di processo Schedulazione dei processi Operazioni sui processi

Dettagli

Software. Elementi di Informatica. Sistema Operativo (SO) Categorie di Software. Un Po di Storia - 2. Un Po di Storia - 1

Software. Elementi di Informatica. Sistema Operativo (SO) Categorie di Software. Un Po di Storia - 2. Un Po di Storia - 1 Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Sistemi Operativi D. Gubiani Il software è l insieme dei programmi che possono

Dettagli

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

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

Dettagli

Le risorse. Se il processo può essere forzato a rilasciare una risorsa, la risorsa è chiamata prerilasciabile.

Le risorse. Se il processo può essere forzato a rilasciare una risorsa, la risorsa è chiamata prerilasciabile. Le risorse Cos è una risorsa? E' qualcosa di necessario al processo per poter procedere nella sua evoluzione (passaggi di stato). Si possono distinguere: Risorse fisiche (processore, memoria, disco, stampante,...)

Dettagli

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in TWM A.A. 2015/16 Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Copyright c 2000-04 Marino Miculan (miculan@dimi.uniud.it)

Dettagli

SISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 21 dicembre 2004

SISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 21 dicembre 2004 SISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 21 dicembre 2004 Cognome: Nome: Matricola: ESERCIZIO 1, teoria (6 punti) a) riportate lo pseudocodice che descrive l implementazione dell operazione

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

Dettagli

I THREAD O PROCESSI LEGGERI

I THREAD O PROCESSI LEGGERI I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine

Dettagli