Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >
|
|
- Filiberto Rubino
- 8 anni fa
- Visualizzazioni
Transcript
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 di risorse. Quando un processo richiede una risorsa può non venir servito istantaneamente. Quando ad un processo vengono allocate tutte le risorse deve restituirle in un tempo finito. Strutture dati per l algoritmo del banchiere Sia n il numero di processi, e m il numero di tipi di risorse. Disponibili: Vettore di lunghezza m. Se Disponibili[ j ] = k, ci sono k istanze disponibili del tipo di risorsa R j. Massimo: matrice n x m. Se Massimo[ i,j ] = k, il processo P i può richiedere al più k istanze del tipo di risorsa R j. Assegnate: matrice n x m. Se Assegnate[ i,j ] = k, a P i sono attualmente allocate k istanze di R j. Necessità: matrice n x m. Se Necessità[ i,j ] = k, P i può richiedere k ulteriori istanze di R j per completare il proprio task. Vale la relazione: Necessità[i,j ] = Massimo[i,j ] Assegnate[i,j ] Algoritmo di verifica della sicurezza 1. Siano Lavoro e Fine vettori di lunghezza m e n, rispettivamente. Si inizializzi: a) Lavoro = Disponibili b) Fine [i ] = false per i = 1,2,, n 2. Si cerchi i tale che valgano contemporaneamente: a) Fine [i ] = false b) Necessità i Lavoro Se tale i non esiste, si esegua il passo Lavoro = Lavoro + Assegnate i Fine[i ] = true si torni al passo 2. L algoritmo ha complessità m x n 2 4. Se Fine [i ] == true per ogni i, il sistema è in stato sicuro. 5 processi, da P 0 a P 4 ; 3 tipi di risorse: A (10 istanze), B (5 istanze), e C (7 istanze). Istantanea al tempo T 0 : Assegnate Massimo Disponibili P P P P P Verifica della sicurezza P > P P P P P P P P P P P P < P 1, >
2 P P P > P P < P 1, > P P P P P P < P 1, P 3, > P P P P P P < P 1, P 3, P 4, > P P P P P P < P 1, P 3, P 4, P 0,> P P P P P P < P 1, P 3, P 4, P 0,P 2 > P P P P P < P 1, P 3, P 4, P 0,P 2 > soddisfa i criteri di sicurezza
3 Algoritmo di richiesta delle risorse Sia Richiesta i il vettore delle richieste per il processo P i. Se Richiesta i [j ] = k, il processo P i richiede k istanze del tipo di risorsa R j ed esegue le seguenti azioni: 1. Se Richiesta i Necessità i, esegue il passo 2, altrimenti riporta una condizione di errore, poiché il processo ha superato il massimo numero di richieste. 2. Se Richiesta i Disponibili, esegue il passo 3, altrimenti P i deve attendere, poiché le risorse non sono disponibili. 3. Il sistema simula l allocazione al processo P i delle risorse richieste, modificando lo stato di allocazione delle risorse come segue: Disponibili = Disponibili Richiesta i Assegnate i = Assegnate i + Richiesta i Necessità i = Necessità i Richiesta i Se lo stato è sicuro si assegnano le risorse a P i. Se lo stato è non sicuro P i deve attendere, ripristinando il vecchio stato di allocazione delle risorse. Esempio (cont.): P 1 richiede (1,0,2) P P P P P Verificare che Richiesta i Necessità i (cioè, (1,0,2) (1,2,2) true ). Verificare che Richiesta i Disponibili (cioè, (1,0,2) (3,3,2) true ) Esempio (cont.): P 1 richiede (1,0,2) Esempio (cont.): P 1 richiede (1,0,2) P P P P P Simulazione dell allocazione al processo P 1 Disponibili = Disponibili Richiesta 1 Assegnate 1 = Assegnate i + Richiesta 1 Necessità 1 = Necessità 1 Richiesta 1 P P P P P L esecuzione dell algoritmo di sicurezza mostra che la sequenza <P 1, P 3, P 4, P 0, P 2 > soddisfa i requisiti di sicurezza Rilevamento del deadlock Si permette al sistema di entrare in uno stato di deadlock Sono necessari: Algoritmo di rilevamento del deadlock Algoritmo di ripristino dal deadlock Istanza singola di ciascun tipo di risorsa Impiega un grafo di attesa: I nodi rappresentano i processi. L arco P i P j esiste se P i è in attesa che P j rilasci una risorsa che gli occorre. Periodicamente viene richiamato un algoritmo che verifica la presenza di cicli nel grafo. Un algoritmo per rilevare cicli in un grafo richiede un numero di operazioni dell ordine di n 2, dove n è il numero di vertici del grafo
4 Grafo di allocazione risorse e grafo di attesa Più istanze di ciascun tipo di risorsa Un arco P i P j esiste nel grafo di attesa, se e solo se il corrispondente grafo di allocazione risorse contiene i due archi P i R q, R q P j, per una qualche risorsa R q. Grafo di allocazione risorse Grafo di attesa corrispondente Lo schema con grafo d attesa non è applicabile nel caso di istanze multiple; per questo motivo si usa il seguente algoritmo di rilevamento. Le strutture dati utilizzate sono: Disponibili: vettore di lunghezza m, indica il numero di risorse disponibili di ciascun tipo. Assegnate: matrice n x m, definisce il numero di risorse di ciascun tipo attualmente allocate a ciascun processo. Richiesta: matrice n x m, indica la richiesta corrente di ciascun processo. Se Richiesta [i,j ] = k, il processo P i richiede k istanze supplementari della risorsa R j. Nel sistema esiste uno stallo se e solo se il grafo d attesa contiene un ciclo Algoritmo di rilevamento per istanze multiple 1. Siano Lavoro e Fine due vettori di lunghezza m e n, rispettivamente. Inizialmente si ponga: a) Lavoro = Disponibili b) Per i = 1,2,, n, se Assegnate i 0, Fine[i ] = false; altrimenti, Fine[i ] = true 2. Si trovi un indice i tale che valgano entrambe le condizioni: a) Fine[i ] = false b) Richiesta i Lavoro Se tale i non esiste si vada al passo 4. Algoritmo di rilevamento per istanze multiple 3. Lavoro = Lavoro + Assegnate i Fine[i] = true si vada al passo Se Fine[ i ] == false, per qualche i, 1 i n, il sistema è in uno stato di deadlock. Inoltre, se Fine[ i ] == false, P i è in deadlock. L algoritmo richiede un numero di operazioni dell ordine di ϑ(m x n 2 ) per determinare se il sistema è in uno stato di deadlock Esempio di applicazione dell algoritmo di rilevamento Cinque processi, da P 0 a P 4 ; tre tipi di risorse: A (7 istanze), B (2 istanze), e C (6 istanze). Istantanea al tempo T 0 : AssegnateRichiestaDisponibili P P P P P La sequenza <P 0, P 2, P 3, P 1, P 4 > conduce a Fine[i] = true per tutti gli i. Esempio di applicazione dell algoritmo di rilevamento P 2 richiede un istanza supplementare della risorsa C. Assegnate Richiesta P P P P P P P P P P Stato del sistema? Può reclamare le risorse possedute dal processo P 0, ma il numero di risorse disponibili non è sufficiente a soddisfare gli altri processi deadlock: processi P 1, P 2, P 3, e P
5 Impiego dell algoritmo di rilevamento Quando richiamare l algoritmo di rilevamento dipende da: Frequenza (presunta) con la quale si verificano i deadlock; Numero di processi che vengono eventualmente influenzati dal deadlock (e sui quali deve essere effettuato un rollback): Almeno un processo per ciascun ciclo. Se l algoritmo viene richiamato in momenti arbitrari, possono presentarsi molti cicli nel grafo delle risorse non si può stabilire quale dei processi coinvolti nel ciclo abbia causato il deadlock. Alternativamente, l algoritmo può essere richiamato ogni volta che una richiesta non può essere soddisfatta immediatamente o quando l utilizzo della CPU scende al di sotto del 40%. Ripristino dal deadlock: Terminazione di processi Terminazione in abort di tutti i processi in deadlock. Terminazione in abort di un processo alla volta fino all eliminazione del ciclo di deadlock. In quale ordine si decide di terminare i processi? I fattori significativi sono: La priorità del processo. Il tempo di computazione trascorso e il tempo ancora necessario al completamento del processo. Quantità e tipo di risorse impiegate. Risorse ulteriori necessarie al processo per terminare il proprio compito. Numero di processi che devono essere terminati. Tipo di processo: interattivo o batch Ripristino dal deadlock: Prelazione su risorse Per eliminare uno stallo si può esercitare la prelazione sulle risorse, nel qual caso bisogna considerare i seguenti problemi: Selezione di una vittima È necessario stabilire l ordine di prelazione per minimizzare i costi. Rollback Un processo a cui sia stata prelazionata una risorsa deve ritornare ad uno stato sicuro, da cui ripartire. Starvation Alcuni processi possono essere sempre selezionati come vittime della prelazione: includere il numero di rollback nel fattore di costo. Esercizio 1 Si consideri la seguente situazione di deadlock: Dimostrare che le quattro condizioni necessarie sono presenti; Fissare una semplice regola che eviti il deadlock; Esercizio 1 Esercizio 1 Soluzione Soluzione Mutua esclusione Possesso ed Attesa Non prelazionabilità Attesa circolare si può immaginare ciascuna sezione della strada come una risorsa
6 Esercizio 2 Un sistema è composto da 7 processi, P 1,..., P 7, e da 6 risorse condivise, R 1,..., R 6, ciascuna di tipo diverso, non prelazionabili e ad accesso mutuamente esclusivo. La situazione del sistema è la seguente: P 1 occupa R 1 e richiede R 2 ; P 2 non occupa risorse e richiede R 3 ; P 3 non occupa risorse e richiede R 2 ; P 4 occupa R 4 e richiede sia R 2 sia R 3 ; P 5 occupa R 3 e richiede R 5 ; P 6 occupa Re e richiede R 2 ; P 7 occupa R5 e richiede R 4. Si determini, utilizzando il grafo di allocazione delle risorse, se il sistema è in deadlock e, in caso affermativo, quali sono i processi e le risorse coinvolti. Esercizio 2 Soluzione Il grafo di allocazione è il seguente: P 4 R 3 P 5 R 5 P 7 R 4 P 4 sono in deadlock Esercizio 3 Dati 4 processi, e 3 tipi di risorse: A (5 istanze), B (8 istanze), e C (16 istanze). Assegnate Massimo R tot P P P P Si determini: a. se il sistema è in uno stato sicuro; b. se l assegnazione di 1 istanza della risorsa A a P 1 garantisce il mantenimento dello stato sicuro; c. se l assegnazione di 6 istanze di C a P 3 garantisce il mantenimento dello stato sicuro. Esercizio 3.a Dati 4 processi, e 3 tipi di risorse: A (5 istanze), B (8 istanze), e C (16 istanze). Assegnate Massimo R tot P P P P Si determini: a. se il sistema è in uno stato sicuro: si calcoli il valore di Necessità ed Disponibili e si trovi una sequenza sicura Esercizio 3.a La matrice Necessità ed il vettore Disponibili sono: P P P P Il sistema è in stato sicuro poiché la sequenza < P 2, P 4, P 1, P 3 > produce i vettori Disponibili [3 5 8], [4 5 11], [4 6 15], [5 8 16]. Esercizio 3.b Dati 4 processi, e 3 tipi di risorse: A (5 istanze), B (8 istanze), e C (16 istanze). Assegnate Massimo R tot P P P P Per verificare se l assegnazione di 1 istanza della risorsa A a P 1 garantisce il mantenimento dello stato sicuro dobbiamo verificare se lo stato Disponibili = Disponibili Richiesta 1 Assegnate 1 = Assegnate i + Richiesta 1 Necessità 1 = Necessità 1 Richiesta 1 possiede una sequenza sicura
7 Esercizio 3.b La matrice Necessità ed il vettore Disponibili sono: Necessità Disponibili P P P P Il sistema è in stato sicuro poiché la sequenza < P 4, P 2, P 1, P 3 > produce i vettori Disponibili [1,5,10], [3,5,11], [4,6,15], [5,8,16]. Esercizio 3.c La matrice Necessità ed il vettore Disponibili sono: Necessità Disponibili P P P P Non esiste nessun processo le cui necessità residue possono essere soddisfatte dall attuale vettore Disponibili e quindi il sistema non è in uno stato sicuro
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di
DettagliDeadlock (stallo) Parte III. Deadlock
Parte III Deadlock Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 III - 1 Deadlock (stallo) Su di un tavolo ci sono un piatto ed una forchetta A e B sono seduti al tavolo, per mangiare ciascuno
DettagliDeadlock e Starvation
DTI / ISIN / Titolo principale della presentazione 1 Deadlock e Starvation Amos Brocco, Ricercatore, DTI / ISIN 3 aprile 2012 Condivisione di risorse In un sistema si trovano delle risorse che possono
DettagliIntroduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliSISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007
2007 SISTEMI OPERATIVI Deadlock (blocco critico) Domande di verifica Luca Orrù Centro Multimediale Montiferru 04/06/2007 Deadlock (blocco critico) 1. Si descriva il deadlock e le condizioni sotto cui si
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. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliSistemi Operativi SCHEDULING DELLA CPU
Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliOrdinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita
Lezione 11 Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita Ordinamento degli eventi Un sistema monoprocessore Unico clock Unica memoria Ordinamento degli eventi Mutua esclusione Deadlock
Dettaglib i 1,1,1 1,1,1 0,1,2 0,3,4
V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliPrestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
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
DettagliTesting: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.
Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori
DettagliEsempio - Controllo di un ascensore
Costruiamo un modello ground a partire dai requisiti. Dimostriamo le proprietà di correttezza desiderate n ascensori m piani che soddisfano i seguenti requisiti: 1. Ogni ascensore ha per ogni piano un
DettagliUn sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
DettagliTest d ipotesi. Statistica e biometria. D. Bertacchi. Test d ipotesi
In molte situazioni una raccolta di dati (=esiti di esperimenti aleatori) viene fatta per prendere delle decisioni sulla base di quei dati. Ad esempio sperimentazioni su un nuovo farmaco per decidere se
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
DettagliSistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
DettagliRicerca Operativa e Logistica
Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei
Dettagli2. Simulazione discreta: approcci alla simulazione
Anno accademico 2007/08 Elementi di un programma di simulazione Controllore Tempo di simulazione Generatore dei dati di input Entità Eventi Attività Stati Processi Simulazione per eventi: le classi L approccio
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliScheduling della CPU
Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler
DettagliIntroduzione ai Metodi Formali
Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliVerifica della correttezza formale del numero di partita IVA
Verifica della correttezza formale del numero di partita IVA A tutti i soggetti che intraprendono un attività rilevante ai fini Iva (impresa, arte, professione), al momento della presentazione della dichiarazione
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
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
DettagliScheduling della CPU:
Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready
DettagliCorso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliMetodi e Modelli Matematici di Probabilità per la Gestione
Metodi e Modelli Matematici di Probabilità per la Gestione Prova scritta del 30/1/06 Esercizio 1 Una banca ha N correntisti. Indichiamo con N n il numero di correntisti esistenti il giorno n-esimo. Descriviamo
DettagliModelli di Programmazione Lineare e Programmazione Lineare Intera
Modelli di Programmazione Lineare e Programmazione Lineare Intera 1 Azienda Dolciaria Un azienda di cioccolatini deve pianificare la produzione per i prossimi m mesi. In ogni mese l azienda ha a disposizione
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.
ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei
DettagliTEORIA DEI GIOCHI. Parte 3
TEORIA DEI GIOCHI Parte 3 Matematica nella realtà Università Bocconi Roberto Lucchetti - Politecnico di Milano 28 Gennaio 2011 Un applicazione concreta della Teoria dei Giochi Modelli di scambio di donatori
DettagliInformatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati
Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè
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
DettagliSistemi Operativi a.a. 2004-2005. Esercizi - 2
Sistemi Operativi a.a. 004-005 Esercizi - Renzo Davoli Alberto Montresor. I diritti di memorizzazione elettronica, di riproduzione e di adattamento parziale o totale (compresi microfilm e copie fotostatiche)
DettagliH1 Hrms Gestione eventi/scadenze automatiche
Sintesi H1 Hrms Gestione eventi/scadenze automatiche Il presente documento nasce con lo scopo di illustrare la funzionalità all interno di H1 hrms relativa alla procedura di gestione degli eventi e delle
DettagliIl costrutto monitor [Hoare 74]
Il monitor 1 Il costrutto monitor [Hoare 74] Definizione: Costrutto sintattico che associa un insieme di operazioni (entry, o public) ad una struttura dati comune a più processi, tale che: Le operazioni
DettagliSequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per
DettagliPROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO
PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un
DettagliScheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
DettagliTSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79
Dettaglidall argomento argomento della malloc()
Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È
DettagliEsempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
DettagliVia Barberini 11-00187 ROMA IVA 07740680967 www.emiliotomasini.it RENDIMENTO BORSA & FONDI I TIPI DI ORDINE
Via Barberini 11-00187 ROMA IVA 07740680967 www.emiliotomasini.it RENDIMENTO BORSA & FONDI I TIPI DI ORDINE 1 I TIPI DI ORDINE E L OPERATIVITA MERCATO: l ordine mercato è l ordine che viene utilizzato
DettagliMATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010
elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre
DettagliCorrettezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza
DettagliCriteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della
DettagliVerifica di ipotesi e intervalli di confidenza nella regressione multipla
Verifica di ipotesi e intervalli di confidenza nella regressione multipla Eduardo Rossi 2 2 Università di Pavia (Italy) Maggio 2014 Rossi MRLM Econometria - 2014 1 / 23 Sommario Variabili di controllo
DettagliIL PROBLEMA DELLO SHORTEST SPANNING TREE
IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia
DettagliScheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU
Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di
DettagliIl tipo di dato astratto Pila
Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:
DettagliPrestazioni Sociali Comuni
Prestazioni Sociali Comuni Funzioni di Gestione XML flussi Guida per l utente INPS 10/11/2015 Indice Il processo di controllo ed invio dei file xml... 2 Funzioni disponibili... 3 Caricamento file da validare
DettagliRealizzazione di Politiche di Gestione delle Risorse: i Semafori Privati
Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad
DettagliIl problema del produttore e del consumatore. Cooperazione tra processi
Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
DettagliPROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
DettagliRecord locking con la system call fcntl
Record locking con la system call fcntl Il record locking è un metodo per disciplinare la cooperazione tra processi. Permette ad un processo di poter accedere ad un file in modo esclusivo. È utile quindi
Dettaglie-dva - eni-depth Velocity Analysis
Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
DettagliCapitolo 7: Sincronizzazione
Capitolo 7: Sincronizzazione Il problema della sincronizzazione. Il problema della sezione critica. Hardware per la sincronizzazione. Semafori. Problemi classici di sincronizzazione. Monitor (cenni). 7.1
DettagliProgetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008
Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008 Si consideri una rete di sensori MicaZ con sistema operativo TinyOS, dove ogni nodo è identificato da un ID unico e dove è presente un solo
DettagliIngegneria del Software T
Home Finance 1 Requisiti del cliente 1 Si richiede di realizzare un sistema per la gestione della contabilità familiare. Il sistema consente la classificazione dei movimenti di denaro e la loro memorizzazione.
DettagliIl Sistema di qualità. delle Unità di raccolta Avis
delle Unità di raccolta Avis La Legge 21 ottobre 2005, n. 219 ha confermato che le Associazioni dei donatori volontari del sangue possono gestire strutture incaricate della raccolta del sangue (Unità di
DettagliConfigurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith
Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................
DettagliMODELLISTICA DI IMPIANTI E SISTEMI 2
MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi
DettagliAi fini economici i costi di un impresa sono distinti principalmente in due gruppi: costi fissi e costi variabili. Vale ovviamente la relazione:
1 Lastoriadiun impresa Il Signor Isacco, che ormai conosciamo per il suo consumo di caviale, decide di intraprendere l attività di produttore di caviale! (Vuole essere sicuro della qualità del caviale
DettagliEquilibrio bayesiano perfetto. Giochi di segnalazione
Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi
DettagliMonitor. Introduzione. Struttura di un TDA Monitor
Monitor Domenico Cotroneo Dipartimento di Informatica e Sistemistica Introduzione E stato introdotto per facilitare la programmazione strutturata di problemi in cui è necessario controllare l assegnazione
DettagliLe stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
Dettaglicome nasce una ricerca
PSICOLOGIA SOCIALE lez. 2 RICERCA SCIENTIFICA O SENSO COMUNE? Paola Magnano paola.magnano@unikore.it ricevimento: martedì ore 10-11 c/o Studio 16, piano -1 PSICOLOGIA SOCIALE COME SCIENZA EMPIRICA le sue
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliCapitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano
Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso
DettagliPremessa. Esercitazione. Calcolo del reddito nel Conto del reddito. Calcolo del reddito nel Conto del capitale e nel Conto del reddito
Sul calcolo del reddito di fine periodo: riflessioni di base 1 INDICE: Premessa Esercitazione Calcolo del reddito nel Conto del capitale Calcolo del reddito nel Conto del reddito Calcolo del reddito nel
DettagliIl software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale
Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione
DettagliISTRUZIONI PER L UTILIZZO DEI SISTEMI MULTIMEDIALI NELLE AULE DEL NUOVO EDIFICIO (POVO 1) (Versione 0.5)
ISTRUZIONI PER L UTILIZZO DEI SISTEMI MULTIMEDIALI NELLE AULE DEL NUOVO EDIFICIO (POVO 1) (Versione 0.5) IMPORTANTE: L accesso alle risorse multimediali, in ogni aula, avviene attraverso l utilizzo di
DettagliArtifact Centric Business Processes (I)
Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di
DettagliSage Start Archivio file Guida. Dalla versione 2015 09.10.2014
Sage Start Archivio file Guida Dalla versione 2015 09.10.2014 Sommario 1.0 Introduzione 3 1.1 Moduli con archivio file 3 1.2 Informazioni generali 3 1.2.1 Cancellazione di record di dati 4 1.2.2 Duplicazione
DettagliAree di impatto per considerazioni da parte del cliente Tratte dalle Regole per ottenere il riconoscimento IATF
Regole 3 Edizione Aree di impatto per considerazioni da parte del cliente Aree di impatto per considerazioni da parte del cliente Tratte dalle Regole per ottenere il riconoscimento IATF 3 Edizione per
DettagliLa propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile
Elementi di ottica L ottica si occupa dello studio dei percorsi dei raggi luminosi e dei fenomeni legati alla propagazione della luce in generale. Lo studio dell ottica nella fisica moderna si basa sul
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo
DettagliLa schedulazione. E.Mumolo mumolo@units.it
La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più
Dettaglix u v(p(x, fx) q(u, v)), e poi
0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di
DettagliValutazione delle Prestazioni
Valutazione delle Prestazioni Sia data una macchina X, definiamo: 1 PrestazioneX = --------------------------- Tempo di esecuzione X La prestazione aumenta con il diminuire del tempo di esecuzione (e diminuisce
DettagliRendering air show e verifica della sincronizzazione
Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente
DettagliDTI / ISIN / Titolo principale della presentazione. La cena dei filosofi. Amos Brocco, Ricercatore, DTI / ISIN. 14 maggio 2012
DTI / ISIN / Titolo principale della presentazione 1 La cena dei filosofi Amos Brocco, Ricercatore, DTI / ISIN 14 maggio 2012 Il problema dei filosofi a cena Il problema dei filosofi a cena Il problema:
DettagliCorso di Informatica
Corso di Informatica Modulo T Scorrimento-Rotazione-Ricerca Prerequisiti Programmazione elementare Conoscenza ed uso di vettori Introduzione Lo scopo di questa Unità è approfondire il concetto di vettore
DettagliNUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING
gno Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. NUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING COSA
DettagliValutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
DettagliMemoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)
Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale
Dettagli