Esercitazione di Sistemi Operativi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazione di Sistemi Operativi"

Transcript

1 Esercitazione di Sistemi Operativi Moreno Marzolla Università Ca Foscari di Venezia Esercizio 1: Scheduling In un sistema time sharing con priorità sono presenti 4 processi : in esecuzione; pronto; e in attesa su operazione di. I processi e hanno uguale priorità, più alta della priorità dei processi e, le cui priorità sono tra loro uguali. Descrivere come cambia lo stato del sistema se, partendo da questa situazione, si verificano, nell ordine, gli eventi seguenti: a. quanto di tempo b. completamento dell operazione di per c. il processo in esecuzione chiede una operazione di d. completamento dell operazione di per e. quanto di tempo f. il processo in esecuzione termina Moreno Marzolla Esercitazione di Sistemi Operativi 2 Scheduling: richiami Nel modello più semplice, ciascun processo può trovarsi in uno tra cinque stati: Nuovo: un nuovo processo che inizia l esecuzione In Esecuzione: sta usando la Pronto: andrebbe in esecuzione se avesse la In attesa: il processo non può essere eseguito perché è in attesa di un evento esterno Uscita: un processo che termina l esecuzione Scheduling: richiami (cont.) Il diagramma delle transizioni tra gli stati è il seguente: Admit New Ready Running Exit Event Occurs Dispatch Timeout Blocked Event Wait Release Moreno Marzolla Esercitazione di Sistemi Operativi 3 Moreno Marzolla Esercitazione di Sistemi Operativi 4

2 Scheduling: richiami (cont.) In realtà per svolgere l esercizio, ci conviene pensare alla rappresentazione del diagramma precedente come una rete di code (la versione seguente è semplificata): Ready prio high Ready prio low Scheduling: richiami (cont.) Nello scheduling con priorità, quando il SO deve assegnare la ad un processo pronto, sceglie quello con priorità più alta tra tutti i processi Ready. All interno della stessa classe di priorità, lo scheduling è FIFO. Timeout Event Wait Blocked Queue Event Occurs Moreno Marzolla Esercitazione di Sistemi Operativi 5 Moreno Marzolla Esercitazione di Sistemi Operativi 6 Soluzione dell esercizio Soluzione (cont.) Situazione iniziale (i processi sottolineati hanno priorità più alta): a. quanto di tempo diventa Ready. La passa a b. completa diventa Ready. c. Il processo in esecuzione chiede diventa Blocked. La viene assegnata a perché di priorità più alta Moreno Marzolla Esercitazione di Sistemi Operativi 7 Moreno Marzolla Esercitazione di Sistemi Operativi 8

3 Soluzione (cont.) Soluzione (cont.) d. completa diventa Ready e. Quanto di tempo diventa Ready, e la viene assegnata a perché di priorità più alta f. Il processo in esecuzione termina La viene assegnata a Moreno Marzolla Esercitazione di Sistemi Operativi 9 Moreno Marzolla Esercitazione di Sistemi Operativi 10 Esercizio 2: Allocazione Risorse Un sistema batch dispone di 20 lettori di nastri. Al sistema arrivano processi che richiedono 4 lettori (qualsiasi) per completare. Di questi lettori, inizialmente ne vengono utilizzati 3, e l ultimo viene effettivamente utilizzato solo per un breve periodo prima che il processo termini. Considerare il seguente algoritmo di allocazione risorse: un nuovo processo viene ammesso se ci sono almeno 4 lettori liberi. In tal caso, tutti i 4 lettori gli vengono assegnati fino alla terminazione. Se non ci sono 4 lettori liberi, il processo viene messo in attesa. Una volta allocati per un certo processo, i lettori non possono essere revocati finché il processo non termina. In questo scenario, quale è il numero minimo e massimo di lettori di nastri allocati ma non utilizzati dai processi? Sviluppare un algoritmo di allocazione delle risorse che consenta un migliore utilizzo delle risorse, evitando il deadlock. Moreno Marzolla Esercitazione di Sistemi Operativi 11 Svolgimento Il numero massimo di processi in esecuzione parallelamente è 20/4 = 5. Ciascun processo avrà 4 lettori di nastri a disposizione. Moreno Marzolla Esercitazione di Sistemi Operativi 12 P5

4 Svolgimento (cont.) Nella migliore delle ipotesi, ovvero quando tutti i processi stanno per concludere e utilizzano 4 lettori ciascuno, tutti i lettori di nastri saranno impegnati. Nella peggiore delle ipotesi, tutti i processi in esecuzione potrebbero essere nella fase iniziale, in cui fanno uso di 3 lettori ciascuno. Quindi in tutto staranno usando 5x3=15 lettori, e i rimanenti 5 sono inutilizzati Algoritmo di allocazione alternativo Consideriamo prima un algoritmo che tenta di massimizare il numero di lettori utilizzati, ma non funziona: Un nuovo processo viene ammesso se c è almeno un lettore libero, ossia non già assegnato ad altri processi Se un processo non riesce ad ottenere almeno 3 lettori, rimane bloccato finché non gli vengono assegnati i mancanti. Notare che nel frattempo continua a trattenere i lettori già assegnatigli Quando un processo ottiene 3 lettori, può cominciare ad operare. Moreno Marzolla Esercitazione di Sistemi Operativi 13 Moreno Marzolla Esercitazione di Sistemi Operativi 14 Perché non funziona L algoritmo precedente può portare a deadlock: 6 processi ( P6) vengono ammessi, ciascuno richiede (ed ottiene) 3 dei 4 lettori che servono. I processi iniziano ad operare. Rimangono 2 lettori liberi un ulteriore processo (P7) viene ammesso, gli vengono assegnati i 2 lettori liberi. Nessun ulteriore lettore è disponibile. Il processo però ne richiede 3 per iniziare ad operare, per cui rimane bloccato trattenendo i lettori già assegnati. P6 giungono infine a richiedere un quarto lettore. Nessuno è disponibile, per cui rimangono bloccati e non liberano le risorse già acquisite. Moreno Marzolla Esercitazione di Sistemi Operativi 15 Perché non funziona P5 P6 P7 (bloccato) Moreno Marzolla Esercitazione di Sistemi Operativi 16

5 Una possibile soluzione funzionante Ciascun processo viene ammesso se esistono almeno 4 lettori liberi. Altrimenti il processo resta in attesa. Ad ogni nuovo processo ammesso vengono assegnati inizialmente 3 lettori. In questo modo, al più 6 processi possono essere attivi contemporaneamente. Questi utilizzeranno almeno 18 lettori di nastri. 2 rimangono liberi. Quando un processo entra nella fase terminale, richiederà un ulteriore nastro Moreno Marzolla Esercitazione di Sistemi Operativi 17 Esercizio 3 Si consideri un computer multiprogrammato in cui ogni job è identico agli altri. Ciascun job, in un periodo di computazione T, spende metà tempo in e l altra metà usando la. Ogni job viene eseguito per N periodi. Si assuma uno scheduling round robin, e che le operazioni di possano essere sovrapposte con l uso di. Definiamo le seguenti quantità: Tempo di turnaround: Throughput: tempo complessivo richiesto per completare un job numero medio di job completati per periodo di tempo T Utilizzazione della : % di tempo in cui la è attiva (non in attesa) Calcolare le precedenti quantità nel caso di uno, due e quattro job simultanei, in ciascuna delle situazioni seguenti: a. Ogni periodo T è dedicato per la prima metà ad, e per la seconda metà all uso di b. Ogni periodo T è dedicato per il primo e per l ultimo quarto ad, e nella parte centrale all uso di Moreno Marzolla Esercitazione di Sistemi Operativi 18 Soluzione: 1 job Consideriamo il caso a.: il processo occupa la prima metà di ogni periodo T facendo, e la rimanenza usando la Job1 T Tempo di turnaround: NT T T Job1 Job2 Soluzione: 2 job Consideriamo il caso a., ricordando che il sistema consente di sovrapporre l con l uso della T T T Tempo medio di turnaround: (NT+NT+0.5T) / 2 = NT+0.25T Throughput: 1/N job completati/periodo Job1 = NT, Job2 = NT T Utilizzazione : 50% Throughput: 2/(N+0.5) job completati/periodo Il caso b. è identico L ultimo job finisce dopo (N+0.5) periodi Utilizzazione : N/(N+0.5) Moreno Marzolla Esercitazione di Sistemi Operativi 19 Moreno Marzolla Esercitazione di Sistemi Operativi 20

6 Soluzione: 2 job Soluzione: 4 job (caso a) Job1 Consideriamo ora il caso b. Job2 Job1 Tempo di turnaround: NT+ 0.25T Job1 = NT, Job2 = NT + 0,5T Throughput: 2/(N+ 0.5) job completati/periodo T T T T L ultimo job finisce dopo (N+ 0.5) periodi Utilizzazione : N/(N+0.5) Job2 Job3 Job4 T T T T Moreno Marzolla Esercitazione di Sistemi Operativi 21 Moreno Marzolla Esercitazione di Sistemi Operativi 22 Soluzione: 4 job (caso a) Soluzione: 4 job (caso b) Tempi di completamento: Job1=T + 2(N 1)T = 2NT T Job2=1,5T + 2(N 1)T = 2NT 0.5 T Job1 Job3=2T + 2(N 1)T = 2NT Job2 Job4=2,5T + 2(N 1)T = 2NT T Tempo medio di Turnaround: 2NT 0.25T Throughput: 4/(2N+0.5) job completati/periodo Job3 Job4 T T T T T T T T T Utilizzazione : 2N/(2N + 0.5) = N/(N ) Moreno Marzolla Esercitazione di Sistemi Operativi 23 Moreno Marzolla Esercitazione di Sistemi Operativi 24

7 Soluzione: 4 job (caso b) Esercizio 4 Tempi di completamento: Job1=1,25 T + 2(N 1)T = 2NT 0,75 T Job2=1,5 T + 2(N 1)T = 2NT 0,5 T Job3=2 T + 2(N 1)T = 2NT Job4=2,5 T + 2(N 1)T = 2NT + 0,5 T Tempo medio di Turnaround: 2NT T Throughput: 4/(2N + 0,5) job completati/periodo Utilizzazione : 2N/(2N + 0,5) = N/(N + 0,25) Il calcolatore CDC6600 poteva gestire fino a 10 processi contemporaneamente utilizzando una forma di Round Robin chiamata Processor Sharing. Un process switch avveniva ad ogni istruzione, così che la prima istruzione eseguita apparteneva al processo 1, la successiva al processo 2 e così via. Il process switch era gestito via hardware con overhead pari a zero. Se un processo richiedeva T secondi per terminare in assenza di competizione per la, quanto tempo avrebbe richiesto se il processor sharing veniva attuato con n processi in totale? Moreno Marzolla Esercitazione di Sistemi Operativi 25 Moreno Marzolla Esercitazione di Sistemi Operativi 26 Soluzione È sufficiente osservare che il Processor Sharing equivale a Round Robin con quanto di tempo "quasi" zero. Quale sarebbe la risposta se considerassimo uno scheduling Round Robin con quanto di tempo pari a Q secondi? Processo Soluzione (cont.) A ciascun processo servono T/Q quanti di tempo, ciascuno di durata Q, per terminare. Se un processo riceve un quanto a partire dal tempo T 0, il suo prossimo quanto inizierà al tempo T 0 +nq In tutto, per eseguire tutti i processi servono (nq)(t/q) = nt secondi (indipendente dal valore di Q). Pertanto, anche nel caso del Processor Sharing, il tempo richiesto ad eseguire un processo sarà nt secondi Q Tempo nq Moreno Marzolla Esercitazione di Sistemi Operativi 27 Moreno Marzolla Esercitazione di Sistemi Operativi 28

8 Esercizio 5 Cinque processi, A E, arrivano alla quasi contemporaneamente. Il loro tempo di esecuzione stimato è rispettivamente 10, 6, 2, 4 e 8 minuti. Le loro priorità sono risp. 3, 5, 2, 1 e 4 (5 è la priorità massima). Per ciascuno degli algoritmi di scheduling seguenti, determinare il tempo medio di completamento per processo. Ignorare ogni overhead causato dal context switch: a) Round Robin (quanto di 1min e 2min); b) Priority Scheduling; c) First Come First Served (FCFS, l ordine di esecuzione è A B C D E); d) Shortest Process Next (SPN) Nel caso a) assumere un sistema multiprogrammato, in cui ogni job riceve una quota equa di. Nei casi da b) a d) assumere che un solo processo alla volta sia in esecuzione finché termina. Tutti i processi sono bound. Moreno Marzolla Esercitazione di Sistemi Operativi 29 RR con Quanto=1min E (8) D (4) C (2) B (6) A (10) T (min) Tempi di complet.: T C =8, T D =17, T B =23, T E =28 T A =30 Tempo medio di completamento: ( ) / 5 = 21,2 minuti Moreno Marzolla Esercitazione di Sistemi Operativi 30 RR con Quanto=2min Priority Scheduling E (8) D (4) C (2) B (6) A (10) T (min) Tempi di complet.: T C =6, T D =16, T B =22, T E =28, T A =30 Tempo medio di completamento: ( ) / 5 = 20,4 minuti Moreno Marzolla Esercitazione di Sistemi Operativi 31 E (4/8) D (1/4) C (2/2) B (5/6) A (3/10) T (min) Tempi di complet.: T A =24, T B =6, T C =26, T D =30, T E =14 Tempo medio di completamento: ( ) / 5 = 20 minuti Moreno Marzolla Esercitazione di Sistemi Operativi 32

9 FCFS SPN E (8) D (4) C (2) B (6) A (10) T (min) Tempi di complet.: T A =10, T B =16, T C =18, T D =22, T E =30 Tempo medio di completamento: ( ) / 5 = 19,2 minuti Moreno Marzolla Esercitazione di Sistemi Operativi 33 E (8) D (4) C (2) B (6) A (10) T (min) Tempi di complet.: T C =2, T D =6, T B =12, T E =20, T A =30 Tempo medio di completamento: ( ) / 5 = 14 minuti Moreno Marzolla Esercitazione di Sistemi Operativi 34 Osservazione su SPN SPN ha fornito il minor tempo medio di turnaround. È possibile dimostrare che questo è vero in generale. Supponiamo di avere 3 processi, che richiedono risp. tempo T 1 < T 2 < T 3 per completare. Calcoliamo il tempo medio di turnaround ( T 1 + (T 1 +T 2 ) + (T 1 +T 2 +T 3 ) ) / 3 = ( 3T 1 + 2T 2 + T 3 ) / 3 Nella sommatoria, il tempo che compare col fattore più alto è T 1, che è il tempo minore. Il tempo più elevato contribuisce alla somma col fattore più piccolo. Tabella riassuntiva Algoritmo RR (Quanto=1min) Tempo medio di Turnaround 21.2 RR (Quanto=2min) 20.4 Priority Scheduling 20 FCFS 19.2 SPN 14 Moreno Marzolla Esercitazione di Sistemi Operativi 35 Moreno Marzolla Esercitazione di Sistemi Operativi 36

10 Esercizio 6 Misure compiute su un certo sistema hanno mostrato che un processo mediamente usa la per un tempo T prima di bloccarsi su un. Un process switch richiede tempo S (overhead). Considerando uno scheduling Round Robin con quanto Q, dare una formula per l efficienza della (frazione di tempo dedicata ai processi) per ciascuno dei casi seguenti: a) Q= b) Q>T c) S<Q<T d) Q=S e) Q quasi zero. Moreno Marzolla Esercitazione di Sistemi Operativi 37 Caso a) Q= In questo caso ogni processo non viene mai interrotto, e il context switch avviene solo ogni T, quando il processo in esecuzione si blocca su. Kernel Efficienza: T / ( T + S ) T S T S T S tempo Moreno Marzolla Esercitazione di Sistemi Operativi 38 Caso b) Q>T Questo caso è equivalente al precedente Un processo non ha ancora consumato il suo quanto di tempo Q quando si blocca su. Quindi avviene un context switch ogni T. L efficienza è ancora T / ( T + S ) Caso c) S<Q<T In questo caso avviene uno o più context switch prima del blocco del processo su. Ciascun processo necessita di circa T/Q quanti di tempo di durata Q prima di bloccarsi su Kernel Q S Q S tempo Moreno Marzolla Esercitazione di Sistemi Operativi 39 Efficienza (approssimata): Q / ( Q + S ) > 0.5 Moreno Marzolla Esercitazione di Sistemi Operativi 40

11 Caso d) Q=S In questo caso avviene uno o più context switch prima del blocco del processo su. In particolare, avvengono in tutto circa T/Q context switches. Kernel Caso e) Q quasi 0 Se il quanto è troppo breve, si può immaginare che il sistema spenda quasi tutto il tempo ad eseguire context switches: Kernel Q S Q S tempo Q S Q S tempo Efficienza (approssimata): Q / ( Q + S ) = S / 2S = 0.5 Efficienza: Q / ( Q + S ) = quasi 0 Moreno Marzolla Esercitazione di Sistemi Operativi 41 Moreno Marzolla Esercitazione di Sistemi Operativi 42 Esercizio 7 È dato il seguente frammento di programma, eseguito nel Sistema Operativo UNIX. Descrivere l evoluzione del programma (quali processi vengono creati, quali programmi eseguono e quale è il contenuto della memoria del sistema): /* programma "a" */ Attenzione!! Ricordarsi che nel linguaggio C la valutazione degli operatori logici && e è non stretta: if (a && b) x; else y; if (a) { if (b) x; else y; } else y; if (fork() && fork()) exec("b"); else exec("c"); if (a b) x; else y; if (a) x; else { if (b) x; else y; } Moreno Marzolla Esercitazione di Sistemi Operativi 43 Moreno Marzolla Esercitazione di Sistemi Operativi 44

12 Fork() ed Exec() Svolgimento esito fork( ) int exec(path, arg) Processo "a" /* programma "a" */ Crea una copia del processo che esegue la fork(); Il codice rimane condiviso, l area dati viene duplicata Il processo creato riceve esito=0 Il processo padre riceve esito=pid del figlio Sostituisce il processo corrente, lanciando il programma specificato nel primo parametro L area codice e dati vengono sovrascritte con quelle del nuovo processo Processo "a" padre (fork()>0) exec("b") Processo "a" padre (fork()>0) fork() fork() Processo "a" figlio (fork()==0) exec("c") Processo "a" figlio (fork()==0) exec("c") Processo "c" if (fork() && fork()) exec("b"); else exec("c"); Moreno Marzolla Esercitazione di Sistemi Operativi 45 Processo "b" Processo "c" Moreno Marzolla Esercitazione di Sistemi Operativi 46 Esercizio 8 Scrivere un frammento di programma che utilizzi le funzioni fork, exec e wait di Unix per realizzare la seguente situazione: Svolgimento idprog2 = fork(); /* Duplica il processo */ if (idprog2 == 0) /* è il figlio? */ execl("prog2",...); /* Sì, esegui prog2 */ Un programma prog1 deve mandare in esecuzione i programmi prog2 e prog3 creando per essi due processi. I programmi prog2 e prog3 devono evolvere indipendentemente, mentre prog1 deve aspettare che entrambi i processi creati finiscano prima di continuare con l esecuzione. prog1 prosegue poi chiamando la funzione f2 se è terminato prima prog2, o la funzione f3 se è terminato prima prog3 idprog3 = fork(); /* Come sopra per prog3 */ if ( idprog3 == 0 ) execl("prog3",...); fine1 = wait( &stato ); /* Attende la terminazione */ fine2 = wait( &stato ); /* dei due processi */ if ( fine1 == idprog2 ) /* E terminato prima prog2? */ f2( ); /* Sì, esegue f2( ) */ else f3( ); /* No, esegue f3( ) */ Moreno Marzolla Esercitazione di Sistemi Operativi 47 Moreno Marzolla Esercitazione di Sistemi Operativi 48

13 Esercizio 9 Svolgimento In un sistema time sharing con priorità sono presenti quattro processi, nel seguente stato:, pronti; in esecuzione; in attesa su operazione di I processi, e hanno priorità uguale, e più alta del processo. Descrivere come cambia lo stato del sistema se, a partire da questa situazione, si verificano nell ordine gli eventi seguenti: a. quanto di tempo b. completamento dell operazione di per c. quanto di tempo d. il processo in esecuzione chiede una operazione di e. il processo in esecuzione termina. Situazione iniziale : Running=, Ready=,, Blocked= a. Quanto di tempo Running=, Ready=,, Blocked= b. Complet. per Running=, Ready=,, c. Quanto di tempo Running=, Ready=,, d. Proc. in esec. chiede Running=, Ready=,, Blocked= e. Il proc. in esec. termina Running=, Ready=, Blocked= Moreno Marzolla Esercitazione di Sistemi Operativi 49 Moreno Marzolla Esercitazione di Sistemi Operativi 50 Esercizio 10 Svolgimento In un sistema time sharing arrivano tre processi, che vengono inizialmente posti in stato di pronto ( occupa la testa della coda, poi vengono e ). I processi hanno priorità uguale, e vengono schedulati con algoritmo Round Robin con quanto di tempo 200 millisecondi. Il comportamento dei processi è il seguente: a. ha un burst di 900msec, dopodiché termina; b. ha un burst di 150msec, poi si blocca in attesa di un evento A, che viene completato dopo 400msec, infine ha un ultimo burst di 300msec prima di terminare. c. ha un burst di 100msec, poi si mette in attesa di un evento B, che viene completato dopo 450msec, infine ha un ultimo burst di 100msec prima di terminare T (msec) Descrivere l evoluzione dei processi. Moreno Marzolla Esercitazione di Sistemi Operativi 51 Moreno Marzolla Esercitazione di Sistemi Operativi 52

14 Esercizio 11 Soluzione (1) 0 < X < 20 L ordine sarà P5 I tempi di completamento saranno: Cinque processi (da a P5) hanno tempo di esecuzione rispettivamente 20, 40, 50, 70 e X msec. Supponendo che vengano schedulati con politica Shortest Process Next, quale sarà il loro tempo medio di completamento? (La risposta dipenderà dal valore di X). P5: X : X+20 : X : X : X Media: (5X )/5 = X+74 Moreno Marzolla Esercitazione di Sistemi Operativi 53 Moreno Marzolla Esercitazione di Sistemi Operativi 54 Soluzione (2) 20 < X < 40 L ordine sarà P5 I tempi di completamento saranno: : 20 P5: 20+X : 20+X+40 : 20+X : 20+X Media: ( X )/5 = 0,8 X+78 Soluzione (3) 40 < X < 50 L ordine sarà P5 I tempi di completamento saranno: : 20 P5: : X : X+50 : X Media: ( X )/5 = 0,6 X+86 Moreno Marzolla Esercitazione di Sistemi Operativi 55 Moreno Marzolla Esercitazione di Sistemi Operativi 56

15 Soluzione (4) Soluzione (5) 50 < X < 70 L ordine sarà P5 I tempi di completamento saranno: : 20 P5: : X > 70 L ordine sarà P5 I tempi di completamento saranno: : 20 P5: : : X : : X+70 Media: ( X + 70)/5 = 0,4 X+96 : X Media: ( X)/5 = 0,2 X+110 Moreno Marzolla Esercitazione di Sistemi Operativi 57 Moreno Marzolla Esercitazione di Sistemi Operativi 58 Riepilogo Grafico di f(x), tempo di completamento in funzione di X Moreno Marzolla Esercitazione di Sistemi Operativi 59

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

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della 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 della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler (a breve

Dettagli

Scheduling della CPU

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

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 14 Martedì 21-11-2017 Comportamento dei processi Durante la sua attività,

Dettagli

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

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

Dettagli

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

SCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU SISTEMI OPERATIVI SCHEDULING DELLA CPU Obiettivi» Introduzione allo scheduling della CPU Aspetto fondamentale dei sistemi operativi multiprogrammati» Algoritmi di scheduling della CPU» Criteri per la scelta

Dettagli

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

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

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 7 Giovedì 3-11-2016 1 Scheduling Scheduling a breve termine Lo scheduler

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere

Dettagli

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

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

Dettagli

Scheduling della CPU

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

Dettagli

Capitolo 5 - Silberschatz

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

Dettagli

Scheduling della CPU. Sistemi Operativi L-A AA

Scheduling della CPU. Sistemi Operativi L-A AA Scheduling della CPU Sistemi Operativi L-A AA 2009-2010 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU Scheduling della CPU: commuta l uso della CPU tra i

Dettagli

Università degli Studi di Padova - Corso di Laurea in Informatica

Università degli Studi di Padova - Corso di Laurea in Informatica Università degli Studi di Padova - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 40 min dalla sua presentazione.

Dettagli

E-1: Scheduling dei processi

E-1: Scheduling dei processi E-1: Scheduling dei processi. Memo scheduling criteri di valutazione delle politiche di scheduling efficienza di utilizzo (tempo utile/tempo di scheduling) throughput (processi completati per unità di

Dettagli

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

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

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

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

Dettagli

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano. Domande di riepilogo

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano. Domande di riepilogo Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano Domande di riepilogo 1) Il descrittore di processo (Process Control Block) include al suo interno:

Dettagli

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

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

Dettagli

Lezione R4. Sistemi embedded e real-time

Lezione R4. Sistemi embedded e real-time Lezione R4 Sistemi embedded e real-time 30 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R4.1 Di cosa parliamo in questa lezione?

Dettagli

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

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della 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 della CPU Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduler della

Dettagli

I Processi. Il Concetto di Processo

I Processi. Il Concetto di Processo I Processi 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 eseguite

Dettagli

Sistemi Operativi 13 Novembre 2015

Sistemi Operativi 13 Novembre 2015 Sistemi Operativi 13 Novembre 2015 Esercizio 1 - Scheduling dei processi Data la seguente sequenza di processi Processo Istante Arrivo Durata Priorità P 1 0 7 2 P 2 1 5 3 P 3 3 3 1 P 4 7 5 2 se ne determini

Dettagli

Richiami sui Concetti Fondamentali dei Processi

Richiami sui Concetti Fondamentali dei Processi Processi Processi 1 Richiami sui Concetti Fondamentali dei Processi Processi 2 Definizione Nell ambito dei sistemi operativi esistono diverse definizioni di processo, ad es. un programma in esecuzione

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 14 Giovedì 22-11-2018 Scheduling in UNIX Poiché UNIX è un sistema multiutente

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

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

Dettagli

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse In un sistema operativo che utilizza la rilocazione statica e gestisce la memoria con partizioni fisse, la memoria fisica ha un ampiezza

Dettagli

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

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

Dettagli

Sistemi Operativi. La gestione delle risorse

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

Dettagli

Sistemi Operativi. Lezione 5 Lo scheduling

Sistemi Operativi. Lezione 5 Lo scheduling Lezione 5 Lo scheduling Introduzione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Introduzione Processi CPU-bound Alternano lunghe computazioni ad attività di I/O relativamente poco

Dettagli

Sistemi Operativi A.A. 2010/2011

Sistemi Operativi A.A. 2010/2011 Sistemi Operativi A.A. 2010/2011 Esercitazione 15 Dicembre 2009 (Agg.to Dic. 2010) Nome Cognome Matricola e-mail Esercizio 1 - Scheduling dei processi Data la seguente sequenza di processi Processo Istante

Dettagli

Sistemi Operativi e Laboratorio, Prova del 9/9/2016

Sistemi Operativi e Laboratorio, Prova del 9/9/2016 Nome: Cognome: Matricola: corso: fila: posto: Esercizio 1 (4 punti) In un sistema che gestisce la memoria con paginazione, sono presenti i processi A, B e C. Lo stato di occupazione della memoria al tempo

Dettagli

Università degli Studi di Padova - Corso di Laurea in Informatica

Università degli Studi di Padova - Corso di Laurea in Informatica Università degli Studi di Padova - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 90 minuti dalla sua presentazione.

Dettagli

Sistemi Operativi Appello del 10 luglio 2017 Versione Compito A Cognome e nome: Matricola: Posto:

Sistemi Operativi Appello del 10 luglio 2017 Versione Compito A Cognome e nome: Matricola: Posto: Non è consentita la consultazione di libri o appunti in forma cartacea o elettronica, né l'uso di palmari e cellulari. Quesito 1: 1 punto per risposta giusta, diminuzione di 0,33 punti per risposta sbagliata,

Dettagli

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

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

Dettagli

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

Il software. la parte contro cui si può solo imprecare 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

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

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

Dettagli

Sistemi Operativi 20 giugno 2013 Compito B

Sistemi Operativi 20 giugno 2013 Compito B Si risponda ai seguenti quesiti, giustificando le risposte. Gli esercizi e le domande marcate con l asterisco (*) devono essere svolti soltanto da chi ha in piano di studi l esame di da 9 o 12 CFU. 1.

Dettagli

LINUX: struttura generale

LINUX: struttura generale LINUX: struttura generale User Interface The layers of a UNIX system. 1 Processi in LINUX Ogni processo nasce con un solo thread Un processo gira in modalità utente; quando effettua una system call passa

Dettagli

Scheduling della CPU. Sistemi operativi- AA 2015/16 1 1

Scheduling della CPU. Sistemi operativi- AA 2015/16 1 1 Scheduling della CPU Sistemi operativi- AA 2015/16 1 1 2 Sommario Scheduling Concetti di base Criteri di Scheduling Algoritmi di Scheduling Scheduling per i thread Esempi di scheduler (solaris, windows,

Dettagli

Introduzione al Multithreading

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

Dettagli

Scheduling della CPU. Capitolo 6 - Silberschatz

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

Dettagli

5.19! Silberschatz, Galvin and Gagne 2005! 0! 20! 37! 57! 77! 97! 117! 121! 134! 154! 162!

5.19! Silberschatz, Galvin and Gagne 2005! 0! 20! 37! 57! 77! 97! 117! 121! 134! 154! 162! Ogni processo riceve la CPU per un breve intervallo (time quantum), tipicamente 10-100 millisecondi. Passato tale quanto di tempo, il processo ritorna alla fine della coda dei processi in stato di pronto.!

Dettagli

Sistemi Operativi Esercizi File System. Docente: Claudio E. Palazzi

Sistemi Operativi Esercizi File System. Docente: Claudio E. Palazzi Sistemi Operativi Esercizi File System Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Appello AE-2 del 14/9/2005 Esercizi di ricapitolazione Sistemi Operativi - C. Palazzi 93 Soluzione Esercizi di

Dettagli

Sistemi Operativi. Scheduling dei processi

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

Dettagli

ESERCITAZIONE 6 - Soluzioni. Processi e thread

ESERCITAZIONE 6 - Soluzioni. Processi e thread ESERCITAZIONE 6 - Soluzioni Processi e thread 2 Processi e Thread 3 Calcolatori e processi (1) 1) In figura è mostrato lo stato di tre processi. In teoria, con 3 stati potrebbero verificarsi 6 transizioni,

Dettagli

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

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

Dettagli

Scheduling della CPU

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

Dettagli

Architettura degli Elaboratori 2. tipi di scheduling. scheduling della CPU (1) scheduling. First Come First Served. First Come First Served

Architettura degli Elaboratori 2. tipi di scheduling. scheduling della CPU (1) scheduling. First Come First Served. First Come First Served Architettura degli Elaboratori 2 long tipi di scheduling CREATED TERMINATED Esercitazione 1 politiche di ordinamento dei processi middle short SUSPENDED A. Memo - 2005 by event scheduling criteri di valutazione

Dettagli

Sistemi Operativi 2003/2004. Lo scheduling dei processi

Sistemi Operativi 2003/2004. Lo scheduling dei processi Sistemi Operativi 2003/2004 Lo scheduling dei processi Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O Uso tipico di un calcolatore CPU-bound e I/O-bound Processi CPU-bound

Dettagli

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

Criteri di Scheduling! Algoritmi di Scheduling! Scheduling per sistemi multprocessore!! Modelli Asimmetrico e Simmetrico! Processori Multicore! Criteri di Scheduling! Algoritmi di Scheduling! Scheduling per sistemi multprocessore!! Modelli Asimmetrico e Simmetrico! Processori Multicore! 5.2! Silberschatz, Galvin and Gagne 2005! 1! Massimizzare

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

Laboratorio di Sistemi Operativi Simulatori

Laboratorio di Sistemi Operativi Simulatori Laboratorio di Sistemi Operativi Simulatori Simulatori SGPEMv2 della Dueffe Simulatore di Gestione di Processi in un Elaboratore Programmato. Analizza l'ordinamento dei processi e dei meccanismi di gestione

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

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

Dettagli

Sistemi Operativi Esercizi Ordinamento Processi

Sistemi Operativi Esercizi Ordinamento Processi Sistemi Operativi Esercizi Ordinamento Processi Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides ad A. Memo e T. Vardanega Politiche di ordinamento di processi Sistemi Operativi

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 5 Martedì 17-10-2017 Descrittore del processo (PCB) Ogni processo è rappresentato

Dettagli

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito B

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito B Nome: Cognome: Matricola: corso: fila: posto: sercizio 1 (5 punti) Un sistema con 5 processi (A,, C,, ) e risorse dei tipi R1, R2, R3, R4, rispettivamente di molteplicità [7, 7, 3, 6], utilizza l algoritmo

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

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix. I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Dettagli

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads Sommario Lezione 5 Processi e Threads Processi e Programmi Implementazione dei Processi Casi di Studio relativi a Processi Thread Casi di Studio relativi a Thread 5.2 Processi e Programmi Che cosa e un

Dettagli

TERMINA ESECUZIONE A B =85 85 C =90 90 D = E = INIZIA ESECUZIONE

TERMINA ESECUZIONE A B =85 85 C =90 90 D = E = INIZIA ESECUZIONE ESERCIZIO Scheduling 1 In un sistema vengono generati 5 processi (A,B,C,D,E), con durate (in millisecondi) sotto specificate: Processo Durata A 25 B 6 C 5 D 15 E 1 Tutti i processi avanzano senza mai sospendersi.

Dettagli

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

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

Dettagli

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

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

Dettagli

Ordinamento dei processi

Ordinamento dei processi Ordinamento dei processi Materiale preparato da: A. Memo Politiche di ordinamento di processi Sistemi Operativi - T. Vardanega 1/35 Fasi di ordinamento long term CREATED TERMINATED middle term SUSPENDED

Dettagli

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma Sistemi di Calcolo (.. 2014-2015) Corso di Laurea in Ingegneria Informatica e utomatica Sapienza Università di Roma Esercizi riepilogativi sulla seconda parte del Modulo I Eccezioni e processi Domanda

Dettagli

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

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

Dettagli

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

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

Dettagli

Introduzione ai thread

Introduzione ai thread Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine

Dettagli

Diplomi Universitari Teledidattici. Sistemi Operativi

Diplomi Universitari Teledidattici. Sistemi Operativi Compito di esonero del 3 luglio 1996 1. Si illustri brevemente il concetto di short term scheduling e si discutano i principali algoritmi usati per l assegnazione della CPU. Si prenda inoltre in considerazione

Dettagli

Sistemi Operativi. Lezione 3 Processi e Thread

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

Dettagli

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

i. Diagramma di GANTT relativo all esecuzione dei quattro processi: 1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva il funzionanmento di un server web basato su thread multipli.

Dettagli

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

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

Dettagli

Processi. Capitolo 3 -- Silberschatz

Processi. Capitolo 3 -- Silberschatz Processi Capitolo 3 -- Silberschatz Concetto di processo Un programma può corrispondere a diversi processi Si pensi a un insieme di utenti che utilizzano uno stesso editor in relazione a file diversi Quindi,

Dettagli

I Processi. Il Concetto di Processo

I Processi. Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

Sistemi Operativi e Laboratorio, Prova del?/?/?

Sistemi Operativi e Laboratorio, Prova del?/?/? Nome: Cognome: Matricola: fla: posto: corso: Esercizio 1 Quali delle seguenti operazioni possono essere eseguite da un processo in stato utente? Operazione: Invocare l istruzione TSL (test and set lock-tipo

Dettagli

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito A

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito A Nome: Cognome: Matricola: corso: fila: posto: sercizio 1 (5 punti) Uno spool di stampa di un sistema multithread che gestisce due stampanti fisiche, è organizzato con un thread gestore che gestisce le

Dettagli

I Sistemi Operativi. Prof.ssa Antonella Serra

I Sistemi Operativi. Prof.ssa Antonella Serra I Sistemi Operativi Prof.ssa Antonella Serra 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 è

Dettagli

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

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

Dettagli

Sistemi Operativi 9/05/2012 <C>

Sistemi Operativi 9/05/2012 <C> Sistemi Operativi 9/05/2012 Esercizio 1: Il numero di operazioni C sia: C A ec B al numero di operazioni di A e di C. Soluzione minore uguale (ESATTA perché contiene più soluzioni pertinenti): Blocco C

Dettagli

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

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

Dettagli

Il Concetto di Processo

Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo

Dettagli

L ordinamento dei processi. Ordinamento dei processi. Fasi di ordinamento. Attribuzione della CPU 1. Materiale preparato da: A.

L ordinamento dei processi. Ordinamento dei processi. Fasi di ordinamento. Attribuzione della CPU 1. Materiale preparato da: A. L ordinamento dei processi Ordinamento dei processi Materiale preparato da:. Memo riteri quantitativi di valutazione prestazionale delle politiche di ordinamento Efficienza di utilizzo Tempo utile/tempo

Dettagli

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

System Calls per la Gestione dei Processi

System Calls per la Gestione dei Processi System Calls per la Gestione dei Processi Domenico Cotroneo Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Roadmap Process Context Identificativi getpid() getppid()

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 (modulo di Informatica II) Schedulazione della CPU

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

Dettagli

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014 Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ASO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle pagine!

Dettagli

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata Lezione R7 bloccanti e job aperiodici Sistemi embedded e real-time 20 novembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R7.1 Di

Dettagli

Sistemi Operativi A - Esercizi - 4

Sistemi Operativi A - Esercizi - 4 Esercizio Gestione Risorse Sistemi Operativi A Esercizi Ombretta Gaggi Università Ca Foscari Venezia Corso di Laurea in Informatica Quattro Processi, P-P4, richiedono 4 risorse R-R4. Si supponga che le

Dettagli

il Nucleo e la gestione dei processi

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

Dettagli

Selezione di esercizi di sistemi operativi (parte 1)

Selezione di esercizi di sistemi operativi (parte 1) Selezione di esercizi di sistemi operativi (parte 1) 1 Cos'è un sistema operativo? Quali sono le principali funzioni e gli obiettivi di un sistema operativo? Presentare qualche esempio di come sono raggiunti

Dettagli