Quote of the day. (Meditate, gente, meditate...)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Quote of the day. (Meditate, gente, meditate...)"

Transcript

1 Lezione T26 Deadlock Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2013/2014 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia 1

2 Quote of the day (Meditate, gente, meditate...) When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone. Decreto approvato dalla legislatura del Kansas 2

3 INTRODUZIONE 3

4 Il concetto di risorsa (Fornisce servizi agli utenti, che se la contendono) Un SO multiprogrammato gestisce un insieme di risorse hardware/software. Hardware: CPU, memoria, disco, rete. Software: descrittori vari, strutture condivise. I processi competono per l'assegnazione di un sottoinsieme finito di tali risorse. 4

5 Classificazione delle risorse (Una risorsa di un certo tipo Una classe con N istanze) Dal punto di vista modellistico, si preferisce raggruppare tutte le risorse simili in una classe. Esempio: un calcolatore ha 1GB di RAM. Non ha senso dire: il calcolatore ha 1G risorse di 1 byte l'una. Ha senso dire: esiste una singola risorsa (la memoria centrale) con 1G istanze disponibili. Tipicamente, un processo non è interessato ad una specifica istanza della risorsa. Va bene una qualunque delle istanze disponibili. 5

6 Proprietà delle risorse (Influenzano i meccanismi di prenotazione e rilascio) Il comportamento delle risorse è caratterizzato caratterizzato da alcune proprietà. Risorsa riutilizzabile vs. non riutilizzabile. Risorsa con assegnazione statica vs. dinamica. Risorsa con accesso seriale vs. concorrente. Risorsa prerilasciabile vs. non prerilasciabile. 6

7 Risorse riutilizzabili e non riutilizzabili (Riutilizzabili Sono allocabili e rilasciabili a più utenti) Alcune risorse sono riutilizzabili. Non sono distrutte dopo il loro utilizzo. Il SO determina la loro assegnazione ai processi. Esempi: CPU, canali I/O, memoria centrale. Altre risorse sono non riutilizzabili. Sono distrutte dopo il loro utilizzo. Possono essere assegnate da processo a processo. Esempi: interruzioni, segnali, messaggi. 7

8 Risorse assegnate staticamente e dinamicamente (Assegnazione dinamica Maggiormente soggetta all'accesso concorrente) Alcune risorse sono assegnate staticamente. Al momento della creazione di un processo. L'assegnazione rimane valida fino alla terminazione del processo. Esempi: descrittori di processo. Alcune risorse sono assegnate dinamicamente. Dal processo durante la sua esecuzione. Sono rilasciate dopo l'uso. Esempi: periferiche I/O. 8

9 Risorse con accesso seriale e concorrente (Accesso concorrente Va protetto con i lock) Alcune risorse sono accessibili serialmente. Solo da un processo alla volta (mutua esclusione). Esempi: CPU, sezioni critiche. Alcune risorse sono accessibili concorrentemente. Da più processi simultaneamente. Esempi: file in sola lettura. 9

10 Risorse prerilasciabili e non prerilasciabili (Risorse non prerilasciabili Rischio di deadlock) Alcune risorse sono prerilasciabili. Il SO le può sottrarre ad un processo prima che quest'ultimo le abbia rilasciate. Il processo che subisce il prerilascio si sospende. La risorsa prerilasciata sarà restituita successivamente al processo. Esempi: CPU, pagine di memoria (swap). Altre risorse non sono prerilasciabili. Il SO non le può sottrarle in anticipo al processo. 10

11 Modello di accesso e rilascio (Quello classico: lock, uso, unlock) Su richiesta di un processo, viene assegnata una qualunque istanza della risorsa. Scenario di uso della risorsa. Richiesta: se non è disponibile una istanza della risorsa, il processo attende fino a che non se ne liberi almeno una. Uso: il processo opera sulla risorsa. Rilascio: il processo rilascia la risorsa, qualora essa sia riutilizzabile. 11

12 Tipologie delle richieste (Singola, multipla, bloccante, non bloccante) Richiesta singola: richiesta di un'unica istanza di un'unica classe di risorsa. Caso standard. Richiesta multipla: richiesta di più istanze di più classi di risorse. Deve essere soddisfatta integralmente. Richiesta bloccante: il processo richiedente si sospende se non ottiene immediatamente l'assegnazione. Richiesta non bloccante: si notifica al processo richiedente la mancata assegnazione della risorsa, senza provocarne la sospensione. 12

13 Definizione di deadlock (Semplice e chiara) Un insieme di processi è in deadlock (morsa letale) se si verificano le seguenti condizioni. Ciascun processo è in attesa di un evento ben preciso. L'unico processo in grado di scatenare l'evento fa parte dell'insieme. Qui, l'evento è il rilascio di una risorsa posseduta da uno dei processi nell'insieme. Nessuno dei processi è in grado di eseguire, rilasciare risorse, risvegliarsi. STALLO. 13

14 Esempio di stallo (Eloquente) Nessun autobus può completare l attraversamento. Ciascun autobus attende che un altro attraversi e liberi l incrocio. Tutti gli autobus sono in attesa di un evento che non può mai verificarsi. 14

15 Condizioni necessarie di Coffmann (Meno chiare) Condizioni necessarie per la presenza di deadlock (1971). Mutua esclusione: almeno una delle risorse deve essere di tipo seriale. Possesso e attesa: le richieste sono di tipo bloccante, e un processo che ha già ottenuto risorse può chiederne ancora. Impossibilità di prerilascio: le risorse coinvolte non sono prerilasciabili. 15

16 Condizioni necessarie di Coffmann (Meno chiare) Condizioni necessarie per la presenza di deadlock (1971). Attesa circolare: esiste un insieme di processi P 0, P 1,...,P n } in cui P 0 attende una risorsa posseduta da P 1. P 1 attende una risorsa posseduta da P 2. P n attende una risorsa posseduta da P 0. 16

17 Grafo di allocazione di Holt (Modella le prenotazioni e le acquisizioni di risorse) Grafo orientato e bipartito modellante le relazioni fra processi e risorse. Grafo orientato: gli archi hanno una direzione. Grafo bipartito: i nodi sono suddivisi in due sottoinsiemi, e non esistono archi colleganti nodi dello stesso sottoinsieme. I due sottoinsiemi sono risorse e processi. Gli archi sono di due tipologie. Risorsa processo: la risorsa è associata al processo. Processo risorsa: il processo ha richiesto la risorsa. 17

18 Grafo di allocazione di Holt (Modella le prenotazioni e le acquisizioni di risorse) Formalmente: Set vertici V = P U R. P={P 0, P 1,...,P n } (processi). R={R 0, R 1,...,R k } (classi di risorse). Set archi E. Arco di richiesta: P i R j se un processo P i ha richiesto un'istanza di risorsa R j. Arco di assegnazione: R j P i se un'istanza di risorsa R j è stata assegnata al processo P i. 18

19 Grafo di allocazione di Holt (Rappresentazione grafica di processi, risorse, richieste, assegnazioni) R Risorsa riutilizzabile R Risorsa non riutilizzabile Istanza di una data risorsa P Processo Risorsa assegnata Richiesta pendente Risorsa che può essere creata da 19

20 Grafo di allocazione di Holt (Grafi di esempio) Evoluzione per stati successivi Stato j Stato j+1 R 1 R 3 distrutta P 2 ottiene R 1 R 1 R 2 P 1 P 2 R 2 P 1 P 2 R 3 R 3 20

21 Strategie di gestione del deadlock (Ostrich algorithm, deadlock detection and recovery) Ostrich algorithm. Si ignora del tutto il problema. Deadlock detection and recovery. Si fa evolvere il sistema per stati successivi che possono condurre al deadlock. Si rileva il deadlock e lo si rimuove. 21

22 Strategie di gestione del deadlock (Deadlock avoidance, deadlock prevention) Deadlock avoidance. Si impedisce al sistema di evolvere verso una condizione di deadlock. Il deadlock non può mai presentarsi. Deadlock prevention. Si invalida almeno una delle quattro condizioni necessarie. 22

23 IGNORARE IL DEADLOCK 23

24 Ostrich algorithm (Ignorare il problema, nella speranza che non si presenti) Assicurare l'assenza di deadlock impone costi molto alti in termini di prestazioni e funzionalità. Tali costi sono necessari in alcuni contesti, ma insopportabili in altri. Si considera il rapporto costi/benefici: se la probabilità di ottenere un deadlock è bassa, il costo associato non si giustifica. Approccio adottato dalla maggioranza dei SO (UNIX, Windows): ignorare il problema. L'utente preferisce qualche stallo occasionale (da risolvere a mano ), piuttosto che restrizioni eccessive. 24

25 RILEVARE IL DEADLOCK 25

26 Deadlock detection (Rilevare il deadlock) Si mantiene costantemente aggiornato il grafo di allocazione risorse. Si registrano le richieste di risorse da parte dei processi. Si registrano le assegnazioni di processi a risorse. Si usa un algoritmo di riconoscimento di deadlock sul grafo di allocazione risorse ogniqualvolta esso cambia. Problema: come si riconosce uno stato di deadlock? 26

27 Riconoscimento con una sola istanza (Ipotesi di Coffman più singola istanza Deadlock Ciclo nel grafo di Holt) Nel caso più semplice, ciascuna classe di risorse ha una sola istanza. Teorema: se le risorse sono accedute in mutua esclusione con richieste bloccanti, sono seriali (singola istanza) e non sono prerilasciabili, allora uno stato è di deadlock se e solo se il grafo di allocazione contiene un ciclo. 27

28 Riconoscimento con una sola istanza (Ipotesi di Coffman più singola istanza Deadlock Ciclo nel grafo di Holt) Quindi, nel caso di una sola istanza per classe di risorsa, al SO basta mantenere aggiornato il grafo di allocazione e controllare, periodicamente, la presenza di cicli in tale grafo. Strategia naive: ricerca depth first con marcatura dei nodi. Se si incontra un nodo già marcato, c'è un ciclo. Nel caso di classi di risorse con singola istanza, le condizioni di Coffman da necessarie diventano necessarie e sufficienti. 28

29 Riconoscimento con più istanze (Non vale più il teorema) La presenza di un ciclo nel grafo di allocazione non è più condizione sufficiente per la presenza di un deadlock. R 1 Ciclo Deadlock R 1 Ciclo NO Deadlock P 1 P 2 P 3 P 1 P 2 P 3 R 2 Non c'è modo per cui R 1 possa liberare una istanza da dare a P 1 (sbloccando, di fatto, il deadlock). R 2 Quando P 3 finisce di usare R 1, la si assegna a P1, rompendo di fatto il ciclo. 29

30 Riconoscimento con più istanze (Il concetto di riducibilità permette di stabilire se l'intreccio si scioglie o no) Un grafo di allocazione è detto riducibile se esiste almeno un nodo processo con soli archi entranti. Significato: il processo ha terminato di richiedere risorse, e le sta solo possedendo. Il processo di riduzione consiste nell'eliminare tutti gli archi di un siffatto nodo, riassegnando le istanze liberate ad altri processi. Un grafo di allocazione è completamente riducibile se esiste una sequenza di riduzioni tale da eliminare tutti gli archi del grafo. 30

31 Motivazioni (Del concetto di riducibilità) Un nodo con soli archi entranti rappresenta un processo che ha ottenuto tutte le istanze di risorse che voleva. Tale processo, prima o dopo, rilascerà le istanze prenotate. Tale processo non può, per definizione, essere responsabile di un deadlock (non fa parte di un ciclo). Togliendo gli archi al processo, si simula la situazione immediatamente successiva al rilascio. Si vuole capire se le istanze rilasciate sono sufficienti a rimuovere un eventuale deadlock. 31

32 Riduzione Riconoscimento con più istanze (Esempio della riduzione) R 1 R 1 Riduzione P 1 P 2 P 1 P 2 R 2 R 2 Nodo processo con soli archi entranti; si rimuovono gli archi. 32

33 Riconoscimento più istanze (Ipotesi di Coffman più multiple istanze Deadlock Incompleta riducibilità) Teorema: se le risorse sono accedute in mutua esclusione con richieste bloccanti, sono seriali (multipla istanza) e non sono prerilasciabili, allora uno stato non è di deadlock se e solo se il grafo di allocazione è completamente riducibile. 33

34 Riconoscimento più istanze (Ipotesi di Coffman più multiple istanze Deadlock Incompleta riducibilità) Quindi, nel caso in cui ho più istanze per classe di risorsa, il SO: mantiene aggiornato il grafo di allocazione. calcola le riduzioni. scopre se il grafo è completamente riducibile. deduce la non presenza di un deadlock. 34

35 Esempio (C'è deadlock?) P 1 P 3 R 1 R 2 P 2 P 4 R 3 35

36 Esempio (C'è deadlock?) P 1 P 3 R 1 R 2 Si riduce P 1. Si assegna l'istanza di risorsa liberata a P 2. P 2 P 4 R 3 36

37 Esempio (C'è deadlock?) P 1 P 3 R 1 R 2 Si riduce P 2. Si assegnano le istanze di risorse liberate a P 3 e P 4. P 2 P 4 R 3 37

38 Esempio (C'è deadlock?) P 1 P 3 R 1 R 2 Si riduce P 3. P 2 P 4 R 3 38

39 Esempio (C'è deadlock?) P 1 P 3 R 1 R 2 Si riduce P 4. Il grafo è completamente riducibile non c'è il deadlock. P 2 P 4 R 3 39

40 Riconoscimento con richieste singole (Il concetto di annodamento permette di stabilire se l'intreccio si scioglie o no) L'ultimo caso degno di menzione è quello in cui un processo non può mai richiedere più di una risorsa alla volta. In tal caso, si usa la nozione di knot (annodamento) di un grafo. Dato un nodo n di un grafo orientato, l'insieme dei nodi raggiungibili da n viene detto insieme di raggiungibilità R(n). Un knot del grafo è il massimo sottoinsieme non banale di nodi M tale che, n M, R(n)=M. Partendo da un qualunque nodo di M, si possono raggiungere tutti i nodi di M e nessun altro all'infuori di 40 esso.

41 Riconoscimento con richieste singole (Esempio di grafo con e senza knot) a a b c b c d d {a, c, d} non è un nodo {b, c, d} è un nodo 41

42 Riconoscimento con richieste singole (Ipotesi di Coffman più multiple istanze Deadlock Esiste un knot nel grafo) Teorema: se le risorse sono accedute in mutua esclusione con richieste bloccanti e singole, sono seriali e non sono prerilasciabili, allora uno stato è di deadlock se e solo se esiste un knot nel grafo di allocazione. 42

43 Riconoscimento con richieste singole (Ipotesi di Coffman più multiple istanze Deadlock Esiste un knot nel grafo) In definitiva, se le richieste sono sempre singole, il SO deve: mantenere aggiornato il grafo di allocazione. controllare periodicamente la presenza di un knot. decidere della presenza di un deadlock. 43

44 Uso degli algoritmi di detection (Quando si usano?) Ad ogni richiesta di risorsa da parte di un processo. Capacità di determinare la richiesta e, dunque, il processo, che causa il deadlock. Costo molto elevato. Capacità di intervento tempestivo (non degrada eccessivamente l'utilizzo delle risorse). 44

45 Uso degli algoritmi di detection (Quando si usano?) Su base periodica. Incapacità di determinare la richiesta e, dunque, il processo, che causa il deadlock. Costo ridotto. Ridotta capacità di intervento tempestivo (maggiore degradazione dell'utilizzo delle risorse). 45

46 Deadlock recovery (Quando si applica?) Terminazione del processo. Approccio non incrementale: si terminano tutti i processi coinvolti nel deadlock. Approccio incrementale: si terminano i processi coinvolti nel deadlock uno alla volta, fino alla risoluzione del deadlock. Criteri di scelta: priorità, tempo di calcolo, tipo di risorse occupate (per alcune il rilascio potrebbe essere più semplice di altre). 46

47 Deadlock recovery (Quando si applica?) Prelazione. Deassegnazione di risorse ad un processo coinvolto nel deadlock. Occorre selezionare un processo vittima e cercare di impedire il fenomeno di starvation fra processi. Checkpoint/Rollback. Lo stato dei processi viene periodicamente salvato su disco (checkpoint). In caso di deadlock, si ripristina (rollback) uno o più processi ad uno stato precedente, fino a quando il deadlock non scompare. 47

48 Deadlock recovery: considerazioni (Non è sempre così semplice ripristinare il sistema dopo un deadlock) Terminare processi può essere costoso. Tali processi possono essere stati eseguiti per molto tempo (long-lived). Se terminati, dovranno ripartire da capo. Terminare processi può lasciare le risorse in uno stato inconsistente. Se un processo viene terminato nel bel mezzo di una sezione critica. Operare una prelazione: non sempre è possibile. può richiedere interventi manuali (ad esempio: una stampante). 48

49 PREVENIRE IL DEADLOCK 49

50 Deadlock prevention (Prevenzione del deadlock; si annulla almeno una condizione di Coffman) Se sono verificate tutte le condizioni necessarie, c'è rischio di deadlock. Se si invalida almeno una condizione necessaria, il deadlock non può verificarsi. 50

51 Rimozione della mutua esclusione (Non sempre fattibile) Si permette la condivisione delle risorse. Ad esempio: spool di stampa. Tutti i processi credono di usare la stampante contemporaneamente. Problemi. Lo spooling non è sempre applicabile (ad esempio, non lo ai descrittori di processo). Si sposta il problema verso altre risorse (ad esempio, il disco nel caso di spool di stampa). Cosa succede se due processi che vogliono stampare due documenti esauriscono lo spazio su disco? 51

52 Rimozione di possesso e attesa (Si riduce l'efficienza del programma) Si deve garantire che, quando un processo richiede una risorsa, non ne possieda già altre. Un processo richiede tutte le risorse che gli servono all'inizio della computazione. Non sempre l'insieme delle richieste è noto fin dall'inizio. Si riduce il parallelismo. Un processo richiede una risorsa solo se non ne possiede nessuna. Bassa utilizzazione delle risorse. Starvation. 52

53 Rimozione dell'impossibilità di prelazione (Non sempre è applicabile) Se il processo possiede risorse e ne richiede un'altra, gli si fanno rilasciare tutte le risorse. Il processo attenderà anche le risorse che possedeva prima del rilascio. Quando un processo richiede risorse, si verifica la loro disponibilità. Se sono disponibili, vengono assegnate. Se non sono disponibili, si verifica se sono assegnate ad un processo che attende altre risorse. Se il processo attende altre risorse, gli si sottraggono quelle richieste. Questo protocollo non sempre è applicabile (ad es., 53 stampanti, nastri).

54 Rimozione dell'attesa circolare (Si riduce l'efficienza del programma) Si impongono: un ordinamento totale all'insieme di tutti i tipi di risorse. un ordinamento crescente di numerazione alle risorse richieste da ciascun processo. Ogni processo può richiedere risorse solo in ordine crescente di numerazione. P n non può più attendere P 0. Altamente inefficiente. 54

55 AGGIRARE IL DEADLOCK 55

56 Deadlock avoidance (Si impedisce che il sistema arrivi ad uno stato di deadlock) Prima di assegnare una risorsa ad un processo, si controlla se l'operazione può portare al pericolo di deadlock. In tal caso, l'operazione viene ritardata. I processi dichiarano l'ordine di prenotazione delle risorse. 56

57 A cosa serve la deadlock avoidance (E cosa deve fare il SO per implementarla) Conoscendo la sequenza completa di richieste e rilascio, si sa per ogni processo se esso deve attendere oppure no. Per stabilire se una richiesta possa essere soddisfatta o si debba attendere per evitare un deadlock, il SO deve: esaminare le risorse attualmente disponibili. esaminare le risorse attualmente assegnate ad ogni processo. esaminare le richieste ed i rilasci futuri di ciascun 57 processo.

58 Stato sicuro e sequenza sicura (Sicuro non può progredire verso un deadlock) Stato sicuro: uno stato del sistema si dice sicuro se si possono assegnare risorse a ciascun processo in un qualunque ordine, senza il verificarsi di un deadlock. Sequenza sicura: una sequenza di processi (P 1, P 2,..., P n ) è detta sicura se, per ogni P i, le risorse di cui P i necessita sono libere oppure in possesso di processi P j, j<i. 58

59 Deadlock avoidance e stati sicuri (Stato sicuro nessun rischio di deadlock; Stato non sicuro potrebbe esserci) Uno stato non sicuro non è uno stato di deadlock. Uno stato di deadlock è uno stato non sicuro. Dunque: uno stato non sicuro può condurre ad uno stallo. Tipicamente, attraverso una sfortunata serie di prenotazioni. 59

60 Algoritmi di deadlock avoidance (Partono da uno stato sicuro e mantengono il sistema in stati sicuri) Il sistema è in uno stato sicuro se esiste almeno una sequenza sicura. Algoritmi per evitare deadlock: partono da uno stato sicuro. mantengono il sistema in stati sicuri, applicando delle scelte ad ogni richiesta di risorsa. 60

61 Suddivisione degli stati (Sicuri, non sicuri, deadlock) Diagramma di Venn dei possibili stati del sistema. Stati di deadlock Stati non sicuri Stati sicuri 61

62 Grafo di allocazione con archi di reclamo (Modellano le future allocazioni Dicono se uno stato è sicuro o no) Algoritmo con grafo di allocazione. Si utilizza un nuovo tipo di arco nel grafo di allocazione delle risorse. Arco di reclamo P i R j : P i può richiedere R j in un qualsiasi istante futuro. Quando P i richiede R j, l'arco di reclamo diventa un arco di richiesta. Quando P i ottiene R j, l'arco di richiesta diventa un arco di assegnazione. Quando P i rilascia R j, l'arco di assegnazione diventa un arco di reclamo. 62

63 Alcune osservazioni (Sul costo computazionale) Gli archi di reclamo devono essere inseriti all'attivazione del processo (necessità di conoscere le risorse di cui il processo può far richiesta). Per verificare la possibilità di trasformare gli archi di reclamo in archi di richiesta, è necessario visitare il grafo di allocazione per ogni richiesta di risorsa. Costo: O(n2) nel numero di processi. 63

64 Grafo di allocazione con archi di reclamo (Uno schema aggiornato) R Risorsa riutilizzabile R Risorsa non riutilizzabile Istanza di una data risorsa P Processo Risorsa assegnata Arco di reclamo Richiesta pendente Risorsa che può essere creata da 64

65 Grafo di allocazione con archi di reclamo (Un esempio) R 1 P 1 P 2 R 2 Sia P 1 che P 2 intendono, durante la loro esecuzione, utilizzare R 2. 65

66 Deadlock avoidance (Ipotesi di Coffman più arco di reclamo Deadlock Ciclo nel grafo) Teorema: nell'ipotesi che P i R j, se le risorse sono accedute in mutua esclusione con richieste bloccanti, sono seriali e non sono prerilasciabili: il sistema è in uno stato sicuro se e solo se la conversione dell'arco di richiesta P i R j in un arco di assegnazione R j P i non introduce un ciclo nel grafo di allocazione delle risorse con archi di reclamo. Altrimenti, il sistema è in uno stato non sicuro. 66

Sistemi Operativi. Modulo 6: Gestione risorse e deadlock

Sistemi Operativi. Modulo 6: Gestione risorse e deadlock Sistemi Operativi Modulo 6: Gestione risorse e deadlock Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation

Dettagli

Stallo di processi. Definizione del problema e modellizzazione Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Stallo di processi. Definizione del problema e modellizzazione Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Stallo di processi Definizione del problema e modellizzazione Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Stallo (deadlock) Condizione di stallo (deadlock) Un P/T richiede

Dettagli

Deadlock (stallo) Risorse. Uso delle risorse. Parte III. Deadlock

Deadlock (stallo) Risorse. Uso delle risorse. Parte III. Deadlock Deadlock (stallo) Parte III Deadlock Su di un tavolo ci sono un piatto ed una forchetta A e B sono seduti al tavolo, per mangiare ciascuno dei due ha bisogno sia del piatto che della forchetta Sciagurata

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 R9 I NPCS Sistemi embedded e real-time 4 dicembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R9.1 Di cosa parliamo in questa

Dettagli

Sistemi Operativi. Lez. 6: Problemi classici della programmazione concorrente

Sistemi Operativi. Lez. 6: Problemi classici della programmazione concorrente Sistemi Operativi Lez. 6: Problemi classici della programmazione concorrente Produttore e consumatore Uno dei problemi classici della programmazione concorrente è il problema del produttore consumatore.

Dettagli

Deadlock. Oggi c è un traffico tremendo. Operating System Concepts 9 th Edition

Deadlock. Oggi c è un traffico tremendo. Operating System Concepts 9 th Edition Deadlock Deadlock Il problema del deadlock Modello del sistema Caratterizzazione dei deadlock Metodi per la gestione dei deadlock Prevenire i deadlock Evitare i deadlock Rilevare i deadlock Ripristino

Dettagli

L'esecuzione concorrente è essenziale per garantire buone prestazioni nei database, poichè i dischi sono lenti ed è bene tenere la CPU impegnata.

L'esecuzione concorrente è essenziale per garantire buone prestazioni nei database, poichè i dischi sono lenti ed è bene tenere la CPU impegnata. Transazioni L'esecuzione concorrente è essenziale per garantire buone prestazioni nei database, poichè i dischi sono lenti ed è bene tenere la CPU impegnata. Una transazione è una astrazione per un DBMS

Dettagli

Modelli di interazione tra processi

Modelli di interazione tra processi Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il 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 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

Struttura Logica del S.O:

Struttura Logica del S.O: Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

Sincronizzazione. Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Sincronizzazione. Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Sincronizzazione Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Soluzioni hardware Le soluzioni hardware al problema della SC possono essere classificate

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

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

Modelli di interazione tra processi

Modelli di interazione tra processi Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema

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

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill) Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

Dettagli

Sistemi Operativi. Lezione 7-bis Esercizi

Sistemi Operativi. Lezione 7-bis Esercizi Sistemi Operativi Lezione 7-bis Esercizi Esercizio Problema dei lettori e scrittori Un insieme di processi condivide un file dal quale alcuni possono solo leggere i dati, altri solo scriverli Più lettori

Dettagli

Lezione 14 File system: preparazione

Lezione 14 File system: preparazione Lezione 14 File system: preparazione Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2016/2017 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

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

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

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

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

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max Makespan con set-up dipendenti dalla sequenza 1/s jk /C max 1/s jk /C max Un tempo di riattrezzaggio (set-up) s jk è richiesto fra il processamento di j e quello di k. In questo caso, C max dipende dalla

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

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

Corso di Programmazione Concorrente

Corso di Programmazione Concorrente Corso di Programmazione Concorrente Stallo Valter Crescenzi crescenz@dia.uniroma3.it http://www.dia.uniroma3.it/~crescenz Assunzione di Progresso Finito Tutti i processori virtuali hanno una velocità finita

Dettagli

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

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

Dettagli

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

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

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

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

Macchine sequenziali. Automa a Stati Finiti (ASF)

Macchine sequenziali. Automa a Stati Finiti (ASF) Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1 Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013

Dettagli

LA SINCRONIZZAZIONE TRA PROCESSI

LA SINCRONIZZAZIONE TRA PROCESSI LA SINCRONIZZAZIONE TRA PROCESSI E' più complesso scrivere programmi concorrenti rispetto a programmi sequenziali in quanto non basta essere sicuri della correttezza dei singoli moduli ma è necessario

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme

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

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1 SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class

Dettagli

SCD. Correttezza temporale. Correttezza temporale. Premesse 2. Politiche di ordinamento 1. Premesse 1

SCD. Correttezza temporale. Correttezza temporale. Premesse 2. Politiche di ordinamento 1. Premesse 1 Premesse 2 Anno accademico 2014/15 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD I sistemi a tempo reale devono assicurare correttezza temporale oltre che funzionale

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

Sincronizzazione. Soluzioni software Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Sincronizzazione. Soluzioni software Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Sincronizzazione Soluzioni software Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Specifiche Le soluzioni software al problema della si basano sull utilizzo di variabili

Dettagli

«Sciente e Tecnologie dei Beni Culturali»

«Sciente e Tecnologie dei Beni Culturali» 6 Informatica CdS in «Sciente e Tecnologie dei Beni Culturali» AA 2014-2015 Mini-sito dell insegnamento: http://www.unife.it/scienze/beni.culturali/insegnamenti/informatica Prof. Giorgio Poletti giorgio.poletti@unife.it

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Una breve introduzione all implementazione in C di algoritmi su grafo

Una breve introduzione all implementazione in C di algoritmi su grafo Una breve introduzione all implementazione in C di algoritmi su grafo A cura di Gianmaria Leo Introduzione La lezione è un introduzione a concetti e strumenti che permettono l implementazione di algoritmi

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Il Sistema Operativo

Il Sistema Operativo Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Luigi Piroddi

Luigi Piroddi Automazione industriale dispense del corso (a.a. 2008/2009) 9. Reti di Petri: analisi dinamica e metodi di riduzione Luigi Piroddi piroddi@elet.polimi.it Metodi di analisi di Reti di Petri Ci sono 2 modi

Dettagli

RETI DI CALCOLATORI II

RETI DI CALCOLATORI II RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA a.a. 2009/2010 ARGOMENTI DELLA LEZIONE TEORIA DEL ROUTING ROUTING STATICO ROUTING DINAMICO o PROTOCOLLI

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin IL CALCOLATORE visto fin qui MEMORIA CENTRALE BIOS (carica il programma da disco)

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse. Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

2.3.3 Cammini ottimi nei grafi senza circuiti

2.3.3 Cammini ottimi nei grafi senza circuiti .. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

Dettagli

IL BACKUP DEI DATI backup restore

IL BACKUP DEI DATI backup restore IL BACKUP DEI DATI Il backup è l operazione che permette di creare una copia di sicurezza dei dati del sistema informatico su supporti di memorizzazione esterni al computer. Esso viene eseguito per poter

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Deadlock Tecniche di gestione del deadlock: 1. Caratterizzazione del deadlock

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

Sistemi Operativi 9 luglio 2013 Compito

Sistemi Operativi 9 luglio 2013 Compito 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 Sistemi Operativi

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

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

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

Dettagli

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 ACSO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle

Dettagli

2.2 Scheduling in Linux

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

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1 Parte 2 Ricorsione - AA. 2012/13 [M.C.Escher Drawing hands, 1948] 2.1 Funzioni ricorsive Una funzione si dice ricorsiva se richiama se stessa, direttamente o indirettamente La ricorsione si dice diretta

Dettagli

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello

Dettagli

Le risorse. Alcune definizioni

Le risorse. Alcune definizioni Le risorse Dicesi risorsa un qualunque oggetto, fisico o logico, di cui un processo necessita per portare a termine la sua evoluzione. Poiché un processo evolve eseguendo istruzioni (procedure), una risorsa

Dettagli

Il Sistema Operativo Gestione del File System

Il Sistema Operativo Gestione del File System ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario File System File e Cartelle Partizione Path Tabella di Allocazione Frammentazione 2 File File Gestione dell Interfaccia Gestione

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:

Dettagli

Reti locali. Protocolli di accesso per reti locali

Reti locali. Protocolli di accesso per reti locali Protocolli di accesso per reti locali Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ PROTOCOLLI DI ACCESSO PER RETI LOCALI - 1 Caratteristiche reti locali Piccola estensione geografica

Dettagli

FRAZIONI e NUMERI RAZIONALI

FRAZIONI e NUMERI RAZIONALI FRAZIONI e NUMERI RAZIONALI Frazioni Come per i numeri naturali, anche per gli interi relativi si definisce l'operazione di divisione come operazione inversa della moltiplicazione: Divisione di numeri

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Algoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone

Algoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone Lucia Pallottino. Sistemi Robotici Distribuiti - Versione del 18 Aprile 2012 194 Algoritmi distribuiti su reti sincrone Per questo capitolo si può fare riferimento al libro Distributed Algorithms di Nancy

Dettagli

Sincronizzazione Le sezioni scritiche

Sincronizzazione Le sezioni scritiche Sincronizzazione Le sezioni scritiche Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Ambiente di sviluppo Concorrenza e sincronizzazione Programmazione concorrente (tramite

Dettagli

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Dettagli

Sistemi Operativi Gestione della Memoria (parte 1)

Sistemi Operativi Gestione della Memoria (parte 1) Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Considerazioni preliminari 1 Nell ottica degli utenti applicativi

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 Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili

Il Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili Il Gestore della Memoria Tecnica a Partizioni Fisse e a Partizioni Variabili Compiti del gestore della Memoria Mantenere traccia dello stato, libera o occupata, di ciascuna zona della memoria. Assegnare

Dettagli

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

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

Dettagli

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale 45 6.6 Regioni Critiche Condizionali 6.7 Monitor Costrutti linguistici inventati per evitare i problemi di programmazione che facilmente si fanno con i semafori Attenzione con i thread: in tale ambiente

Dettagli

Terzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Terzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale Terzo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 22 marzo 2016 Programma 1. Lettura di un problema tratto dalle

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento

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

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

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino

Dettagli