Gli stati di un processo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gli stati di un processo"

Transcript

1 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 caricato in memoria centrale. Esso è in attesa di esecuzione e si trovainmemoriadimassa. Ready (pronto): il programma è diventato processo e si trova in memoria centrale, pronto per essere eseguito. Esso attende che gli venga assegnata la CPU. Run (esecuzione): il processo è in esecuzione (in ogni istante un solo processo si trovainquestostato)perchéglièstataassegnatalacpu. Wait (attesa): il processo è in attesa (ad esempio deve attendere la fine di un operazione di I/O). Terminate (terminazione): il processo è terminato e può essere recuperato lo spazio della memoria centrale in cui era caricato. 2

2 Unprocessopassalapropriavitaafarelecode. Quando un nuovo processo nasce, è in coda nello stato di HOLD e richiede uno spazio nella memoria RAM dove essere caricato; nel momento in cui gli viene assegnato questo spazio viene messo nella READY queue nella quale attenderà la disponibilità della risorsa processore; appena lo scheduler lo seleziona esso otterrà il possesso del processore con cui procedere alla sua elaborazione(stato dirun). Il processo può perdere l uso del processore fondamentalmente per tre motivi: Il processo emette una richiesta di I/O e quindi viene posto nella coda del dispositivo di cui deve far uso (dischi, nastri, stampante...); Il processo crea un processo figlio e ne deve attendere la terminazione; Il processo subisce una interruzione e forzatamente deve abbandonare la cpu per ripassare nella ready queue. 3 PCB e Tabella dei processi Il PCB (Process Control Blocks) o descrittore di processo è una struttura dati che mantiene in memoria tutte le informazioni su un certo processo. All'insieme dei PCB dei processi attivi nel Sistema Operativo si accede utilizzando la tabella dei processi. Ciascun PCB contiene le seguenti informazioni: PID (identificatore del processo) lo stato del processo il program counter ( PC ) il contenuto dei registri della CPU Le informazioni sulla memoria occupata e puntatore allo stack Limiti di tempo Privilegi per l accesso a servizi e risorse Puntatore al padre Puntatore alla lista dei processi figli Lista dei file aperti dal processo Informazioni per lo schedulatore (priorità, tempo stimato di uso CPU, tempo di CPU residuo,. PCB di un processo 4

3 Tabella dei processi Per gestire l'esecuzione di processi il sistema operativo mantiene informazioni sui processi stessi anche quando non sono in esecuzione (stato dirun)esullerisorse. In particolare la tabella dei processi contiene l identificatore (PID) univoco di ciascun processo e il puntatore all immagine del processo. 5 Immagine di un processo. L immagine di un processo è costituita dalle informazioni che riguardano le aree di memoria e le strutture dati associate al processo che sono necessarie per poter coordinare l esecuzione di più processi. Text table: si tratta di una tabella dei riferimenti per accedere al codice eseguibile del programma di cui il processo risulta essere un istanza. Dati: area di memoria che contiene i dati utilizzati dal programma. Stack e heap: aree di memoria utilizzate dal programma per gestire le chiamate di funzione e le allocazioni dinamiche di memoria. PCB (Process Control Block): costituito da una collezione di attributi necessari al SO per controllare l esecuzione del processo stesso. 6

4 Le code I descrittori dei processi sono organizzati in code, una per ciascuno stato (READY, WAITING, ) e per ogni dispositivo del quale può essere fatta richiesta di utilizzo al SO. 7 Schedulatore a breve termine e context switch La componente del Sistema Operativo che si occupa di scegliere di volta in volta il processo che deve ottenere l uso della CPU è lo scheduler a breve termine che sostanzialmente dice qual è il prossimo processo che deve passare dallo stato di READY allo stato RUNNING, ovvero andare in esecuzione. Lo scheduling avviene seguendo un certo algoritmo (FCFS, RoundRobin, ShortestJobFirst, a priorità statica o dinamica...) e il passaggio da un processo all'altro è detto cambio di contesto(context switch). Il sistema operativo deve: salvare lo stato del processo che abbandona la CPU, ovvero andare ad aggiornare il PCB (Process Control Blocks detto anche descrittore) del processo caricare il nuovo processo ripristinando le aree di memoria da lui utilizzate, ripristinandone lo stato puntuale, ovvero il suo contesto. 8

5 Schedulatore a breve termine e context switch 9 Un processo in esecuzione può richiedere al S.O. operazioni di I/O su file, sul monitor, da tastiera, da mouse, ricezione e trasmissione dati in rete, visualizzazione di testi e immagini I processi che prevedono molte interazioni con gli utenti sono spesso in stato di WAITING e si dicono I/O-bound. P1: RUN WAIT RUN _ WAIT RUN _ WAIT I processi che eseguono molte elaborazioni di dati presenti in memoria non rilasciano quasi mai il processore restando quindi in stato di RUN e si dicono CPU-bound. P2: RUN _ WAIT RUN _ WAIT RUN 10

6 Il S.O. ha il compito di ottimizzare l uso del processore. L insieme dei processi attivi dovrebbe essere composto in modo equilibrato da CPU-bound e I/O-bound. 11 Considerazioni: Se i processi CPU-bound sono molto numerosi i pochi processi I/O-bound vengono rallentati peggiorando il tempo di risposta dei processi interattivi e lasciando inattivi i dispositivi periferici Se i processi I/O-bound sono molto numerosi Questo può portare ad inattività del processore, perché aumenta la probabilità che tutti i processi attivi siano in stato di attesa (WAIT) Durante i periodi di inattività del processore, se non vi sono processi in stato di READY da avviare nello stato di RUN, il gestore dei processi attiva l esecuzione di un paricolare processo di sistema detto IDLE, che pone il computer in uno stato di basso consumo energetico ad esempio diminuendo la velocità del processore oppure vengono eseguiti processi di utilità come ad esempio la scansione antivirus. 12

7 Task manager di Windows 7 13 Task manager di Windows 7 14

8 Task manager di Windows 7 15 Algoritmi di schedulazione del processore Gli algoritmi di rotazione tra i processi in esecuzione utilizzati dallo schedulatore dei processi operano con precisi criteri per scegliere quale processo far avanzare dallo stato di pronto (READY) allo stato di esecuzione (RUN). Questi algoritmi si possono dividere in due categorie: NON PREEMPTIVE (senza prerilascio) : una volta che la CPU è stata assegnata ad un processo, essa non può essergli tolta a meno che il processo non sia terminato oppure non abbia richiesto un operazione di I/O. PREEMPTIVE (con prerilascio) : viene usato nei sistemi operativi multitasking, con il significato che il S.O. che può interrompere un processo in esecuzione contro la volontà di questo in favore di un altro processo che ha una maggiore priorità oppureseilprocessohautilizzatolacpuperilmassimotempoconsentito(fine del quanto di tempo). Mentre Unix è stato sviluppato quasi da subito come sistema di tipo preemptive, nei sistemi Microsoft la preemption è stata introdotta solo con Windows 95. Questo è giustificato dal fatto che i sistemi operativi di questa famiglia, a partire dall MS-Dos, sono nati come sistemi mono utente. 16

9 Senza prerilascio SENZA PRERILASCIO Politiche di scheduling FCFS (First Come First Served): il processore viene assegnato ai processi in stato di pronto a seconda dell ordine di arrivo. Difetti: tempo medio di attesa abbastanza lungo e vengono penalizzati i processi brevi a causa di quelli che richiedono molto tempo di CPU. 17 Senza prerilascio SENZA PRERILASCIO Politiche di scheduling SJF (Shortest Job First): il processore viene assegnato al processo, tra tutti quelli in stato di pronto, che prevede l intervallo di tempo più breve di utilizzo complessivo della CPU o prima di un I/O. In questo caso la coda viene ordinata per valori crescenti di durata. Questa politica consente di avere tempi medi di attesa inferiori rispetto a FCFS. Si può dimostrare che SJF è ottimale. Spostando un processo breve prima di uno lungo (anche se quest ultimo è arrivato prima) si migliora l attesa del processo breve più di quanto si peggiori l attesa del processo lungo il tempo medio di attesa diminuisce! Di conseguenza diminuisce anche il turnaround. 18

10 Senza prerilascio SJF Politiche di scheduling Nessun algoritmo può produrre un tempo di attesa medio e un turnaround medio migliori. Infatti dati: n processi con lo stesso tempo di arrivo e tempo di esecuzione del processo i-esimo t_exe = a i, il processo j-esimo dovrà aspettareuntempo a 1 + a a j-1 Quindi: T_medio di attesa = [0 + a 1+ (a 1+ a 2) + (a 1+ a 2+ a 3) +.+(a 1 +a n-1)] / n = = [(n-1)a 1 + (n-2)a a n-1 ] / n che risulta minimizzato quando a 1 < a 2 < < a n Mac èunproblema cheimpediscediusarequestoalgoritmo Difetti: spesso non si hanno sufficienti informazioni per stabilire quale processo richiederà per primo un operazione di I/O o quanto tempo di utilizzo complessivo della CPU chiede ogni processo, perché normalmente questi dati sono disponibili solo a run time. Inoltre i processi più lunghi rischiano la starvation (morire di fame ), cioè di non essere eseguiti. 19 Senza prerilascio FCFS Coda dei pronti (READY) e unità di tempo di CPU richieste da ciascun processo Tempo di CPU Processi P1 P2 P3 P4 P5 P6 Tempo medio di attesa:? Tempo medio di fine esecuzione:? SJF Coda ORDINATA dei pronti (READY) e unità di tempo di CPU richieste da ciascun processo Tempo di CPU Processi P3 P1 P4 P5 P2 P6 Tempo medio di attesa:? Tempo medio di fine esecuzione:? 20

11 Senza prerilascio FCFS Coda dei pronti (READY) e unità di tempo di CPU richieste da ciascun processo Tempo di CPU Processi P1 P2 P3 P4 P5 P6 Tempo medio di attesa: ( )/6 = 7.6 unità di tempo Tempo medio di fine esecuzione: ( )/6 = 11 unità di tempo SJF Coda ORDINATA dei pronti (READY) e unità di tempo di CPU richieste da ciascun processo Tempo di CPU Processi P3 P1 P4 P5 P2 P6 Tempo medio di attesa: ( )/6 = 6.8 unità di tempo Tempo medio di fine esecuzione: ( )/6 = unità di tempo 21 Senza prerilascio Politiche di scheduling SENZA PRERILASCIO Con priorità: alcuni processi vengono considerati più importanti di altri. La priorità viene assegnata dal S.O. in base a criteri legati al tipo di processo e all utente che lo ha mandato in esecuzione. In questo caso la coda di READY viene ordinata per valori decrescenti di priorità dei processi e ogni volta viene scelto il processo con priorità più alta da mandare in esecuzione. Se due processi hanno la stessa priorità verrà servito il primo arrivato in coda. Se arriva in coda di READY un nuovo processo viene inserito rispettando l ordinamento. Difetti: se continuano ad arrivare processi con alta priorità quelli con priorità bassa rischiano la starvation. 22

12 Senza prerilascio Esercizio: I processi A, B, C, D sono arrivati in stato di READY in questo ordine e quasi contemporaneamente. Il tempo di CPU necessario a ciascun processo per completare la propria esecuzione è rispettivamente di 30, 10, 15, 8 ms. Le rispettive priorità sono: 1, 3, 4, 2 dove a valore maggiore corrisponde priorità più alta. Determinare il Tma (tempo medio di attesa) e il Tms (tempo medio di fine esecuzione) detto anche Turnaround (dalla sottomissione alla fine esecuzione) nel caso di utilizzo dei seguenti 3 algoritmi di schedulazione senza prerilascio: FCFS, SJF e Con priorità e confrontare i risultati. 23 Con prerilascio Politiche di scheduling CON PRERILASCIO Con priorità: gli algoritmi che si basano sulla priorità possono essere anche di tipo preemptive. La coda viene ordinata come nel caso precedente per priorità crescente. La differenza è la seguente: se arriva in coda un processo con priorità maggiore di quello che sta utilizzando la CPU, viene forzato il prerilascio. Il prerilascio può avvenire: Quandoarrivaunnuovoprocesso instatodireadychehaprioritàmaggioredi quelloinstatodirun QuandounprocessopassadallostatodiWAITallostatodiREADY edhapriorità maggiorediquelloinstatodirun Difetti: i processi con bassa priorità rischiano la starvation. Per questo spesso si usa una priorità dinamica che aumenta con l anzianità del processo. 24

13 Con prerilascio CON PRERILASCIO Politiche di scheduling Round Robin: tutti i processi vengono considerati della stessa importanza. A ciascun processo viene concesso l uso del processore per un T di tempo detto quanto di tempo (o time-slice). Il timer allo scadere del quanto di tempo invia un segnale di interruzione che provoca l intervento del S.O. che forza il processo a prerilasciare il processore eatornareinstatodiready. In questo modo si evita la starvation, perché a turno tutti i processi usano lacpuperunostessointervalloditempo. La politica RR è equivalente a FCFS con prerilascio. 25 Con prerilascio Round Robin: Politiche di scheduling Se ci sono N processi in coda READY e il quanto di tempo è Q, allora ogni processo riceve 1/N del tempo della CPU in blocchi di almeno Q unità di tempo per volta. Il RR è l algoritmo di scheduling naturale per implementare il time sharing, ed è quindi particolarmente adatto per i sistemi interattivi. Nel caso peggiore un utente non aspetta mai più di (N-1)*Q unità di tempo prima che il suo processo venga servito. 26

14 Con prerilascio Considerazioni su Round Robin Politiche di scheduling Il comportamento del RR dipende molto dal valore del quanto di tempo scelto. Se il time-slice è molto breve si verificano interruzioni frequenti per passare da un processo all altro (context switch) e l efficienza del sistema diminuisce(overhead). Se il time-slice è molto lungo il sistema diventa come FCFS (time-slice infinito). Si verificano poche interruzioni, ma si perdono i vantaggi del RR in quanto vengono nuovamente penalizzati i processi che richiedono poco tempo di CPU (aumenta il tempo di risposta dei processi interattivi). 27 Con prerilascio Round Robin Processi in ordine di arrivo da P1 a P6 in READY e unità di tempo di CPU richieste da ciascun processo Tempo di CPU Processi T P1 P2 P3 P4 P5 P6 P1 P2 P4 P5 P6 P6 Tempo medio di attesa: ((0+10)+(2+9)+(4)+(6+7)+(8+6)+(10+5))/6 = 11.6 T Tempo medio di fine esecuzione: ( )/6 = 14.5 T 28

15 Con prerilascio Round Robin ProcessidaP1aP8 incodadeipronti (READY)e unità di tempo di CPU richieste da ciascun processo. Tempo di CPU Processi T P1 P2 P3 P4 P5 P6 P7 P8 P1 P2 P4 P5 P6 P7 P6 Tempo medio di attesa: ((0+14)+(2+13)+(4)+(6+11)+(8+10)+(10+9+1)+(12+9)+(14))/8 = T Tempo medio di fine esecuzione: ( )/8 = 18.5 T 29 Con prerilascio Round Robin Il tempo di turnaround dipende dalla durata del quanto, ma non c è una relazione precisa fra di loro. Il turnaround non migliora necessariamente se si aumenta il quanto Q, ma può migliorare se la maggior parte dei processi haunburstminorediq. D altra parte, se Q è troppo grande diventa un FCFS, e non va bene per il time sharing. Unaregolaempiricadicechel 80%deiCPUburstdovrebbeessereminorediQ. 30

16 Con prerilascio CON PRERILASCIO Politiche di scheduling Scheduling a code multiple: si può realizzare quando i processi sono facilmente divisibili in classi differenti. Ad esempio: foreground (interattivi, ad esempio un editor) background (non interagiscono con l utente) Si può partizionare la coda di READY in più code, ciascuna con una diversa priorità: inserendo i processi in una delle code, sulla base delle proprietà di ciascun processo assegnando ad ogni coda lo scheduling appropriato Ad esempio: foreground: RR background: FCFS 31 Con prerilascio Scheduling a code multiple Ad esempio si può fare la scelta di: Politiche di scheduling Scheduling a priorità fissa: servire prima tutti i processi nella coda foreground e poi quelli in background. (Possibilità di starvation) oppure Time slice: ogni coda ha una certa quantità Tdi tempo di CPU, ad esempio: 80% alla coda foreground e 20% alla coda background Esempio di partizionamento dei diversi tipi di processi in più code 32

17 Con prerilascio CON PRERILASCIO Politiche di scheduling Scheduling a code multiple con FeedBack (retroazione) - MFQS L assegnamentodiunprocessoaunacodanonèpiùfisso. IprocessipossonovenirespostatidalSOdaunacodaadun altra. Quando un processo nasce, viene inserito in una coda in base ad una certa priorità assegnata. Quando va in stato di RUN, se il quanto di tempo assegnatogli termina prima che il processo abbia terminato il CPU burst, viene retrocesso alla coda successiva; se, invece, il processo termina il suo CPU burst prima che sia terminato il quanto di tempo assegnatogli, il processo può essere promosso. La politica MFQS è definita dai seguenti parametri: numero delle code algoritmo di scheduling di ogni coda quando declassare un processo quando promuovere un processo in che coda inserire un processo quando arriva (dall esterno o da un I/O burst) MFQS è il tipo di scheduling più generale, che comprende tutti quelli visti. 33 Scheduling per sistemi multi-core SonoormaicomunilearchitettureconCPUa2,4,6e8core. Sono, in sostanza, dei piccoli sistemi multiprocessore in cui sullo stesso chip sono presenti due o più core che vedono la stessa memoria principale(e di solito condividono un livello di cache). La presenza di più unità di esecuzione dei processi, permette naturalmente di aumentare le prestazioni della macchina, posto che il SOsiaingradodisfruttareapienociascuncore. 34

18 Scheduling per sistemi multi-core Tutti i moderni SO prevedono in particolare la cosiddetta multielaborazione simmetrica (symmetric multiprocessing, SMP), in cui uno scheduler gira su ciascun core. I processi READY possono essere inseriti in un unica coda, vista da ciascun scheduler, consentendo quindi di far eseguire un processo su qualunque processore disponibile al momento. In questo caso sono necessari meccanismi di accurata sincronizzazione dei processori nell accesso a strutture dei dati condivise(la coda di READY ); oppure VipuòessereunacodaREADYseparataperciascuncore. Questa soluzione potrebbe portare ad una situazione con un processore in stato idle e un altro sovraccarico di processi. Quandoloschedulerdiuncoresiattiva,sceglieunodeiprocessiREADY elomandainesecuzionesulpropriocore. 35 Scheduling per sistemi multi-core La multielaborazione può essere Asimmetrica o Simmetrica. ASMP (asymmetric multiprocessing) Il SO imposta in genere l uso esclusivo di uno o più processori. Il resto dei processori esegue applicazioni utente. Come risultato, il singolo processore che esegue il sistema operativo deve gestire gli tutti altri processori che eseguono applicazioni utente. Il sovraccarico di lavoro del processore destinato al SO può costringere le applicazioni a delle attese, riducendo così la velocità complessiva del sistema. 36

19 Scheduling per sistemi multi-core SMP (symmetric multiprocessing) È usato per ottenere di prestazioni più elevate. Ogni processore, in questo caso, può eseguire qualsiasi tipo di processo. I processori comunicano tra loro attraverso la memoria condivisa. Sistemi SMP forniscono un migliore bilanciamento del carico e tolleranza di errore. Poiché i thread del sistema operativo possono essere eseguiti su qualsiasi processore, si riduce notevolmente il pericolo di avere un sovraccarico di sistema. I sistemi SMP sono più complessi dei sistemi ASMP proprio per il coordinamento e la sincronizzazione che deve avvenire all'interno del sistema. Per questo motivo, i sistemi SMP sono generalmente progettati e scritti da zero. 37 Un aspetto importante dei sistemi multi-core è il bilanciamento del carico. Nonhainfattisensoavereunsistemacon2o3o4coresepoiivariprocessida eseguire non sono distribuiti più o meno omogeneamente tra i vari core. Codaunica Scheduling per sistemi multi-core Nel caso di un unica coda READY, il bilanciamento del carico è sostanzialmente automatico: quando un core è inattivo, il suo scheduler prenderà un processo dalla coda comune e lo manderà in esecuzione su quel core. Coda separata I SO moderni spesso usano una coda separata per ciascun core. Esiste allora un esplicito meccanismo di bilanciamento del carico che può prendere un processo in attesa sulla coda di un core sovraccarico e spostarlo nellacodadiuncorescarico. Ad esempio, Linux SMP attiva il proprio meccanismo di bilanciamento del caricoogni200millisecondieognivoltaincuisisvuotalacodadiuncore. 38

20 Scheduling per sistemi multi-core Lamigrazionediunprocessodauncoreadunaltropuònonessere conveniente nel caso in cui ciascun core abbia una cache privata. Per questa ragione, alcuni SO, come Linux, mettono a disposizione delle system call per poter specificare che un processo non deve cambiare core, indipendentemente dal carico del core stesso. Nella realtà le cose sono ancora più complicate, in quanto i moderni processori hanno 2 o 3 livelli di cache. Nel caso ad esempio dei Core i7, i vari core condividono la cache di terzo livello (L3) e ciascun core haunacacheprivatadisecondolivellol2ediprimo livellol1(l1èa suavoltadivisainunacacheperidatieinunaperleistruzioni). 39 Lo scheduling in Windows XP Loschedulerusaunoschemaa32livellidipriorità(da0a31): iprocessireal-timehannounaprioritàda16a31, gli altri processi hanno una priorità da 1 a 15 (0 è un valore riservato). Quando un processo nasce gli viene assegnata priorità 1. Nel caso di processi non real-time lo scheduler sceglie il processoaprioritàpiùaltaegliassegnalacpu. Secisonopiùprocessiconlastessapriorità,siusaRR. 40

21 Lo scheduling in Windows XP SeilprocessochestautilizzandolaCPUvainWAITprimadiesaurire ilsuoquantoditempo,lasuaprioritàvienealzata(max15). L entità dell incremento dipende dal tipo di evento che il processo attende: se è un dato dalla tastiera (quindi siamo in presenza di un processo interattivo) si avrà un grosso incremento della priorità. seilprocessoattendeundatodaldisco,l incrementoèminore. Se il processo che sta utilizzando la CPU consuma interamente il quanto di tempo assegnato, la sua priorità viene diminuita(min 1). Questa strategia favorisce ovviamente i processi che interagiscono con il mouse e la tastiera, per i quali è importante un tempo di risposta molto basso. 41 Lo scheduling in Windows XP Windows distingue tra i processi in background e il processo in foreground(finestra attiva). Quando un processo passa in foreground il quanto di tempo assegnatogli viene moltiplicato per 3, cosicché il processo può continuare l esecuzione per un tempo tre volte più lungo, prima di abbandonare la CPU. 42

22 Lo scheduling in LINUX (primo tipo) Linux ha utilizzato diversi tipi di scheduling. Nel primo tipo le priorità alte sono indicate con valori numerici bassi, e viceversa: un eredità dei primi sistemi Unix. periprocessireal-timelaprioritàvada0a99 perglialtriprocessi(nonreal-time)laprioritàvada100a140. I valori nell intervallo sono detti nice. 43 Processi non real-time Lo scheduling in LINUX (primo tipo) Questi processi vengono raggruppati in due code separate: 1. codaattiva:iprocessichesonoandatiinwaitprimaditerminare ilquanto di tempo loro assegnato(inclusi i processi che non hanno ancora iniziato ad eseguire) 2. coda scaduta: i processi che hanno esaurito il proprio quanto di tempo. Lo scheduler sceglie il processo a priorità più alta nella coda attiva e gli assegnalacpuperuntempoparia: uninteroquantoditempo(disolitoda10a100millisecondi)seilprocesso non aveva ancora iniziato ad eseguire il proprio codice (in quel quanto di tempo). la porzione di quanto di tempo non ancora utilizzata dal processo quando eraandatoinwaitlavoltaprecedenteincuiavevausatolacpu(quindiper un tempo sicuramente inferiore al quanto assegnato inizialmente) Quando un processo ha esaurito il proprio quanto di tempo, viene spostato nella coda scaduta. 44

23 Lo scheduling in LINUX (primo tipo) Notate che, inizialmente, la coda scaduta è vuota: nessun processo è ancora riuscito ad utilizzare completamente un quanto di tempo assegnatogli. Quando la coda attiva è vuota, vuol dire che a tutti i processi hanno ricevuto ed esaurito completamente un quanto di tempo (in sostanza, siamo di fronte ad una forma sofisticata di Round Robin) A questo punto le due code si cambiano di ruolo: quella scaduta divene la coda attiva, e viceversa, e il processo di scheduling ricomincia assegnando un quanto di tempo al processo con priorità più alta nella coda attiva. 45 Lo scheduling in LINUX (primo tipo) Il nice (ossia, la priorità corrente) di un processo viene ricalcolato dinamicamente quando il processo ha esaurito il proprio quanto di tempo, sommandogli o sottraendogli il valore 5, a seconda del suo grado di interattività. Un processo interattivo ha normalmente lunghi tempi di attesa per le operazioni di I/O e il suo nice verrà decrementato di 5, viceversa per un processo che ha speso poco tempo in attesa del completamento di operazioni di I/O. Quindi, lo scheduling favorisce i processi interattivi, che nella nuova coda attiva avranno una priorità migliore (nice più basso) dei processi non interattivi. 46

24 Lo scheduling in LINUX (secondo tipo) A partire da fine 2007 (versione ) il kernel di Linux, adotta un nuovo algoritmo di scheduling, il Completely Fair Scheduler(CFS). IlCFScercadidistribuireequamenteiltempodiCPUtratuttiiprocessi chesonoinstatodireadyinattesadell usodellacpu. Politica adottata: se ci sono N processi ready to run, allora ad ogni processo dovrebbe spettare esattamente 1/N del tempo di CPU. Lo scheduler memorizza la quantita di tempo assegnata ad ogni processo Tiene conto anche dei tempi di attesa di I/O I processi in stato di READY non vengono più organizzati in code di scheduling, ma vengono mantenuti in un albero di ricerca binario. Un albero binario è una struttura dati ad accesso molto efficiente, e questo è importante, dato che la struttura deve essere letta e modificata dallo scheduler ad ogni context switch. 47 Lo scheduling in LINUX (secondo tipo) Completely Fair Scheduler (CFS): implementazione Tempo di CPU consumato da ciascun processo Tutte le operazioni (ricerca, cancellazione, inserimento) in quest'albero hannocomplessitao(log 2 N). Ciascun nodo dell'albero(processo) è caratterizzato dal: tempo consumato = tempo di CPU assegnatogli inizialmente meno quanto ancora gli resta da consumare 48

25 Lo scheduling in LINUX (secondo tipo) Completely Fair Scheduler (CFS): implementazione Tempo di CPU consumato da ciascun processo Ilnodopiùasinistraèsemprequellocolvalorepiùbassochecorrisponde al processo che ha usato la CPU per meno tempo, e viene scelto dallo scheduler per entrare in esecuzione. Il CFS può essere configurato scegliendo la periodicità del context switch, ossia ogni quanto tempo viene ricalcolato il valore contenuto nei nodi. 49

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

Pronto Esecuzione Attesa Terminazione

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

Dettagli

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

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

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

Lo schedulatore del kernel

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

Dettagli

Sistemi Operativi Kernel

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

Dettagli

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

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

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Scheduling della CPU. 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 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

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

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

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

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

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

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

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

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. Prof. Enrico Terrone A. S: 2008/09

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

Dettagli

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

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

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

Lo scheduler di UNIX (1)

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

Dettagli

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

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

Dettagli

Scheduling della CPU 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

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

La Gestione delle risorse Renato Agati

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

Dettagli

Il Sistema Operativo

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

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

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

Gestione della memoria centrale

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

Dettagli

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

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

Gestione del processore e dei processi

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

Dettagli

SCHEDULATORI DI PROCESSO

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

Dettagli

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

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

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 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

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

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Sistema operativo: Gestione dei processi

Sistema operativo: Gestione dei processi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Sistema operativo: Gestione dei processi La presente dispensa e da utilizzarsi

Dettagli

I processi Unix. Entry della tabella dei processi

I processi Unix. Entry della tabella dei processi I processi Unix Ciascun processo Unix può evolvere in stato utente o in stato kernel. Il passaggio dall uno all altro stato avviene mediante SVC. Poiché il processo può andare in attesa di un evento nell

Dettagli

Sistemi Operativi. Schedulazione della CPU

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

Dettagli

Scheduling della CPU. 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

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

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

Dettagli

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

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

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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

Dettagli

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

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

Dettagli

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

J. Assfalg Appunti di Sistemi Operativi

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

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

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

Informatica: il sistema operativo

Informatica: il sistema operativo pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

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

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

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

Dettagli

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

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

Dettagli

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

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

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

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

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Il memory manager. Gestione della memoria centrale

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

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

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

Approccio stratificato

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

Dettagli

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

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

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

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

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

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