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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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. Verranno presentati i concetti fondamentali dello scheduling, vari algoritmi di scheduling e la scelta dell algoritmo da impiegare per un dato sistema. Concetti fondamentali Nella sua vita, un processo può avere bisogno di attendere un evento (generalmente una richiesta di I/O) per poter proseguire. In un sistema di calcolo semplice, la CPU resterebbe inattiva e il tempo di attesa sarebbe sprecato. Con la multiprogrammazione, invece, sono caricati più processi in memoria. Quando un processo deve attendere un evento, il sistema operativo gli sottrae il controllo della CPU per cederlo a un altro processo. Ciclicità delle fasi di elaborazione e di I/O L esecuzione di un processo è l alternanza di due fasi: raffica di operazioni CPU (CPU burst) raffica di operazioni I/O (I/O burst) Sebbene le durate varino secondo il processo e secondo il calcolatore, la curva di frequenza è simile a quella qui riportata. Questa curva è di tipo esponenziale o iperesponenziale, in quanto sono presenti un gran numero di brevi sequenze di operazioni CPU e una piccola quantità di lunghe sequenze di operazioni CPU. Se il programma è a prevalenza di I/O produce molte sequenze di breve durata, mentre se il programma è a prevalenza di elaborazione produce poche sequenze di lunga durata. Conoscere questi aspetti può essere utile per scegliere un buon algoritmo di scheduling per la CPU. Scheduler della CPU Quando la CPU è inattiva, lo scheduler a breve termine (o scheduler della CPU) seleziona uno dei processi in coda pronti per l esecuzione e ad esso alloca la CPU. La coda non è necessariamente FIFO. Come si noterà nell analisi dei vari algoritmi di schedulazione, vi possono essere diverse filosofie di ordinamento. Qualunque tipo di ready queue, però, ha come elementi i Process Control Block PCB dei processi.

2 Scheduling con e senza diritto di prelazione Le decisioni riguardanti lo scheduling della CPU si possono prendere in diverse circostanze. Un processo... Passa dallo stato di esecuzione allo stato di attesa Passa dallo stato di esecuzione allo stato pronto Passa dallo stato di attesa allo stato pronto Termina Perchè... - Arriva una richiesta di I/O - Arriva una richiesta di attesa per terminare uno dei - figli - E arrivato un segnale di interruzione - E stata completata un operazione di I/O Nei casi 1 e 4 non c è alcuna scelta di scheduling da fare, perché è il processo a dire che ha terminato la sua esecuzione e non ha più bisogno della CPU: è necessario solo scegliere il prossimo processo da eseguire. In questo caso lo scheduling è detto senza diritto di prelazione (non-preemptive) o cooperativo. La CPU rimane assegnata al processo fin quando questo non la rilascia, in quanto terminato o in attesa. Questo metodo è stato adottato fino a Windows 95 e non richiede dispositivi particolari. Al contrario, nei casi 2 e 3 si ha uno schema di scheduling con diritto di prelazione (preemptive). Il processo, in altre parole, continuerebbe volentieri la sua esecuzione ma viene interrotto perché altri scalpitano. Questo schema di scheduling definisce dunque se e come interrompere il processo attualmente in esecuzione, eventualmente considerando anche chi è in attesa. Si noti che la prelazione non è fatta sempre e comunque. Vi sono ad esempio casi in cui due processi P 1 e P 2 condividono dati: se P 1 aggiorna i dati e nel frattempo si ha la sua prelazione in favore di P 2, quest ultimo si trova a leggere dati lasciati in uno stato incoerente. Ancora, durante l elaborazione di una syscall il kernel può essere impegnato in attività in favore di un processo che possono portare a modifiche dei dati del kernel stesso. Se si ha la prelazione del processo durante tali modifiche e il kernel legge o modifica gli stessi dati è un macello. Questo problema e il precedente sono risolvibili attendendo il completamento della syscall o il blocco dell I/O prima del cambio di contesto. Infine bisogna tenere presente che le interruzioni, per loro natura, possono verificarsi in ogni istante. Le sezioni di codice eseguite per effetto delle interruzioni devono essere protette da un uso simultaneo: questo è risolvibile disattivando le interruzioni all inizio delle sezioni di codice per riattivarle alla fine.

3 Dispatcher Il dispatcher è il modulo che passa effettivamente il controllo della CPU ai processi scelti dallo scheduler a breve termine. Questa funzione coinvolge il cambio di contesto, il passaggio alla modalità utente e il salto alla giusta posizione del programma per riavviarne l esecuzione. Dato che si avvia ad ogni cambio di contesto deve agire in tempi più rapidi possibili. In altre parole deve avere una bassa latenza di dispatch, cioè il tempo richiesto per fermare un processo e avviarne un altro. Criteri di scheduling Nella scelta del miglior algoritmo di scheduling per il sistema in oggetto bisogna considerare una serie di parametri. Nella maggior parte dei casi si ottimizzano i valori medi, ma se si vuole che tutti ottengano un buon servizio si ottimizzano i valori estremi. Parametro Spiegazione Min/Max Utilizzo della CPU Throughput Numero di processi completati nell unità di tempo Max Tempo di completamento Tempo di attesa Tempo di risposta Tempo di esecuzione del processo stesso Tempo passato nella coda dei processi READY Tempo tra la sottomissione di una richiesta se la prima risposta prodotta Il tempo di attesa si può ottenere misurando il tempo di completamento e sottraendogli il tempo di esecuzione e il tempo di attesa per l I/O. Algoritmi di scheduling Nel seguito si descrivono alcuni fra i tanti algoritmi di scheduling della CPU. Per motivi di semplicità, negli esempi si considerano sequenze di soli CPU burst, trascurando i context switching. La rappresentazione è fatta con i diagrammi di Gantt, che illustrano le pianificazioni includendo tempi di inizio e fine di ogni partecipante. Scheduling in ordine di arrivo Nello scheduling in ordine di arrivo (FCFS, First Come First Served) la CPU è assegnata al processo che la richiede per primo. L implementazione è semplice ed è fatta con una coda FIFO. Il tempo di attesa medio dei processi può variare sostanzialmente al variare della durata delle sequenze di operazioni della CPU dei processi e dell ordine con cui esse sono sistemate. Si supponga infatti di avere i processi Processo Durata sequenza P 1 24ms P 2 3ms P 3 3ms Max Min Min Min

4 Si ha che Schema di arrivo Tempo medio di attesa ( )/3=17 ms (0+3+6)/3=3ms Questo tipo di schedulazione è senza prelazione: una volta che la CPU è assegnata ad un processo, questo la trattiene fino al momento del rilascio (perché il processo termina o perché c è bisogno di fare I/O). Nei sistemi a tempo ripartito, l uso della schedulazione FCFS che consente a un processo di occupare la CPU per lungo periodo porterebbe a risultati disastrosi. Scheduling per brevità Nello scheduling per brevità (SJF, Shortest Job First) si assegna la CPU, se disponibile, al processo che ha la più breve lunghezza della successiva sequenza di operazioni della CPU. Se due processi hanno le successive sequenze di operazioni della CPU della stessa lunghezza si applica lo scheduling FCFS. E possibile dimostrare che l algoritmo SJF, pur essendo greedy, è ottimale perché rende minimo il tempo di attesa medio per un dato insieme di processi. Si supponga di avere il seguente insieme di processi Processo Durata sequenza P 1 6ms P 2 8ms P 3 7ms P 4 3ms Assegnando per prima la CPU al processo con durata più breve si ha Schema di arrivo Tempo medio di attesa ( )/4=7 ms La difficoltà implicita nell algoritmo SJF consiste nel conoscere la durata della successiva richiesta della CPU. Questa è generalmente ottenibile calcolando la media esponenziale delle effettive lunghezze delle precedenti sequenze di operazioni della CPU. Sia quindi t n la lunghezza dell n-esima sequenza di operazioni della CPU, τ n +1 il valore previsto per la successiva sequenza di operazioni della CPU e α un valore compreso tra 0 e 1 che serve per pesare maggiormente la storia presente o passata.

5 Si ha τ n +1 =α t n +(1 α)τ n, con α=1/2 nella maggior parte dei casi (la storia recente e quella passata hanno lo stesso peso). Lo sviluppo della formula fa apprezzare a pieno che ogni termine ha peso inferiore a quello del suo predecessore, spegnendo il passato man mano che ci si allontana nel tempo. L algoritmo SJF può essere sia con prelazione che senza prelazione. Nel primo esempio si supponeva che tutti e quattro i processi fossero noti all istante t 0. Diverso è il caso in cui un nuovo processo arrivi a un istante t 1 e abbia una sequenza di operazioni più corta del processo correntemente in esecuzione. Con un algoritmo SJF con prelazione (SRTF, Shortest Remaining Time First) è possibile sostituire il processo attualmente in esecuzione. Si consideri il seguente insieme di processi Processo Istante di arrivo Durata sequenza P 1 0 8ms P ms P 3 2 9ms P 4 3 5ms Quel che risulta con SRTF è indicato dal seguente diagramma Schema di arrivo Tempo medio di attesa ((10 1)+(1 1)+(17 2)+(5 3))/4 26/ 4=6,5ms in cui, brevemente, all istante 0 si avvia P 1 perché è l unico che si trova in coda. All istante 1 arriva anche P 2 che dura 4 ms: siccome il tempo richiesto per completare P 1 è di 7 ms, si ha la prelazione su P 1 che viene sostituito con P 2, e così via. Scheduling per priorità L algoritmo SJF è un caso particolare del più generale algoritmo di scheduling per priorità, in cui si associa una priorità ad ogni processo e si assegna la CPU al processo con priorità vincente (perché qualcuno può intendere la priorità 4095 come la peggiore e altri come la migliore).

6 Si consideri il seguente insieme di processi arrivati all istante t 0 Si ha Processo Durata sequenza Priorità (0: più alta) P 1 10ms 3 P 2 1ms 1 P 3 2ms 4 P 4 1ms 5 P 5 5 ms 2 Schema di arrivo Tempo medio di attesa ( )/5=8,2 ms Supponendo che all istante t 1 arrivi un processo a priorità superiore: nello scheduling con priorità e con diritto di prelazione, si sottrae la CPU al processo attualmente in esecuzione nello scheduling con priorità e senza diritto di prelazione, si pone l ultimo processo arrivato in testa alla coda dei processi pronti Un problema importante relativo agli algoritmi di scheduling per priorità è l attesa indefinita o starvation, che si ha quando un processo è pronto per l esecuzione ma non dispone mai della CPU perché gli viene soffiata sempre da qualcuno a priorità maggiore. Una soluzione a questo problema è costituita dall aging dei processi, facendo aumentare la priorità dei processi che attendono nel sistema da parecchio tempo. Scheduling circolare L algoritmo di scheduling circolare (round robin, RR) è simile allo scheduling FCFS, ma ha in più la capacità di prelazione per la commutazione dei processi. Ciascun processo riceve una piccola quantità fissata del tempo della CPU, chiamata time slice. Lo scheduler della CPU scorre la coda dei processi pronti e assegna la CPU a ciascun processo per una durata massima di un time slice. Lo scheduler della CPU individua il primo processo dalla coda dei processi pronti, imposta un timer in modo che invii un segnale di interruzione alla scadenza di un intervallo pari a un time slice e attiva il dispatcher per l effettiva esecuzione del processo. Terminato il time slice, se il processo ha una sequenza di operazioni di durata minore del time slice, rilascia volontariamente la CPU. Altrimenti viene inviato un segnale di interruzione al sistema operativo che esegue un cambio di contesto, aggiunge il processo alla fine della coda dei processi pronti e tramite lo scheduler della CPU seleziona il processo successivo. Il tempo di attesa medio per il criterio di scheduling RR è spesso abbastanza lungo.

7 Si supponga di avere il seguente insieme di processi Processo Durata sequenza P 1 24ms P 2 3ms P 3 3ms Si ha Schema di arrivo Tempo medio di attesa ((10 4)+ 4+ 7)/3=5,66 ms Se nella coda dei processi pronti esistono n processi e il time slice è pari a q, ciascun processo ottiene 1/n del tempo di elaborazione della CPU e non deve attendere più di (n 1) q unità di tempo. Le prestazioni dell algoritmo RR dipendono molto dalla dimensione del time slice. Se questo è molto lungo, il criterio di scheduling RR si riduce al criterio di scheduling FCFS. Al contrario, se il time slice è molto breve il criterio RR prende il nome di processor sharing e teoricamente gli utenti hanno l impressione che ciascuno degli n processi disponga di una propria CPU in esecuzione a 1/n della velocità della CPU reale. Riguardo alle prestazioni dello scheduling RR bisogna tenere conto dell effetto dei cambi di contesto. Più il time slice è piccolo, più cambi di contesto si hanno. Per questo il time slice dev essere ampio rispetto alla durata del cambio di contesto: nei sistemi moderni un time slice va dai 10 ai 100 ms, con un cambio di contesto che solitamente è nell ordine dei 10 μs. Anche il tempo di completamento dipende dalla dimensione del time slice e non migliora necessariamente con l aumento della dimensione del time slice. Empiricamente si può stabilire che l 80% delle sequenze di operazioni della CPU debba essere più breve del time slice.

8 Scheduling a code multiple Vi sono situazioni in cui i processi si possono classificare facilmente in gruppi diversi. Una distinzione diffusa è quella tra i processi che si eseguono in primo piano (foreground) o interattivi e i processi che si eseguono in sottofondo (background) o a lotti (batch). Le due tipologie di processi possono avere diverse necessità di scheduling. In questo senso può essere utile l algoritmo di scheduling a code multiple (multilevel queue scheduling algorithm) che suddivide la coda dei processi in code distinte, ciascuna con il suo algoritmo di scheduling. Nell esempio i processi in primo piano e i processi in sottofondo possono usare code distinte, gestite rispettivamente con gli algoritmi RR e FCS. E importante notare che rispetto agli altri algoritmi di scheduling presentati, in questo caso è necessario avere anche uno scheduling tra le varie code. Si può ad esempio imporre uno scheduling con priorità fissa e con prelazione, in cui ogni coda ha priorità assoluta su quelle a priorità più bassa. E inoltre possibile impostare dei time slice per le code (es.: 80% per la coda dei processi in primo piano, 20% per la coda dei processi in sottofondo), suddivisibile tra i vari processi contenuti che verranno schedulati con le tecniche classiche. Scheduling a code multiple con retroazione Nello scheduling a code multiple i processi si assegnano in modo permanente a una coda all entrata nel sistema e non si possono spostare tra le code. Lo scheduling a code multiple con retroazione (multilevel feedback queue scheduling) permette ai processi, sotto certe condizioni, di spostarsi tra le code. Questo schema mantiene infatti i processi con prevalenza di I/O e quelli interattivi nelle code con priorità più elevata, che può ospitare anche processi che stanno attendendo troppo a lungo. In questo modo si attua una forma di invecchiamento che impedisce il verificarsi di un attesa indefinita. Nell esempio qui riportato, un processo che entra nella coda dei processi pronti è impilato nella coda 0 e ottiene un time slice di 8 ms. Se in questo tempo non termina, viene spostato al fondo della coda 1 e ottiene un time slice di 16 ms. Se ancora non è terminato, viene spostato al fondo della coda 2 che segue la filosofia FCFS. Generalmente uno scheduler a code multiple con retroazione è realizzato dai seguenti parametri: numero di code algoritmo di scheduling per ciascuna coda metodo usato per determinare quando upgradare un processo metodo usato per determinare quando downgradare un processo metodo usato per determinare in quale coda si deve immettere un processo quando chiede un servizio Dalla trattazione dovrebbe essere chiaro come questo criterio di scheduling si può adattare bene a sistemi specifici. Allo stesso tempo, però, è complicato da progettare.

9 Scheduling dei thread Di seguito alcune considerazioni sulla schedulazione dei thread a livello utente e a livello kernel, con alcuni concetti relativi allo scheduling per Pthreads. Ambito della competizione Nei thread utente la contesa per aggiudicarsi la CPU ha luogo tra i thread dello stesso processo: in questo senso, si parla di ambito della competizione ristretto al processo (PCS). Per determinare invece quale thread a livello kernel debba essere eseguito dalla CPU, il kernel esamina il thread di tutto il sistema, nell ottica di un ambito della competizione allargato al sistema (SCS). Scheduling di Pthread Per specificare l ambito della contesa si usano i valori PTHREAD_SCOPE_PROCESS, che pianifica i thread con lo scheduling PCS PTHREAD_SCOPE_SYSTEM, che pianifica i thread con lo scheduling SCS L interprocess communication di Pthread offre due funzioni per appurare e impostare l ambito della contesa pthread_attr_setscope(pthread_attr_t *attr, int scope) pthread_attr_getscope(pthread_attr_t *attr, int *scope) #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 int main(int argc, char *argv[]) { int i, scope; pthread_t tid[num THREADS]; pthread_attr_t attr; /* get the default attributes */ pthread_attr_init(&attr); /* first inquire on the current scope */ if (pthread_attr_getscope(&attr, &scope)!= 0) fprintf(stderr, "Unable to get scope"); else { if (scope == PTHREAD_SCOPE_PROCESS) printf("pthread_scope_process"); else if (scope == PTHREAD_SCOPE_SYSTEM) printf("pthread_scope_system"); else fprintf(stderr, "Illegal scope value."); } /* set the scheduling algorithm to PCS or SCS */ pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); /* create the threads */ for (i = 0; i < NUM_THREADS; i++) pthread_create(&tid[i],&attr,runner,null); /* now join on each thread */ for (i = 0; i < NUM_THREADS; i++) pthread_join(tid[i], NULL); } /* Each thread will begin control in this function */ void *runner(void *param){ /* do some work... */ pthread_exit(0); }

10 Scheduling per sistemi multiprocessore Se sono disponibili più unita di elaborazione, anche il problema dello scheduling è proporzionalmente più complesso. Nel seguito verranno considerati sistemi in cui le unità di elaborazione sono, in relazione alle loro funzioni, identiche. Ogni unità di elaborazione può dunque essere disponibile per eseguire ogni processo nella coda (ma può comunque incorrere in limitazioni). Soluzioni di scheduling per multiprocessori Nella multielaborazione simmetrica ogni processore provvede al proprio scheduling e un processo che viene pescato dalla coda READY può finire in esecuzione su una qualsiasi delle CPU che si sono liberate a un dato istante di tempo t. In questo modo posso tenere il sistema il più equilibrato possibile. Prevede l utilizzo di strutture dati condivise. Utilizzando strutture dati condivise c è il problema della vicinanza della memoria : è dunque plausibile che un processo che venga eseguito sulla CPU1 viaggi più velocemente rispetto allo stesso eseguito sulla CPU4. Questo porta al concetto di affinità tra processo e (insieme di) processori. Al contrario, nella multielaborazione asimmetrica c è un solo processore che accede alle strutture dati per la schedulazione, rilassando la necessità di dati condivisi. Sono inoltre possibili soluzioni asimmetriche che cercano di ribilanciare gli sbilanciamenti, fatta da processi appositi (migrazione guidata) o autonomamente da un processore (migrazione spontanea). Processori multicore Incastrando correttamente i cicli di computazione ai cicli di memoria è possibile ottenere l esecuzione in vera concorrenza di due thread. ***

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

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

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

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

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

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

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

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

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

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

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

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

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

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

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

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

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

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,

Dettagli

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

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

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

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

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

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. 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

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

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

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

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

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

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

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

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

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

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

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

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

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

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

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

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

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

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

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2 Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:

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

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

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

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. 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

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

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

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

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

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

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

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

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

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

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

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file. ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei

Dettagli

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

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

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

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT) Scheduling Introduzione Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo

Dettagli

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

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

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

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

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

Dettagli

J. Assfalg Appunti di Sistemi Operativi

J. Assfalg Appunti di Sistemi Operativi Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Gli stati di un processo

Gli stati di un processo 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

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

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

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi 1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti

Dettagli

Gestione del processore e dei processi

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore

Dettagli

Tecniche Automatiche di Acquisizione Dati

Tecniche Automatiche di Acquisizione Dati Tecniche Automatiche di Acquisizione Dati Sistemi operativi Fabio Garufi - TAADF 2005-2006 1 Cosa sono i sistemi operativi I sistemi operativi sono dei programmi software che svolgono le funzioni di interfaccia

Dettagli

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

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job. Di cosa parliamo in questa lezione? Lezione 4 Cosa è un processo e come viene gestito dal SO 1 e job 2 Il blocco di controllo Sistemi operativi 3 Struttura di un file eseguibile 4 La schedulazione dei

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. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

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

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Secondo biennio Articolazione Informatica TPSIT Prova Quarta Sistema operativo: gestione memoria centrale La Memoria Virtuale consente di superare i limiti della Memoria Centrale : A. no B. a volte C. si, ma non sempre e' adeguata D. si, attraverso tecniche di gestione

Dettagli

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

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

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

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

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Capitolo 3 -- Silberschatz

Capitolo 3 -- Silberschatz Processi Capitolo 3 -- Silberschatz Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo sono usati

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007

SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007 2007 SISTEMI OPERATIVI Deadlock (blocco critico) Domande di verifica Luca Orrù Centro Multimediale Montiferru 04/06/2007 Deadlock (blocco critico) 1. Si descriva il deadlock e le condizioni sotto cui si

Dettagli

Esercitazione E1 Scheduling, deadlock, monitor

Esercitazione E1 Scheduling, deadlock, monitor Esercitazione E1 Scheduling, deadlock, monitor Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E1-1 Scheduling I cinque processi A,B,C,D,E richieste di CPU si presentano nell ordine. Le loro richieste

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Sistemi Operativi A.A. 2011/2012

Sistemi Operativi A.A. 2011/2012 Sistemi Operativi A.A. 2011/2012 Esercitazione 13 Dicembre 2011 Esercizio 1 - Scheduling dei processi Data la seguente sequenza di processi Processo Istante Arrivo Durata Priorità P 1 0 6 3 P 2 2 5 2 P

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli