SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007"

Transcript

1 2007 SISTEMI OPERATIVI Deadlock (blocco critico) Domande di verifica Luca Orrù Centro Multimediale Montiferru 04/06/2007

2 Deadlock (blocco critico) 1. Si descriva il deadlock e le condizioni sotto cui si verifica (esame del ) Il deadlock o blocco critico si può verificare quando vi sono più processi che competono per l utilizzo di un certo numero di risorse. Si ha deadlock quando un processo P1 possiede una risorsa R1 e richiede la risorsa R2 posseduta da un altro processo P2, trattenendo la propria risorsa. Analogamente, il processo P2 che possiede la risorsa R2, chiede la risorsa R1 in possesso del processo P1 senza rilasciare R2. I due processi rimangono bloccati in quanto per andare avanti hanno necessità della risorsa posseduta dall altro processo, risorsa che non viene rilasciata. Il deadlock può essere schematizzato con il seguente grafo: ogni cerchio del grafo rappresenta un processo e ogni rettangolo rappresenta una risorsa. P1 P2 P3 R1 R2 R3 P1 possiede la risorsa R1, non la rilascia e chiede la risorsa R2 P2 possiede R2, non la rilascia e richiede la risorsa R3 P3 possiede R3, non la rilascia e richiede la risorsa R1 Nell ipotesi che le risorse possedute dai processi possano essere rilasciate solo al termine del loro uso, i processi P1, P2,P3 rimangono bloccati indefinitamente (deadlock) in quanto tutti sono in attesa della risorsa posseduta da un altro processo, risorsa che non può essere rilasciata. Il deadlock dipende dalla velocità relativa di esecuzione dei processi, cioè dall ordine con la quale vengono schedulati dal sistema operativo. Si consideri infatti il seguente esempio: due processi P1 e P2 e due risorse

3 riusabili R1 e R2 ( una risorsa è riusabile se può essere usata da un solo processo alla volta e poi viene rilasciata per poter essere usata da un altro processo) che devono essere usate in maniera mutuamente esclusiva. Un solo processo alla volta può usare una risorsa. Per garantire la mutua esclusione usiamo due semafori binari MUTEX1 e MUTEX2 inizializzati al valore 1. Il programmatore del processo P1 esprime la necessità di usare prima R1 e poi R2 e di rilasciare nell ordine, R2 e R1. Il programmatore del processo P2 esprime la necessità di usare prima R2 e poi R1 e di rilasciare le due risorse nell ordine R1 e R2. I codici dei due processi sono i seguenti: P1 wait (MUTEX1); <inizio utilizzo di R1>;.. wait(mutex2) <inizio utilizzo di R2>.. signal (MUTEX2); <rilascio di R2> signal(mutex1); <rilascio di R1>; P2 wait (MUTEX2); <inizio utilizzo di R2>;.. wait(mutex1) <inizio utilizzo di R1>.. signal (MUTEX1); <rilascio di R1> signal(mutex2); <rilascio di R2>;

4 Supponiamo che l ordine di esecuzione dei processi sia il seguente: All istante to viene schedulato P1 che esegue wait(mutex1). Il processo P1 trova MUTEX1=1 (semaforo verde ) e quindi acquisisce la risorsa R1 e la utilizza dopo aver posto MUTEX1=0 (primo semaforo rosso). Prima che P1 possa richiedere la risorsa R2, P1 viene sospeso e viene schedulato P2. All istante t1, P2 esegue wait(mutex2) e trovando MUTEX2=1 (semaforo verde) acquisisce la risorsa R2 e pone MUTEX2=0 (secondo semaforo rosso) All istante t2 viene schedulato P1 che esegue wait(mutex2) ma essendo MUTEX2=0 allora il processo P1 viene bloccato in coda al semaforo MUTEX1. Ora all instante t3 viene schedulato P2, che esegue wait(mutex1) ma trovando MUTEX1=0 (semaforo rosso), viene bloccato in coda al semaforo MUTEX1. Entrambe i processi rimangono bloccati sui semafori MUTEX1 e MUTEX2 per sempre (blocco critico). Qualunque altra sequenza di esecuzione non avrebbe generato un blocco critico. Si pensi per esempio al caso in cui il processo P1 riesca a fare wait (MUTEX1) e wait(mutex2) senza essere interrotto. In questo caso P1 acquisisce entrambe le risorse, il processo P2 rimane bloccato su MUTEX2 ma poi viene risvegliato quando P1 termina di usare la risorsa R2. Questo esempio dimostra come il deadlock dipende dalla velocità relativa dei processi. Vediamo ora quali sono le condizioni affinché si verifichi un deadlock. Consideriamo N processi e M risorse dove per ogni risorsa possono essere definite più istanze (più unità). Si pensi alla risorsa file: un file duplicato costituisce una risorsa con due istanze. Si pensi alla risorsa masterizzatore: più unità di masterizzazione sullo stesso sistema costituiscono più istanze della risorsa masterizzatore. In questo caso la richiesta di quella risorsa può essere soddisfatta da qualunque istanza. Solo se tutte le istanze di una risorsa sono assegnate, la richiesta della risorsa non può essere soddisfatta. In questa situazione generale un blocco critico può verificarsi se sono vere contemporaneamente le seguenti 4 condizioni:

5 I. Le risorse possono essere usate da un solo processo alla volta (condizione di mutua esclusione) II. III. IV. I processi che possiedono delle risorse, non rilasciano queste risorse e chiedono altre risorse (condizione di possesso e attesa) Le risorse già assegnate ai processi non possono essere a questi sottratte (condizione di mancanza di pre-rilascio) Esistono N processi P1, P2,P3,-----Pn, tali che P1attende una risorsa posseduta da P2, P2 attende una risorsa posseduta da P3, Pn-1 attende una risorsa posseduta da Pn e Pn attende una risorsa posseduta da P1 (condizione di attesa circolare) Le prime tre condizioni sono condizioni necessarie. L attesa circolare è anch essa una condizione necessaria ma diventa sufficiente se esiste una sola istanza per ogni risorsa. Infatti si consideri il seguente esempio: Tre processi P1,P2, P3, due risorse R1 e R2 e la risorsa R1 possiede due istanze. P1 possiede R2 e chiede R1, P2 possiede una istanza di R1 e chiede R2, P3 possiede una istanza di R1. In tal caso pur essendoci un ciclo composto da P1-R1-P2-R2 non c è deadlock in quanto P1 può accedere alla risorsa R1 quando P3 rilascia l istanza di R1. P3 R1 P2 P1 R2

6 Riepilogando: Se un grafo non contiene cicli certamente non si può verificare un deadlock se esiste una sola istanza per ogni risorsa e c è un ciclo nel grafo allora c è certamente deadlock. Se esistono più istanze della stessa risorsa e c è un ciclo nel grafo si può verificare un deadlock (il deadlock è possibile ma non è certo) Ora qualcuno si chiederà se esistono dei metodi per gestire il deadlock. La risposta è affermativa. Esistono quattro possibilità: 1. Usare delle tecniche di prevenzione che consentono di negare una delle quattro condizioni necessarie affinché si verifichi un deadlock 2. Usare degli algoritmi che consentono, sulla base di alcune informazioni fornite a priori dai processi, di evitare il deadlock allocando le risorse richieste in maniera opportuna. 3. Dare la possibilità che il deadlock si possa verificare, e quando si verifica occorre saperlo rilevare e ripristinare lo stato del sistema. 4. Ignorare la possibilità che si possa verificare un deadlock (Windows e Unix usano questa tecnica). Se si verifica un deadlock il sistema viene riavviato. 2. Si discutano i principali metodi di prevenzione del deadlock (esame del ) Esistono due tecniche di prevenzione del deadlock: prevenzione statica e prevenzione dinamica. Prevenzione statica: consiste nell assicurare, all atto della scrittura dei programmi, che almeno una delle 4 condizioni necessarie affinchè si verifichi un deadlock non possa mai verificarsi. Se si riesce a far in modo che almeno una di queste condizioni non si verifichi allora si è certi che non si potrà verificare un deadlock (si ricorda infatti che per verificarsi un deadlock è necessario che le 4 condizioni si verifichino contemporaneamente). In realtà sulla condizione di mutua esclusione non si può intervenire in quanto la

7 mutua esclusione è una proprietà fondamentale delle risorse riusabili. Una risorsa è per definizione riusabile se un solo processo alla volta la può utilizzare e non viene distrutta dopo l uso. In seguito il processo rilascia la risorsa per poter essere usata dagli altri processi. Questo significa che si può agire solo sulle altre tre condizioni ovvero: a. Possesso e attesa (hold and wait): deve garantire che un processo non possa trattenere delle risorse e contemporaneamente chiedere nuove risorse. Esistono due possibilità affinchè questa condizione non si verifichi. Prima di iniziare la sua esecuzione il processo deve richiedere tutte le risorse di cui ha necessità. Se tutte le risorse richieste sono disponibili allora il processo può proseguire altrimenti viene bloccato. Si parla in tal caso di metodo RAF (Request All First). Prima che un processo possa richiedere nuove risorse deve aver rilasciato le risorse acquisite in precedenza. Un processo che non ha acquisito risorse in precedenza può quindi richiedere nuove risorse. Questo metodo è detto Release Before Request (RBR). Lo svantaggio di questo metodo di prevenzione è lo scarso utilizzo delle risorse e la possibilità di starvation. Le risorse rimangono assegnate ad un processo per tutto il tempo della sua esecuzione anche se non utilizzate (scarso uso delle risorse). Un processo potrebbe attendere molto tempo prima di iniziare la sua esecuzione. Infatti è costretto ad attendere che tutte le risorse siano libere anche se potrebbe iniziare l esecuzione con quelle libere (starvation). b. Mancanza di prerilascio (non preemption): consiste nel imporre ad un processo, che possiede delle risorse e richiede altre risorse che non gli possono essere assegnate, di rilasciare le proprie risorse. Il processo potrà essere svegliato solo quando tutte le

8 risorse di cui ha necessità saranno disponibili (le risorse che aveva richiesto e quelle che aveva rilasciato). c. Attesa circolare: consiste nel imporre che le risorse vengano acquisite secondo un determinato ordine. In pratica le risorse sono organizzate secondo diversi livelli gerarchici individuati da una numerazione progressiva (ad ogni risorsa è associato un numero). Ogni processo viene forzato a richiedere le risorse con un ordine crescente di numerazione. Un processo che possiede una risorsa di livello i può richiedere solo risorse di livello K>i. Se richiede una risorsa di livello h<i allora è costretto a rilasciare la risorsa di livello i. Esempio: Consideriamo le seguenti tre risorse organizzate secondo tre livelli gerarchici (numero più basso identifica livello superiore). DISCO = 1 NASTRO = 4 STAMPANTE=7 Un processo che possiede un nastro può richiedere solo la stampante. Se il processo richiede il disco, essendo il disco di livello superiore al nastro, non gli viene assegnato e viene forzato a rilasciare l unità nastro. Si dimostra che in questo modo non è possibile avere deadlock. Si consideri il seguente esempio: Un processo P1 possiede una risorsa Rk e un processo P2 possiede una risorsa Rj. Ipotesi: risorse ordinate secondo due livelli gerarchici che sono k e j. Si verifica deadlock se: P1 possiede Rk e richiede Rj che è in possesso di P2. P2 che possiede Rj chiede Rk che è in possesso di P1. Questo significa che dovrebbero essere verificate le seguenti condizioni: j>k per il processo P1 e K>j per il processo P2. Questo è assurdo. Prevenzione dinamica: non impone vincoli preventivi sull uso delle risorse come fa invece la prevenzione statica. Si basa su opportuni algoritmi in grado di determinare se, a partire da una situazione iniziale di assegnamento delle risorse, assegnando nuove risorse ad un processo, si possa arrivare ad una

9 situazione di blocco critico. Se l algoritmo determina che l assegnamento della nuova risorsa può portare ad un blocco critico la nuova richiesta non viene soddisfatta dal sistema operativo. Uno di questi algoritmi è l algoritmo del banchiere (per la descrizione si veda la domanda 4). Come esempio della tecnica di prevenzione dinamica consideriamo la situazione rappresentata nella figura che segue: Processo P2 R1 T8 T7 T6 zona 7 zona 6 Zone non possibili A Regione non raggiungibil R2 T5 zona 5 Regione non salva zona 1 zona 2 zona 3 zona 4 T1 T2 T3 T4 R1 Processo P1 R2 Abbiamo due processi P1 e P2 e due risorse riusabili R1 e R2 (risorse mutuamente esclusive). T1 è l istante in cui P1 richiede la risorsa R1; T3 è l istante in cui P1 rilascia la risorsa R1; T2 è l istante in cui P1 richiede la risorsa R2; T4 è l istante in cui P1 rilascia la risorsa R2; T5 è l istante in cui P2 richiede la risorsa R2; T7 è l istante in cui P2 rilascia la risorsa R2; T6 è l istante in cui P2 richiede la risorsa R1; T8 è l istante in cui P2 rilascia la risorsa R1;

10 Una qualunque sequenza di esecuzione dei processi P1 e P2 che passa per le zone oppure costituisce una sequenza salva ovvero non porta ad un deadlock. Se invece la sequenza di esecuzione dei processi è quella rappresentata in figura con la spezzata, allora certamente si verifica un deadlock. Il sistema operativo deve in questo caso, quando il processo P2 all istante T5 chiede la risorsa R2, rifiutare di assegnare la risorsa. Se infatti il sistema operativo assegnasse la risorsa R2 al processo P2 si entrerebbe in una regione non salva che porterebbe certamente al deadlock (punto A). Il punto A è infatti il punto in cui i due processi che possiedono una risorsa chiedono la risorsa posseduta dall altro processo. Le zone in color amaranto sono regioni impossibili, ovvero in queste zone la traiettoria rappresentativa della sequenza di esecuzione dei processi non può passare in quanto significherebbe aver assegnato una risorsa o entrambe le risorse a tutti e due i processi (violazione della mutua esclusione). Obiettivo quindi della prevenzione dinamica è impedire che un processo entri in una regione non salva. 3. Come funziona il metodo RAF (Request All First) per evitare il deadlock? (esame del ) Prima di descrivere il metodo RAF occorre definire che cosa è un deadlock. Si veda domanda 1. Successivamente è consigliabile descrivere quali sono le condizioni che portano al deadlock. Il deadlock si può verificare se sono vere contemporaneamente le seguenti 4 condizioni: a. Mutua esclusione b. Possesso e attesa c. Mancanza di prerilascio d. Attesa circolare Per i dettagli sulle 4 condizioni si veda la risposta alla domanda 1. Per evitare il deadlock è possibile usare delle tecniche di prevenzione (prevenzione statica e dinamica). Nel caso di prevenzione statica si cerca di evitare che una delle 4 condizioni enunciate sopra possa accadere.

11 Il metodo RAF (Request All First) è uno dei metodi di prevenzione statica. Fa parte della condizione di possesso e attesa unitamente al metodo Release Before Request (RBR). Il metodo RAF consiste in questo: Prima di iniziare la sua esecuzione il processo deve richiedere tutte le risorse di cui ha necessità. Se tutte le risorse richieste sono disponibili allora il processo può proseguire altrimenti viene bloccato. Gli svantaggi del metodo RAF sono: scarso utilizzo delle risorse e possibilità di starvation. Le risorse rimangono assegnate ad un processo per tutto il tempo della sua esecuzione anche se non utilizzate (scarso uso delle risorse). Un processo potrebbe attendere molto tempo prima di iniziare la sua esecuzione. Infatti è costretto ad attendere che tutte le risorse siano libere anche se potrebbe iniziare l esecuzione con quelle libere (starvation). 4. Si descriva l algoritmo del banchiere per evitare il deadlock (esame del ) L algoritmo del banchiere è un algoritmo usato per evitare il deadlock. Il nome deriva dal fatto che può essere benissimo usato in un sistema bancario per evitare che la banca assegni ai clienti tutto il denaro disponibile. Se ciò avvenisse la banca non potrebbe più soddisfare le richieste di tutti i suoi clienti. Cosi come tutti gli algoritmi usati per evitare il deadlock, l algoritmo richiede alcune informazioni a priori. Il metodo più semplice richiede che ciascun processo dichiari inizialmente il numero massimo di risorse di cui ha bisogno. L algoritmo del banchiere controlla, che a partire da uno stato di allocazione delle risorse, l assegnamento di una nuova risorsa ad un processo lasci il sistema in uno stato sicuro. Uno stato è sicuro se esiste una sequenza di allocazione delle risorse per cui tutti i processi possono essere terminati. Se non esiste questa sequenza il sistema si trova in uno stato non sicuro. Se un sistema è in stato sicuro certamente non ci può essere deadlock. Se il sistema è in stato non sicuro allora si può verificare un deadlock anche se non è certo. La differenza tra stato sicuro e stato non sicuro è che in uno stato sicuro il sistema garantisce che tutti i processi verranno terminati, mentre in uno stato non sicuro non c è garanzia che i processi vengano terminati. La possibilità che a partire da uno stato non sicuro si verifichi un deadlock dipende da come i processi richiederanno le risorse e rilasceranno le risorse.

12 L algoritmo del banchiere controlla quindi che l assegnamento di una risorsa lasci il sistema in uno stato sicuro. In tal caso la risorsa viene assegnata al processo richiedente altrimenti la richiesta viene rifiutata. L algoritmo si serve delle seguenti informazioni: risorse allocate ai processi, numero massimo di risorse che possono essere richieste da ciascun processo e risorse disponibili nel sistema. Per descrivere l algoritmo si consideri il seguente esempio. Esempio di stato sicuro. Abbiamo tre clienti di una banca che possono richiedere dei prestiti (risorse) garantendo la restituzione del denaro alla fine della attività. La banca è il sistema operativo. I clienti sono i processi. Una unità rappresenta per esempio euro. La prima colonna identifica la situazione iniziale. Vi sono due risorse disponibili in cassa (20000 euro). Il cliente P ha già ricevuto (risorse assegnate) 4 unità e può richiederne altre 4 (massimo numero di risorse di cui necessita =8). Il cliente Q ha ricevuto 2 unità e può richiederne un altra. Il cliente R ha ricevuto 2 unità e può richiederne altre 7.

13 Lo stato del sistema in questo caso è sicuro perché esiste una sequenza di allocazione delle risorse per cui il banchiere può garantire le risorse richieste a tutti i clienti. Infatti il banchiere potrà assegnare un unità al cliente Q in modo tale che quando esso termina restituendo le due unità, in cassa saranno disponibili 4 unità. Le 4 unità disponibili potranno essere fornite al cliente P che completerà la sua attività e restituirà le sue 8 unità. Ora in cassa ci saranno 8 unità e quindi potrà essere soddisfatta la richiesta del cliente R (7 unità). Alla fine le 9 unità di R saranno restituite e in cassa ci saranno 10 unità. Tutti i clienti hanno potuto terminare le loro attività. Non c è deadlock. Esempio di stato non sicuro. In questo caso se il cliente R richiede un unità delle 7 che gli servono e questa gli viene assegnata il sistema va in uno stato non sicuro. Infatti assegnando una unità ad R in cassa resta solo 1 unità. Il cliente Q potrebbe essere soddisfatto e quindi termina la sua attività. Restituisce le sue 3 unità e in cassa vi sono ora 3 unità. Queste 3 unità ora non bastano per soddisfare le eventuali 4 richieste di P oppure le eventuali 4 o più richieste di R. Il sistema è in uno stato non sicuro.

Deadlock (stallo) Parte III. Deadlock

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

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

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

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

Deadlock e Starvation

Deadlock 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

Dettagli

SISTEMI OPERATIVI. Sincronizzazione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 30/05/2007

SISTEMI OPERATIVI. Sincronizzazione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 30/05/2007 2007 SISTEMI OPERATIVI Sincronizzazione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 30/05/2007 Sincronizzazione dei processi 1. Si descrivano i tipi di interazione tra processi?

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Ordinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita

Ordinamento 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

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 è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

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

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

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

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

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione 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

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

Pronto Esecuzione Attesa Terminazione

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

Dettagli

Capitolo 7: Sincronizzazione

Capitolo 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

Dettagli

Il costrutto monitor [Hoare 74]

Il 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

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Informatica: il sistema operativo

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

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.

Dettagli

Monitor. Introduzione. Struttura di un TDA Monitor

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

Dettagli

Il costrutto monitor [Hoare 74]

Il 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

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

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

Sistemi Operativi Kernel

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

Dettagli

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

Dettagli

Sistemi Operativi. Lezione 7 Comunicazione tra processi

Sistemi Operativi. Lezione 7 Comunicazione tra processi Lezione 7 Comunicazione tra processi Introduzione La soluzione sw al problema della mutua esclusione è abbastanza complessa Algoritmo di Peterson La soluzione hw mediante disabilitazione degli interrupt

Dettagli

Software Specifico per la Gestione e la Bilanciatura della Linea di Assemblaggio

Software Specifico per la Gestione e la Bilanciatura della Linea di Assemblaggio Tempi & Metodi di Giorgio Andreani Servizi di Controllo e di Organizzazione dei Processi Produttivi Iscrizione al Registro delle Imprese CCIAA di Verona REA 357269 Partita Iva 03686020235 - Cod. Fisc.

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Dettagli

Informatica 3. Informatica 3. LEZIONE 6: Il controllo dell esecuzione. Lezione 6 - Modulo 1. Errori durante l esecuzione. Il controllo dell esecuzione

Informatica 3. Informatica 3. LEZIONE 6: Il controllo dell esecuzione. Lezione 6 - Modulo 1. Errori durante l esecuzione. Il controllo dell esecuzione Informatica 3 Informatica 3 LEZIONE 6: Il controllo dell esecuzione Modulo 1: La gestione delle eccezioni Modulo 2: Programmazione concorrente Lezione 6 - Modulo 1 La gestione delle eccezioni Politecnico

Dettagli

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Il Sistema Operativo

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

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

INDICE PROGRAMMA CORSO

INDICE PROGRAMMA CORSO INDICE PROGRAMMA CORSO PRIMA LEZIONE: Componenti di un computer: Hardware, Software e caratteristiche delle periferiche. SECONDA LEZIONE: Elementi principali dello schermo di Windows: Desktop, Icone, Mouse,

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

CAPITOLO 24 I MONITOR

CAPITOLO 24 I MONITOR EFFETTO DELLE PRIMITIVE - signal E wait SUI SEMAFORI CAPITOLO 24 I MONITOR I semafori sono un mezzo efficace per la gestione della mutua esclusione in ambienti con processi concorrenti, ma spesso è difficile

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

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: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

SCHEDULATORI DI PROCESSO

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

Dettagli

Il sistema monetario

Il sistema monetario Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti

Dettagli

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

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

Dettagli

La Gestione delle risorse Renato Agati

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

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche 5.1 Implementazione dei monitor con i semafori Un monitor è un tipo di

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling

Dettagli

Riassunto di Sistemi in Tempo Reale LS

Riassunto di Sistemi in Tempo Reale LS Riassunto di Sistemi in Tempo Reale LS Silvia Cereda July 10, 2007 1 Schedulazione di processi periodici Condizione necessaria (ma non sufficiente) affinché un insieme di N processi sia schedulabile è

Dettagli

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

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

Dettagli

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

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

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza Dipartimento di Informtica e stica Università di Roma La Sapienza Cosa è un sistema operativo Esempi di Insieme di componenti SW che gestiscono le operazioni di basso livello dell elaboratore Compiti di

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Prof. Ing. Michele Marra - Appunti delle Lezioni di Ricerca Operativa Sequenze CAPITOLO II

Prof. Ing. Michele Marra - Appunti delle Lezioni di Ricerca Operativa Sequenze CAPITOLO II CAPITOLO II 2. - PROBLEMI DI SEQUENZA I problemi di sequenza si presentano ogni qualvolta vi sono delle attività che richiedono delle risorse limitate ed indivisibili e bisogna definire l'ordine secondo

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 3. Angelo Bonomi

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 3. Angelo Bonomi GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 3 Angelo Bonomi COSA E LA TECNOLOGIA Con il nome di tecnologia si indicano cose con vari significati come una tecnologia

Dettagli

L importanza del salvataggio dei dati Febbraio 2001 I diritti di riproduzione, di memorizzazione elettronica e di adattamento totale o parziale con qualsiasi mezzo, compresi i microfilm e le copie fotostatiche

Dettagli

Protezione. Sistemi Operativi mod. B 16.1

Protezione. Sistemi Operativi mod. B 16.1 Protezione Scopi della Protezione Dominio di Protezione Matrice d Accesso Implementazione della Matrice d Accesso Revoca dei Diritti d Accesso Sistemi Basati su Abilitazioni Protezione basata sul linguaggio

Dettagli

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

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

Dettagli

Informatica e Bioinformatica: Sistemi Operativi

Informatica e Bioinformatica: Sistemi Operativi Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

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

Dettagli

Il tipo di dato astratto Pila

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

Dettagli

Gestione Risorse Umane Web Work-flow Selezione

Gestione Risorse Umane Web Work-flow Selezione Gestione Risorse Umane Web Work-flow Selezione Premessa... 2 Richieste di personale create con le precedenti versioni... 3 Configurazioni necessarie... 3 Particolarità... 3 Status delle richieste... 5

Dettagli

Introduzione ai Metodi Formali

Introduzione 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

Dettagli

Sincronizzazione e coordinamento nel distribuito

Sincronizzazione e coordinamento nel distribuito Sincronizzazione e coordinamento nel distribuito Sincronizzazione in sistemi centralizzati uso di primitive basate implicitamente sull esistenza della memoria condivisa Sincronizzazione in sistemi distribuiti

Dettagli

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

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

Dettagli

Java Virtual Machine

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

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

ECDL Modulo 2. Contenuto del modulo. Uso del computer e gestione dei file

ECDL Modulo 2. Contenuto del modulo. Uso del computer e gestione dei file ECDL Modulo 2 Uso del computer e gestione dei file Contenuto del modulo Per iniziare Il desktop Organizzare i file Semplice editing Gestione della stampa Esercitazioni 1 Per iniziare (1) Per iniziare a

Dettagli

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Basi di Dati prof. A. Longheu. 5 Progettazione fisica Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Presentazione della pratica online

Presentazione della pratica online Presentazione della pratica online Dalla prima pagina del sito del comune http://www.comune.ficulle.tr.it/, selezionate Sportello Unico Attività Produttive ed Edilizia Selezionate ora ACCEDI nella schermata

Dettagli

Corso di Informatica

Corso 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

Dettagli

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1 + Programmazione concorrente in Java 1 + Introduzione al multithreading 2 La scomposizione in oggetti consente di separare un programma in sottosezioni indipendenti. Oggetto = metodi + attributi finalizzati

Dettagli

DTI / ISIN / Titolo principale della presentazione. La cena dei filosofi. Amos Brocco, Ricercatore, DTI / ISIN. 14 maggio 2012

DTI / 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:

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

Lo schedulatore del kernel

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi Marco Lapegna Laboratorio di Programmazione Dalla precedente lezione 6. I sistemi operativi LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica I Sistemi Operativi Il linguaggi di programmazione

Dettagli

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Dettagli

Il sistema monetario

Il sistema monetario Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti

Dettagli

Sommario. G. Piscitelli

Sommario. G. Piscitelli Sommario Fondamenti dei Sistemi Operativi Device Manager Dispositivi di I/O Interfaccia (o controller) e software di pilotaggio (driver) di un dispositivo Schedulazione dei dischi: i parametri Schedulazione

Dettagli

CAPITOLO 7 - SCAMBIO DI MESSAGGI

CAPITOLO 7 - SCAMBIO DI MESSAGGI CAPITOLO 7 - SCAMBIO DI MESSAGGI Lo scambio di messaggi è una forma di comunicazione nel quale un processo richiede al sistema operativo di mandare dei dati direttamente ad un altro processo. In alcuni

Dettagli

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

Dettagli

Indice dei Contenuti

Indice dei Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione 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

Dettagli

Logout... A utorizzazioni Eserc itazioni cambia. password... Esercitazione. Rispondere alle seguenti domande reltive ai Processi Software:

Logout... A utorizzazioni Eserc itazioni cambia. password... Esercitazione. Rispondere alle seguenti domande reltive ai Processi Software: marco russo Logout... Studente password... A utorizzazioni Eserc itazioni cambia Esercitazione domande reltive ai Processi Software: Un ambiente che consente la cooperazione tra i processi raggiunge migliori

Dettagli

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

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

Dettagli

I THREAD O PROCESSI LEGGERI Generalità

I THREAD O PROCESSI LEGGERI Generalità I THREAD O PROCESSI LEGGERI Generalità Thread: segmento di codice (funzione) Ogni processo ha un proprio SPAZIO DI INDIRIZZAMENTO (area di memoria) Tutti i thread genereti dallo stesso processo condividono

Dettagli