Quote of the day. (Meditate, gente, meditate...)
|
|
- Norberto Cappelli
- 6 anni fa
- Visualizzazioni
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 Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
DettagliStallo 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
DettagliDeadlock (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
DettagliMarco 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
DettagliSistemi 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.
DettagliDeadlock. 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
DettagliL'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
DettagliModelli 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
DettagliUniversità 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
DettagliStruttura 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 è
DettagliSincronizzazione. 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
DettagliSistemi 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
DettagliTEORIA 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
DettagliModelli 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
DettagliTECN.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
DettagliGrafi: 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
DettagliUNIVERSITÀ 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
DettagliSistemi 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
DettagliLezione 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
Dettagliil 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
DettagliSistemi 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
DettagliPROCESSI 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
DettagliLe 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,...)
DettagliAlberi 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
DettagliMakespan 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
DettagliUniversità 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
DettagliIl 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à
DettagliIl 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
DettagliCorso 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
DettagliSISTEMI 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
DettagliInformatica 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
DettagliCon 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
Dettagli1. 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.
DettagliIl 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,
DettagliCapitolo 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
DettagliComponenti 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
DettagliMacchine 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
DettagliInformatica 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
Dettagli2.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
DettagliScaletta. 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
DettagliLA 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
DettagliAlgoritmi 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
DettagliSommario. 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
DettagliSistemi 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
DettagliSistemi 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
DettagliJava 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
DettagliSCD. 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
DettagliScheduling 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
DettagliSincronizzazione. 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»
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
DettagliComponenti 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
DettagliUna 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
DettagliComponenti 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
DettagliIl 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
DettagliSistemi 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
DettagliLuigi 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
DettagliRETI 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
DettagliIl 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)
Dettagli2.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
DettagliIl 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
Dettagliinteroperabilità 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à,
DettagliCapitolo 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
Dettagli2.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
DettagliI.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
DettagliIL 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
DettagliSistemi 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
DettagliGESTIONE 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:
DettagliSistemi 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
DettagliSistemi 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
Dettagli1. 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
DettagliMemoria 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
Dettagli2.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
DettagliIl 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
DettagliEsercizi 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
DettagliParte 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
DettagliSistemi 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
DettagliLe 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
DettagliIl 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
DettagliLA 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
DettagliSistemi 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:
DettagliReti 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
DettagliFRAZIONI 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
DettagliIntroduzione 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
DettagliAlgoritmi 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
DettagliSincronizzazione 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi 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
DettagliIl 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
DettagliLezione 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
Dettagli6.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
DettagliTerzo 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
DettagliProblemi, 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
DettagliChe 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
DettagliBootstrap. 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
DettagliCLASSIFICAZIONE 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.
DettagliIl 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
DettagliPossibile 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
DettagliProblemi, 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
DettagliIntroduzione. 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