1.5: Gestione dei Processi e della CPU

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1.5: Gestione dei Processi e della CPU"

Transcript

1 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 termine Scheduling della CPU Algoritmi di scheduling della CPU 1.5.1

2 Concetto di Processo Terminologia usuale: Sistemi batch: job Sistemi time sharing: processo, o task Processo = un programma in esecuzione, nel suo proprio ambiente operativo. Un processo include: Program Counter Sezione testo (codice del programma read only, shared) Stack (nella fase utente) Sezione dati Unix only: sezione dati non inizializzati (bss). Avanzamento di un processo = avanzamento nell'esecuzione delle sue 1.5.2

3 Architettura Multitasking di Riferimento CPU I/O Proc. Disco RAM controller RAM Architettura minima: un processore centrale, un processore di I/O. I sistemi di calcolo attuali hanno sempre più processori che eseguono istruzioni in parallelo base per il multitasking. Goal: sfruttare al massimo questo parallelismo per accelerare il throughput del sistema, soddisfare le richieste degli utenti, mantenere 1.5.3

4 Architettura Multitasking di Riferimento (Cont.) A I/O A A B I/O B B I/O B B C I/O C C (msec.) a) Esecuzione in un sistema senza processore periferico (di I/O) (msec.) A B C A B C B Esecuzione tramite CPU I/O A I/O B I/O C I/O B Esecuzione tramite I/O proc (msec.) b) Esecuzione in un sistema con processore periferico indipendente dalla CPU richiesta al processore di I/O interrupt di fine I/O 1.5.4

5 Operazioni su Processi N.B. argomenti ripresi in maggior dettaglio in questa e nella prossima dispensa. Creazione Processi padri creano processi figli e così via (albero di processi). Risorse: condivise o no, in tutto o in parte, tra padre e figlio es.: file aperti, memoria condivisa, socket (networking), etc. Esecuzione: padre e figlio si eseguono concorrentemente o no; padre sincronizzato sulla terminazione del figlio Figlio esegue un programma specificato dal padre, oppure lo stesso programma del padre Terminazione Con chiamata di sistema esplicita (es. exit()) o implicita (esecuzione ultima 1.5.5

6 Operazioni su Processi (Cont.) Sincronizzazione Tra processi, su base cooperativa Sincronizzazione sulla terminazione di un processo Comunicazione Richiede la sincronizzazione Comunicazione di dati tra processi One to one, one.to many, many.to many, many to one Internamente alla macchina o attraverso rete di calcolatori Segnalazione Comunicazione non di dati, ma di eventi asincroni Implementata di norma con interrupt software Utilizzabile per provocare la terminazione di altri processi (es. padre che 1.5.6

7 Stati di un Processo Durante la sua esecuzione, un processo cambia stato New: il processo è in fase di creazione Running: il processo ha il controllo della CPU, e sta eseguendo istruzioni del programma (è in fase di avanzamento) Waiting, o Asleep: il processo sta aspettando il verificarsi di qualche evento (o l'acquisizione di qualche risorsa) Ready: il processo è in attesa di avere il controllo della CPU Terminated: il processo ha terminato l'esecuzione del programma, ed è in fase di terminazione. Perchè "Asleep": Un processo "va a dormire" in attesa di un evento; quando l'evento si verifica, il processo "viene svegliato" e ricomincia a eseguire istruzioni

8 Stati di un Processo (Cont.) New ammesso uscita Terminated interrupt/trap. Ready rilascio CPU: sched_yield() Running dispatch verificarsi di evento (o completamento I/O) Waiting attesa di evento (o di I/O) 1.5.8

9 Descrittore di Risorsa Descrittori di risorse: strutture di dati, usate dal Kernel, utilizzate per gestire le varie risorse presenti nel sistema. Qualunque risorsa hardware o software; reale o astratta Contengono informazioni sulla risorsa, sul suo stato, etc.; spesso anche puntatori a funzione (operazioni sulla risorsa) Utilizzati dagli algoritmi che gestiscono le varie risorse Strutt. dati diverse per ciascuna risorsa In un S.O. (ad es. Linux), ci sono centinaia di tipi diversi Esempi di risorse: Aree di memoria Blocchi di disco... Pacchetti dati per interfacce di rete 1.5.9

10 Descrittore di Processo Descrittore di processo (Process Descriptor, PD): descrittore di risorsa per la risorsa "processo" informazioni associate a ciascun processo, usate dal Kernel; contenute in una struttura dati. Contiene: Identificatore del processo (PID) Stato del processo Program Counter e registri CPU (compresi i condition code del PSW) Stack Informazioni per lo scheduling della CPU (priorità, etc.) Informazioni per la gestione di memoria RAM Registri MMU, limiti di memoria, etc. Informazioni di contabilizzazione risorse Tempo CPU, user/system time, etc

11 Eventi e Risorse Risorsa = qualunque oggetto (reale o astratto) che i processi usano e che può condizionarne l'avanzamento. Avanzamento di un processo: condizionato dalla disponibilità di risorse di vario tipo. Compito tipico di un S.O. multitasking: controllare l'uso di risorse da parte dei processi in modo da risolvere eventuali conflitti. Risorsa = formalizzazione di Evento: Processo in attesa di evento E: in attesa di acquisire la risorsa R(E). Il processo è bloccato su E, ovvero in attesa di acquisire R(E). Evento = la risorsa R(E) diventa disponibile

12 Eventi e Risorse (Cont.) Risorse: due tipi Risorse permanenti (o riusabili) Utilizzate più volte da più processi; il loro stato non cambia. Seriali (utilizzabili da un processo alla volta) o condivise (shared) (caso opposto). Prodotte dal Kernel per processi; recuperate sistematicamente dal Kernel (al più tardi, alla terminazione del processo). Associate normalmente a entità fisiche (o ad esse riconducibili). Es.: area di memoria (per dati; per libreria condivisa). Numero finito Np, determinato a priori, di tipi di risorse permanenti; per ogni tipo T i di risorsa (1 <= i <= N p ) il Kernel dispone di un numero finito n i, determinato a priori, di unità di risorsa disponibili

13 Risorse consumabili Eventi e Risorse (Cont.) Oggetti transienti; tempo di vita = dalla produzione alla consumazione. Prodotte da processi (produttori) per altri processi (consumatori) dal Kernel per processi. Associate normalmente a entità astratte (o ad esse riconducibili). Es.: buffer con dati, trasferiti da un processo ad un altro. La produzione (da processo Pp ) e la consumazione (da P c ) di una risorsa consumabile sincronizza P c rispetto a P p. Numero finito Nc, determinato a priori, di tipi di risorse consumabili; per ogni tipo T j di risorsa (1 <= j <= N c ) il Kernel dispone di un numero infinito (non noto a priori) di unità n j di risorse, che possono essere prodotte continuamente da processi produttori, in quantità e ad istanti di

14 Eventi e Risorse (Cont.) Schema interazione risorse permanenti: P richiede risorsa R (P va a dormire) Kernel assegna risorsa R a P (Kernel risveglia P) P acquisisce R e la utilizza P rilascia R (Kernel risveglia altri processi in attesa) Schema interazione risorse consumabili: loop: Pc (processo consumatore) richiede risorsa R (P c va a dormire) Pp (processo produttore) produce risorsa R (P p risveglia P c ) Pc acquisisce R e la consuma P p e P c sono sincronizzati

15 Eventi e Risorse (Cont.) Descrittore di risorsa: Utilizzato dal Kernel (Resource Manager) per gestire tutte le risorse Contiene: Nome o tipo di risorsa Numero totale di unità (configurato nel sistema solo ris. permanenti) Numero di unità disponibili (a un dato istante) Puntatore a lista dei processi in attesa di acquisizione della risorsa

16 Code di Scheduling dei Processi Job queue insieme di tutti i processi nel sistema. Ready queue insieme di tutti i processi in stato Ready, pronti ad eseguirsi e in attesa della CPU. Device queues insieme di tutti i processi in attesa del completamento di un'operazione di I/O da parte di una data periferica. Più in generale, Event queues insieme di tutti i processi in attesa di qualche evento o risorsa (di tipo hardware o software) es.: in attesa della terminazione di un processo figlio. I processi migrano tra le varie code durante l'esecuzione. Le code sono normalmente implementate con liste collegate di strutture di dati PD, nel Kernel (collegamento semplice o doppio)

17 Code di Scheduling dei Processi (Cont.) Ready q. PD3 PD13 PD9 PD18 Disk q. PD16 PD2 Tty q. Ether. q. PD41 PD5 PD22... Sfw evt q. PD8 PD15 PD11 PD21 PD

18 Code di Scheduling dei Processi (Cont.) Ready queue CPU I/O I/O queue(s) Richiesta di I/O Time slice esaurito Figlio avviato Sfw. Event queue Fork processo figlio Risorsa disponibile Sfw. Event queue Attesa di risorsa consumabile

19 Context Switch Context switch: parte del lavoro di uno scheduler di processi. Quando la CPU commuta ad un altro processo della Ready queue, il Kernel deve salvare lo stato (il PD) del processo precedente e caricare lo stato del nuovo processo (salvato in precedenza nel suo PD). Il tempo di context switch è tutto overhead; non c'è nessun lavoro utile durante la commutazione (dal punto di vista dell'avanzamento dei processi), quindi va minimizzato. Il tempo di overhead può dipendere dal supporto hardware della CPU

20 Context Switch (Cont.) (N.B. PCB = PD) (overhead) (overhead)

21 Thread Un thread (o processo leggero, lightweight process, LWP) è un'unità di esecuzione del programma associato a un processo; comprende almeno Program Counter e registri CPU (non tutti) uno stack (e uno Stack Pointer) Un thread condivide con i thread suoi pari (peer thread) sezione testo sezione dati risorse del S.O. (N.B. peer = "di pari livello"). Un processo tradizionale (processo pesante, heavyweight process) equivale a un task con soltanto un thread. I thread sono una soluzione elegante al problema di minimizzare l'overhead dello scheduler (context switch)

22 Thread (Cont.) Esempi d'uso: In un server a più thread, un thread principale è bloccato in attesa di connessioni da client, mentre altri thread possono eseguirsi. In applicazioni che richiedono un buffer comune (es. produttore consumatore), l'uso di più thread velocizza il programma. In un sistema WYSIWIG di trattamento di testo, dopo l'inserzione di un paragrafo, un thread può provvedere a riformattare tutto il testo, mentre un altro thread è pronto immediatamente ad accettare nuovi comandi dall'utente. Thread a livello Kernel: supportate direttamente nel kernel, con chiamate di sistema specifiche (Mach, OS/2, Linux). Thread a livello utente: implementate con un set di chiamate a routine di libreria che lavorano a livello utente (libreria Pthread, POSIX.1c). Pro e contro: Uno ULT (User level thread) è più veloce da commutare, e più leggero

23 Scheduling di Processi Pro memoria: scheduling = trovare un ordinamento ottimale di certe operazioni di un dato tipo, secondo alcune metriche prestazionali. Operazione fondamentale in molte parti di un S.O. Quasi tutte le risorse hardware di un calcolatore sono sottoposte a scheduling prima dell'uso (CPU, dischi, etc.). Scheduler a lungo termine (o job scheduler) tipico dei sistemi batch. Seleziona quali processi inserire nella ready queue e li carica in RAM. Scheduler a breve termine (o scheduler della CPU) seleziona qual'è il prossimo processo da eseguire, e gli alloca la CPU. Sistemi time sharing: lo scheduling a lungo termine è assente; sostituito da uno job scheduler a medio termine, che si occupa dello swapping dei task tra la RAM e il disco (zona di swap). Verrà esaminato in seguito

24 Scheduling di Processi (Cont.) CPU Running Terminated RAM Ready CPU scheduler In core asleep Swap in DISK Medium term scheduler Swapped out ready Swap out, total swap out Swapped out asleep New

25 Scheduling di Processi (Cont.) Scheduler a breve termine: chiamato molto di frequente (millisecondi) deve essere veloce. Scheduler a medio lungo termine: chiamato di rado (secondi; minuti) può essere lento. Lo scheduler a medio/lungo termine controlla il grado di multiprogrammazione, cioè il numero di processi concorrentemente in memoria

26 Cicli di Uso della CPU I processi possono essere caratterizzati come: Processi I/O bound passano più tempo in attesa di operazioni di I/O che in fasi di calcolo; molti burst di CPU, brevi. Processi CPU bound passano la maggior parte del tempo in fasi di calcolo; pochi burst di CPU, lunghi. Tutti i processi (senza eccezione) alternano continuamente l'esecuzione di cicli di CPU con cicli di attesa di I/O (istruzioni eseguite, per conto del processo, da un processore periferico) CPU I/O burst cycle. I burst di CPU tendono ad avere una distribuzione statistica ben delineata, con decadimento esponenziale o iper esponenziale

27 Cicli di Uso della CPU (Cont.) Distribuzione dei burst di CPU in funzione della durata (dati sperimentali)

28 Scheduling della CPU Scheduler della CPU (scheduler a breve termine): seleziona qual'è il prossimo processo da eseguire, e gli alloca la CPU. Le decisioni di scheduling possono aver luogo quando un processo: 1. Passa da stato Running a Waiting 2. Passa da Running a Ready per un interrupt o un trap 3. Passa da Running a Ready perchè rilascia volontariamente la CPU 4. Passa da Waiting a Ready 5. Termina. Uno scheduler che prende decisioni solo nei casi 1, 3 e 5 è senza prelazione (nonpreemptive) (una decisione deve comunque essere presa). Ogni altro tipo di scheduler è con prelazione (preemptive)

29 Scheduling della CPU (Cont.) New ammesso 2 interrupt/trap uscita 5 Terminated Ready rilascio CPU 3 Running 4 verificarsi di evento (o completamento I/O) dispatch Waiting 1 attesa di evento (o di I/O) N.B. un interrupt può essere causato dal timer di sistema (esaurimento del time slice del processo)

30 Scheduling della CPU (Cont.) Lo scheduling senza prelazione è molto più semplice, e non necessita di particolare supporto hardware, ma è meno efficiente. Lo scheduling con prelazione è in grado di intervenire "d'autorità" in qualunque circostanza, e pertanto di proteggere la risorsa "CPU" dall'uso indiscriminato di un singolo processo. Lo scheduling senza prelazione deve far affidamento sulla "cooperatività" di tutti i processi per funzionare correttamente; per questo può essere adatto a sistemi di tipo personale (PC), ma è inadeguato per un sistema multiutente time sharing

31 Criteri di Scheduling Influenzano la scelta dello specifico algoritmo di scheduling che si vuole adottare. Dipendono ovviamente dalle specifiche metriche prestazionali di interesse: Utilizzo CPU mantenere la CPU più occupata possibile (MAX) Throughput del sistema numero di processi che completano l'esecuzione nell'unità di tempo (MAX) Tempo di turnaround tempo necessario per eseguire un particolare processo (dall'avvio del processo alla sua terminazione) (MIN) Tempo d'attesa tempo che un processo ha speso nella ready queue (MIN) L'algoritmo di scheduling non influenza il tempo impiegato per eseguire il programma, ma il tempo perso in attesa della CPU. Tempo di risposta intervallo di tempo tra l'invio di una richiesta al programma e l'inizio della risposta (per ambienti interattivi); definibile anche come il tempo speso nella ready queue fino alla prima transizione in stato Running (MIN)

32 Scheduling FCFS Scheduling FCFS = First Come, First Served esempio per valutazione prestazioni: Processo Burst Time (msec) P 1 24 P 2 3 P 3 3 Ordine di arrivo: P 1, P 2, P 3 P 1 P 2 P Tempo d'attesa: P 1 = 0; P 2 = 24; P 3 =

33 Scheduling FCFS (Cont.) Ordine di arrivo: P 2, P 3, P 1 P 2 P 3 P P 1 Tempo d'attesa: P1 = 6; P2 = 0; P3 = 3 Tempo medio d'attesa: ( )/3 = 9/3 = 3 msec Molto meglio del primo caso. Effetto convoglio (convoy effect): molti processi brevi che aspettano dietro a un processo lungo. FCFS è senza prelazione, quindi inadeguato per il time sharing

34 Scheduling SJF Scheduling SJF = Shortest Job First; detto anche SJN (Shortest Job Next). Si associa ad ogni processo la lunghezza del suo prossimo burst di CPU; si seleziona il processo con la minima lunghezza. Due varianti: SJF senza prelazione una volta data la CPU a un processo, questo non può essere prelazionato fino al completamento del suo burst di CPU. SJF con prelazione se si presenta un nuovo processo con burst di CPU inferiore al tempo rimanente per il processo in esecuzione, questo viene prelazionato. Schema detto Shortest Remaining Time First (SRTF). SJF è ottimale: fornisce il minimo tempo medio di attesa possibile per un dato insieme di processi. Unico problema: occorre predire il futuro... Inadeguato (a meno di approssimazioni) per scheduling a breve termine Usato spesso per scheduling a lungo termine in sistemi batch, basandolo sul limite di tempo del processo, che viene specificato alla sottomissione

35 Scheduling SJF senza prelazione Esempio per valutazione prestazioni: Processo Tempo di arrivo Burst Time P P P P4 5 4 SJF Tempi (senza di arrivo prelazione): P 1 P 2 P 3 P 4 P 4 P 1 P 3 P Tempo medio di attesa: [0 + (8 2) + (7 4) + (12 5)] / 4 = P 1 P 2 P 3 P 4

36 Scheduling SJF con prelazione Stesso esempio: Processo Tempo di arrivo Burst Time P P P P4 5 4 SJF Tempi (con di arrivo prelazione): P 1 P 2 P 3 P 4 P P 1 P 2 P 3 P 2 P Tempo medio di attesa: [( ) + ( ) (7 5)] / 4 = ( )/4 = 12/4 = 3 msec

37 Scheduling con Priorità Scheduling con priorità (priority scheduling): si associa ad ogni processo una priorità (un intero), che dovrà variare dinamicamente Di solito, intero più piccolo = priorità massima. La CPU è data ogni volta al processo più prioritario Senza prelazione Con prelazione. SJF è uno scheduling con priorità: la priorità è la lunghezza (stimata) del prossimo burst di CPU. Problema (generale): starvation (blocco indefinito) processi a bassa priorità potrebbero non essere mai eseguiti. To starve = morire di fame Soluzione: tecnica dell' invecchiamento (aging) al passare del tempo, aumentare la priorità dei processi in attesa Soluzione pratica molto diffusa negli scheduler time sharing: priorità = f( T CPU / T eff )

38 Scheduling RR Scheduling RR = Round Robin adatto in particolare per sistemi realtime (hard o soft), o anche per sistemi time sharing. Viene data ad ogni processo una piccola quantità di tempo CPU (quanto di tempo time quantum, o timeslice). Dopo questo tempo, il processo è prelazionato e aggiunto in coda alla ready queue (che lavora come una coda circolare). Se ci sono n processi nella ready queue, e il timeslice è q, ogni processo ottiene 1/n del tempo CPU, in frazioni lunghe al massimo q unità di tempo alla volta. Nessun processo aspetta più di (n 1)q unità di tempo. Prestazioni: q grande FIFO (FCFS) q piccolo noto come processor sharing (condivisione di processore). N.B. q deve essere grande rispetto al context switch, altrimenti l'overhead

39 Scheduling RR (Cont.) Esempio per valutazione prestazioni: Processo Burst Time P P 2 60 P Si assume che tutti i processi siano arrivati contemporaneamente nella ready queue, nell'ordine indicato, e che nessun altro processo arrivi nel frattempo. P P 5 40 SJF: P 5 P 2 P 4 P 1 P

40 Scheduling RR (Cont.) RR, con timeslice = 70 msec.: Durata del timeslice P 1 P 2 P 3 P 4 P 5 P 1 P 3 P 4 P 1 P 3 P Tempo medio di attesa: ( )/5 = 300 msec. Tempo medio di risposta: ( )/5 = 134 msec. Tipicamente con RR si ottengono tempi di attesa (e quindi, a parità di programmi, tempi di turnaround) più alti di SJF, ma tempi di risposta molto migliori N.B. al diminuire del timeslice, il tempo medio di attesa cambia ma rimane pressochè invariato, mentre diminuisce sensibilmente il tempo di risposta;

41 Contesti particolari Sistemi multi CPU: Algoritmi più complessi Due categorie: Multiprocessing simmetrico (un'unica ready queue; load sharing) Multiprocessing asimmetrico (una sola CPU accede alle strutture dati del kernel; condivisione di dati più semplice non ci sono conflitti). Sistemi real time: Hard real time: task critici hanno limiti massimi di tempo di risposta Non si può usare paginazione di memoria né dischi (tempi di esecuzione hanno variazioni imprevedibili) Quindi, solo software special purpose su hardware dedicato. Soft real time: task critici hanno stabilmente maggior priorità degli altri Possono essere compatibili con sistemi time sharing classici (es

42 Latenza di Dispatch Latenza di dispatch: tempo tra il verificarsi di un evento e il suo trattamento. Parametro fondamentale per i sistemi interattivi e (soprattutto) real time Influenza direttamente il tempo di risposta. Problema: per assicurare la consistenza di strutture dati, i Kernel (incluso molte implementazioni di Unix) permettono un context switch solo: Al completamento di una chiamata di sistema (cioè: le chiamate di sistema non sono prelazionabili) Quando c'è un blocco per attesa di I/O In questi casi, la latenza di dispatch è inevitabilmente lunga. Soluzioni: Inserire punti di prelazionabilità nel codice di chiamate di sistema complesse

43 Latenza di Dispatch (Cont.) Solaris 2 ha un fully preemptible kernel (kernel totalmente prelazionabile); effetti sulla latenza di dispatch: Oltre 100 msec. con la prelazionabilità disabilitata 2 msec. con la prelazionabilità abilitata. Linux ha iniziato ad introdurre meccanismi per la prelazionabilità del kernel a partire dalla versione 2.0; la versione 2.4 ha un kernel quasi totalmente prelazionabile. Meccanismi: Semafori di kernel Spinlock (per SMP). Non sono disponibili misure esatte sulle prestazioni

44 Latenza di Dispatch (Cont.) Fase dei conflitti nel dispatching: Prelazione dei processi eventualmente attivi nel kernel Rilascio di risorse da parte di processi a bassa priorità, richieste da un processo a priorità maggiore

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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. Laboratorio Software 2008-2009 C. Brandolese

Processi. Laboratorio Software 2008-2009 C. Brandolese Processi Laboratorio Software 2008-2009 Introduzione I calcolatori svolgono operazioni simultaneamente Esempio Compilazione di un programma Invio di un file ad una stampante Visualizzazione di una pagina

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

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

Sistemi Operativi. Modulo 4: Scheduling

Sistemi Operativi. Modulo 4: Scheduling Sistemi Operativi Modulo 4: Scheduling Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

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

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

Parte 2: Gestione dei Processi. 4.1 Concetto di Processo. 4.1.2 Stato del processo

Parte 2: Gestione dei Processi. 4.1 Concetto di Processo. 4.1.2 Stato del processo Parte 2: Gestione dei Processi 1 Il processo è l unità di lavoro nella maggior parte dei sistemi operativi. È quindi il centro di tutta la teoria dei Sistemi Operativi Il sistema operativo è responsabile

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

A.C. Neve Sistemi operativi 3.0 1

A.C. Neve Sistemi operativi 3.0 1 SISTEMI OPERATIVI Sistemi operativi Processi 2 Componenti di un sistema operativo 3 Tipologie di un sistema operativo 4 Nucleo di un sistema operativo Caratteristiche dei processi 7 Stati dei processi

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

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

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

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

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

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

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 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario Processi e thread Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di processo Stati di un processo Operazioni e relazioni tra processi Concetto di thread Gestione dei processi

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

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

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

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni Sistemi operativi real time basati su Linux: gestione delle risorse e dei processi. Tesina per l esame di Sistemi Operativi a cura di. Prof. Aldo Franco Dragoni Corso di laurea in Ingegneria Informatica

Dettagli

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate

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

Sistema Operativo e Applicativi

Sistema Operativo e Applicativi Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36 Software Conosciamo due classi di software: Programmi

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

Lezione T6 Scheduling e dispatching

Lezione T6 Scheduling e dispatching Lezione T6 Scheduling e dispatching Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2013/2014 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

I processi. Concetto di processo Scheduling dei processi Operazioni sui processi Processi cooperanti Comunicazione fra processi

I processi. Concetto di processo Scheduling dei processi Operazioni sui processi Processi cooperanti Comunicazione fra processi I processi Concetto di processo Scheduling dei processi Operazioni sui processi Processi cooperanti Comunicazione fra processi Il modello a processi Consideriamo un informatico appassionato di cucina che

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

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza Dipartimento di Informtica e stica Università di Roma La Sapienza Cosa è un sistema operativo Esempi di Insieme di componenti SW che gestiscono le operazioni di basso livello dell elaboratore Compiti di

Dettagli

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività:

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività: Impossibile visualizzare l'immagine. Processi 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

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

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

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

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

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

MACCHINA DI VON NEUMANN

MACCHINA DI VON NEUMANN I seguenti appunti non hanno la pretesa di essere esaustivi, ma hanno l unico scopo di illustrare in modo schematico i concetti necessari allo sviluppo del programma di Informatica della 1D del Liceo Scientifico

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 3 LEZIONE PROCESSI CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 3 LEZIONE PROCESSI CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 3 LEZIONE PROCESSI CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Concetto di processo

Dettagli

Corso di Sistemi Operativi

Corso di Sistemi Operativi Corso di Sistemi Operativi Scheduling dei processi a.a. 2012/2013 Francesco Fontanella Classificazione dei processi Durante l'esecuzione di un processo: si alternano periodi di attività svolte dalla CPU

Dettagli

1 I processi e la loro gestione

1 I processi e la loro gestione 1 I processi e la loro gestione Quello di processo è un concetto astratto, come evidenziato dalla bella definizione di Tanenbaum: Processo: l'astrazione di un programma che sta girando. La realizzazione

Dettagli

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

Mul&programmazione. Ges&one dei processi. Esecuzione parallela. MAC OSX Monitoraggio a9vità. Linux System monitor. Windows Task Manager. A. Mul&programmazione Ges&one dei processi A. Ferrari Tu9 i Sistemi Opera&vi moderni sono in grado di eseguire contemporaneamente più di un programma Il numero di programmi in esecuzione è superiore al numero

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

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

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

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli