Concorrenza, lucidi integrativi

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Concorrenza, lucidi integrativi"

Transcript

1 Concorrenza, lucidi integrativi Paolo Atzeni, gennaio 2001 Anomaly 5: Phantom Transaction t 1 Transaction t 2 bot read salaries of employees in dept A and compute average bot insert new employee in Dept A commit read salaries of employees in dept A and compute average commit 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 2 1

2 Anomaly 5: Phantom, again Transaction t 1 Transaction t 2 bot bool:=(there is BD course) if not bool then insert BD course... commit bot bool:=(there is BD course) if not bool then insert BD course... commit 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 3 CSR e VSR Ogni schedule conflict-serializzabile è view-serializzabile, ma non necessariamente viceversa Controesempio per la non necessità: r1(x) w2(x) w1(x) w3(x) view-serializzabile: view-equivalente a r1(x) w1(x) w2(x) w3(x) non conflict-serializzabile Sufficienza: vediamo 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 4 2

3 CSR implica VSR CSR: esiste schedule seriale conflict-equivalente VSR: esiste schedule seriale view-equivalente Per dimostrare che CSR implica VSR è sufficiente dimostrare che la conflict-equivalenza C implica la view-equivalenza V, cioè che se due schedule sono C allora sono V Quindi, supponiamo S 1 C S 2 e dimostriamo che S 1 V S 2 I due schedule hanno: stesse scritture finali: se così non fosse, ci sarebbero almeno due scritture in ordine diverso e poiché due scritture sono in conflitto i due schedule non sarebbero C stessa relazione legge-da : se così non fosse, ci sarebbero scritture in ordine diverso o coppie lettura-scrittura in ordine diverso e quindi, come sopra sarebbe violata la C 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 5 CSR e aciclicità del grafo dei conflitti Se uno schedule S è CSR allora è C ad uno schedule seriale. Supponiamo le transazioni nello schedule seriale ordinate secondo il TID: t 1, t 2,, t n. Poiché lo schedule seriale ha tutti i conflitti nello stesso ordine dello schedule S, nel grafo di S ci possono essere solo archi (i,j) con i<j e quindi il grafo non può avere cicli, perché un ciclo richiede almeno un arco (i,j) con i>j. Se il grafo di S è aciclico, allora esiste fra i nodi un ordinamento topologico (cioè una numerazione dei nodi tale che il grafo contiene solo archi (i,j) con i<j). Lo schedule seriale le cui transazioni sono ordinate secondo l ordinamento topologico è equivalente a S, perché per tutti i conflitti (i,j) si ha sempre i<j. 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 6 3

4 Controllo della concorrenza in pratica Anche la conflict-serializabilità, pur più rapidamente verificabile, è inutilizzabile in pratica La tecnica sarebbe efficiente se potessimo conoscere il grafo dall inizio, ma così non è: uno scheduler deve operare incrementalmente, cioè ad ogni richiesta di operazione decidere se eseguirla subito oppure fare qualcos altro; non è praticabile mantenere il grafo, aggiornarlo e verificarne l aciclicità ad ogni richiesta di operazione Inoltre, la tecnica si basa sull ipotesi di commit-proiezione In pratica, si utilizzano tecniche che garantiscono la conflict-serializzabilità senza dover costruire il grafo non richiedono l ipotesi della commit-proiezione 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 7 Two-phase locking (2PL) 2PL (Two-Phase Locking, Locking a due fasi ): Protocollo che impone a ciascuna transazione di acquisire tutti i propri lock prima di iniziare a rilasciarne (o, in altre parole, che impedisce l aquisizione di nuovi lock a transazioni che ne abbiano gia rilasciati) Uno scheduler 2PL e e uno scheduler che genera solo schedule 2PL cioe schedule in cui tutte le transazioni rispettano il protocollo 2PL (e gestisce i lock come visto in precedenza) 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 8 4

5 2PL e CSR Ogni schedule 2PL e anche conflict serializzabile, ma non necessariamente viceversa Controesempio per la non necessita : r 1 (x) w 1 (x) r 2 (x) w 2 (x) r 3 (y) w 1 (y) Viola 2PL Conflict-serializzabile Sufficienza: vediamo 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 9 2PL implica CSR S schedule 2PL Consideriamo per ciascuna transazione l istante in cui ha tutte le risorse e sta per rilasciare la prima Ordiniamo le transazioni in accordo con questo valore temporale e consideriamo lo schedule seriale corrispondente Vogliamo dimostrare che tale schedule è equivalente ad S: allo scopo, consideriamo un conflitto fra un azione di t i e un azione dei t j con i<j; è possibile che compaiano in ordine invertito in S? no, perché in tal caso t j dovrebbe aver rilasciato la risorsa in questione prima della sua acquisizione da parte di t i 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 10 5

6 Basic timestamp mechanism The scheduler has counters RTM(x) and WTM(x) for each object: RTM(x): the youngest transaction that has read x WTM(x): the youngest transaction that has written x The scheduler receives read and write requests: read(x,ts): if ts < WTM(x) then the request is rejected and the transaction is killed, otherwise the request is accepted and RTM(x) is set equal to the greater of RTM(x) and ts write(x,ts): if ts < WTM(x) or ts < RTM(x) then the request is rejected and the transaction is killed, otherwise the request is accepted and WTM(x) is set equal to ts Each schedule is conflict-equivalent to the serial schedule (induced by the timestamps), so TS implies CSR 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 11 Inefficiencies of TS The method causes the forced abort of a large number of transactions To avoid dirty reads, the system must buffer writes until commit, and this introduces waiting of transactions 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 12 6

7 2PL vs TS Sono incomparabili Schedule in TS ma non in 2PL r 1 (x) w 1 (x) r 2 (x) w 2 (x) r 0 (y) w 1 (y) Schedule in 2PL ma non in TS r 2 (x) w 2 (x)r 1 (x) w 1 (x) Schedule in TS e in 2PL r 1 (x) r 2 (y) w 2 (y) w 1 (x) r 2 (x) w 2 (x) 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 13 Comparison 2PL vs TS In 2PL the transactions are put in waiting. In TS they are killed and then restarted The serialization order in 2PL is imposed by locks, while in TS it is imposed by the timestamps The necessity of waiting for the commit of the transaction causes strict 2PL and buffering of writes in TS 2PL can give rise to deadlocks (discussed next) Restarting costs more than waiting: 2PL wins! 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 14 7

8 Granularita dei lock I lock possono essere acquisiti a diversi livelli di granularita : Tutta la base di dati Tutta una relazione Parte di una relazione (con criterio logico e fisico) Singola ennupla Vantaggi e svantaggi: Granularita fine: Riduce le probabilita di conflitto Richiede piu operazioni Granularita grossolano: Il contrario Permette forme di predicate-locking 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 15 Predicate locking Anomalia phantom : Inserimento di una ennupla, dopo aver verificato che non ce ne sia un altra con lo stesso valore della chiave Puo essere evitata con un lock a livello dipredicato Concettualmente, su una parte di relazione che soddisfa una condizione (valore della chiave) in pratica sull indice 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 16 8

9 Tuning dei lock e della granularita Compito del progettista (fisico) e del DBA Parametri a disposizione Granularita ; criteri base: A livello di ennupla per transazioni brevi e locali A livello di pagina per transazioni medie che sfruttino l ordinamento fisico A livello di relazione (o base di dati) per transazioni che ne coinvolgano porzione significativa Soglia (numero massimo di lock) oltre la quale si passa ad una granularita meno fine ( lock escalation ) Dimensione della tabella di lock 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 17 Deadlock resolution techniques A deadlock is a cycle in the wait-for graph which indicates wait conditions between transactions (node=transaction, arc=wait condition). Three techniques: 1. Timeout (most used; problem: choice of timeout with tradeoffs) 2. Deadlock detection 3. Deadlock prevention Deadlock detection: performs the search for cycles in a wait-for graph Deadlock prevention: kills the transactions that could cause a cycle (thus: it overkills) 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 18 9

10 Prevenzione dello stallo Si basa su note condizioni necessarie per lo stallo; evitandone almeno una, lo si impedisce hold and wait: in caso di stallo, ci deve essere una transazione con risorse assegnate e in attesa su altre. Per evitare questo si possono assegnare tutte le risorse in blocco a ciascuna transazione. Poco efficiente: occorre attendere che tutte le risorse siano libere. circular wait: ci deve essere una situazione di attesa circolare. Per evitare questo si considerano i timestamp delle transazioni, e si impone che una transazione possa porsi in attesa solo su un dato detenuto da una transazione piu giovane, altrimenti una delle due deve essere abortita. Causa un numero eccessivo di restart (molto superiore al rischio di stallo) ed e difficile scegliere la vittima (con rischio di blocco individuale, o starvation). 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 19 Isolation levels offered by SQL2 Some transactions are defined as read-only (they can t request exclusive locks and cannot write [except for temporary ones]) The level of isolation can be set for each transactions Read uncommitted no concurrency control, allows all anomalies Read committed avoids dirty reads and lost updates, but not inconsistent reads and phantoms Repeatable read allows phantoms, avoids other anomalies Serializable avoids all anomalies 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 20 10

11 Isolation levels, come sono realizzati Read uncommitted non richiede niente (e ammesso solo per transazioni read-only) Read committed rispetta gli altrui lock in scrittura (mantenuti fino al commit) Repeatable read 2PL, ma senza predicate lock Serializable 2PL e predicate lock 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 21 Isolation levels, commenti Le definizioni sono diventate standard di recente, ma la terminologia e variegata (e incoerente) guardare i manuali! Level 0, Level 1, Level 2, Level 3 (o Degree 0, ) Read uncommitted, Read committed, Repeatable read, Serializable Read uncommitted, Cursor stability, Read stability, Repeatable read 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 22 11

12 Concorrenza, lucidi integrativi Paolo Atzeni, gennaio 2001 Anomaly 5: Phantom Transaction t 1 Transaction t 2 bot read salaries of employees in dept A and compute average bot insert new employee in Dept A commit read salaries of employees in dept A and compute average commit 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 2 1

13 Anomaly 5: Phantom, again Transaction t 1 Transaction t 2 bot bool:=(there is BD course) if not bool then insert BD course... commit bot bool:=(there is BD course) if not bool then insert BD course... commit 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 3 CSR e VSR Ogni schedule conflict-serializzabile è view-serializzabile, ma non necessariamente viceversa Controesempio per la non necessità: r1(x) w2(x) w1(x) w3(x) view-serializzabile: view-equivalente a r1(x) w1(x) w2(x) w3(x) non conflict-serializzabile Sufficienza: vediamo 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 4 2

14 CSR implica VSR CSR: esiste schedule seriale conflict-equivalente VSR: esiste schedule seriale view-equivalente Per dimostrare che CSR implica VSR è sufficiente dimostrare che la conflict-equivalenza C implica la view-equivalenza V, cioè che se due schedule sono C allora sono V Quindi, supponiamo S 1 C S 2 e dimostriamo che S 1 V S 2 I due schedule hanno: stesse scritture finali: se così non fosse, ci sarebbero almeno due scritture in ordine diverso e poiché due scritture sono in conflitto i due schedule non sarebbero C stessa relazione legge-da : se così non fosse, ci sarebbero scritture in ordine diverso o coppie lettura-scrittura in ordine diverso e quindi, come sopra sarebbe violata la C 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 5 CSR e aciclicità del grafo dei conflitti Se uno schedule S è CSR allora è C ad uno schedule seriale. Supponiamo le transazioni nello schedule seriale ordinate secondo il TID: t 1, t 2,, t n. Poiché lo schedule seriale ha tutti i conflitti nello stesso ordine dello schedule S, nel grafo di S ci possono essere solo archi (i,j) con i<j e quindi il grafo non può avere cicli, perché un ciclo richiede almeno un arco (i,j) con i>j. Se il grafo di S è aciclico, allora esiste fra i nodi un ordinamento topologico (cioè una numerazione dei nodi tale che il grafo contiene solo archi (i,j) con i<j). Lo schedule seriale le cui transazioni sono ordinate secondo l ordinamento topologico è equivalente a S, perché per tutti i conflitti (i,j) si ha sempre i<j. 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 6 3

15 Controllo della concorrenza in pratica Anche la conflict-serializabilità, pur più rapidamente verificabile, è inutilizzabile in pratica La tecnica sarebbe efficiente se potessimo conoscere il grafo dall inizio, ma così non è: uno scheduler deve operare incrementalmente, cioè ad ogni richiesta di operazione decidere se eseguirla subito oppure fare qualcos altro; non è praticabile mantenere il grafo, aggiornarlo e verificarne l aciclicità ad ogni richiesta di operazione Inoltre, la tecnica si basa sull ipotesi di commit-proiezione In pratica, si utilizzano tecniche che garantiscono la conflict-serializzabilità senza dover costruire il grafo non richiedono l ipotesi della commit-proiezione 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 7 Two-phase locking (2PL) 2PL (Two-Phase Locking, Locking a due fasi ): Protocollo che impone a ciascuna transazione di acquisire tutti i propri lock prima di iniziare a rilasciarne (o, in altre parole, che impedisce l aquisizione di nuovi lock a transazioni che ne abbiano gia rilasciati) Uno scheduler 2PL e e uno scheduler che genera solo schedule 2PL cioe schedule in cui tutte le transazioni rispettano il protocollo 2PL (e gestisce i lock come visto in precedenza) 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 8 4

16 2PL e CSR Ogni schedule 2PL e anche conflict serializzabile, ma non necessariamente viceversa Controesempio per la non necessita : r 1 (x) w 1 (x) r 2 (x) w 2 (x) r 3 (y) w 1 (y) Viola 2PL Conflict-serializzabile Sufficienza: vediamo 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 9 2PL implica CSR S schedule 2PL Consideriamo per ciascuna transazione l istante in cui ha tutte le risorse e sta per rilasciare la prima Ordiniamo le transazioni in accordo con questo valore temporale e consideriamo lo schedule seriale corrispondente Vogliamo dimostrare che tale schedule è equivalente ad S: allo scopo, consideriamo un conflitto fra un azione di t i e un azione dei t j con i<j; è possibile che compaiano in ordine invertito in S? no, perché in tal caso t j dovrebbe aver rilasciato la risorsa in questione prima della sua acquisizione da parte di t i 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 10 5

17 Basic timestamp mechanism The scheduler has counters RTM(x) and WTM(x) for each object: RTM(x): the youngest transaction that has read x WTM(x): the youngest transaction that has written x The scheduler receives read and write requests: read(x,ts): if ts < WTM(x) then the request is rejected and the transaction is killed, otherwise the request is accepted and RTM(x) is set equal to the greater of RTM(x) and ts write(x,ts): if ts < WTM(x) or ts < RTM(x) then the request is rejected and the transaction is killed, otherwise the request is accepted and WTM(x) is set equal to ts Each schedule is conflict-equivalent to the serial schedule (induced by the timestamps), so TS implies CSR 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 11 Inefficiencies of TS The method causes the forced abort of a large number of transactions To avoid dirty reads, the system must buffer writes until commit, and this introduces waiting of transactions 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 12 6

18 2PL vs TS Sono incomparabili Schedule in TS ma non in 2PL r 1 (x) w 1 (x) r 2 (x) w 2 (x) r 0 (y) w 1 (y) Schedule in 2PL ma non in TS r 2 (x) w 2 (x)r 1 (x) w 1 (x) Schedule in TS e in 2PL r 1 (x) r 2 (y) w 2 (y) w 1 (x) r 2 (x) w 2 (x) 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 13 Comparison 2PL vs TS In 2PL the transactions are put in waiting. In TS they are killed and then restarted The serialization order in 2PL is imposed by locks, while in TS it is imposed by the timestamps The necessity of waiting for the commit of the transaction causes strict 2PL and buffering of writes in TS 2PL can give rise to deadlocks (discussed next) Restarting costs more than waiting: 2PL wins! 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 14 7

19 Granularita dei lock I lock possono essere acquisiti a diversi livelli di granularita : Tutta la base di dati Tutta una relazione Parte di una relazione (con criterio logico e fisico) Singola ennupla Vantaggi e svantaggi: Granularita fine: Riduce le probabilita di conflitto Richiede piu operazioni Granularita grossolano: Il contrario Permette forme di predicate-locking 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 15 Predicate locking Anomalia phantom : Inserimento di una ennupla, dopo aver verificato che non ce ne sia un altra con lo stesso valore della chiave Puo essere evitata con un lock a livello dipredicato Concettualmente, su una parte di relazione che soddisfa una condizione (valore della chiave) in pratica sull indice 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 16 8

20 Tuning dei lock e della granularita Compito del progettista (fisico) e del DBA Parametri a disposizione Granularita ; criteri base: A livello di ennupla per transazioni brevi e locali A livello di pagina per transazioni medie che sfruttino l ordinamento fisico A livello di relazione (o base di dati) per transazioni che ne coinvolgano porzione significativa Soglia (numero massimo di lock) oltre la quale si passa ad una granularita meno fine ( lock escalation ) Dimensione della tabella di lock 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 17 Deadlock resolution techniques A deadlock is a cycle in the wait-for graph which indicates wait conditions between transactions (node=transaction, arc=wait condition). Three techniques: 1. Timeout (most used; problem: choice of timeout with tradeoffs) 2. Deadlock detection 3. Deadlock prevention Deadlock detection: performs the search for cycles in a wait-for graph Deadlock prevention: kills the transactions that could cause a cycle (thus: it overkills) 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 18 9

21 Prevenzione dello stallo Si basa su note condizioni necessarie per lo stallo; evitandone almeno una, lo si impedisce hold and wait: in caso di stallo, ci deve essere una transazione con risorse assegnate e in attesa su altre. Per evitare questo si possono assegnare tutte le risorse in blocco a ciascuna transazione. Poco efficiente: occorre attendere che tutte le risorse siano libere. circular wait: ci deve essere una situazione di attesa circolare. Per evitare questo si considerano i timestamp delle transazioni, e si impone che una transazione possa porsi in attesa solo su un dato detenuto da una transazione piu giovane, altrimenti una delle due deve essere abortita. Causa un numero eccessivo di restart (molto superiore al rischio di stallo) ed e difficile scegliere la vittima (con rischio di blocco individuale, o starvation). 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 19 Isolation levels offered by SQL2 Some transactions are defined as read-only (they can t request exclusive locks and cannot write [except for temporary ones]) The level of isolation can be set for each transactions Read uncommitted no concurrency control, allows all anomalies Read committed avoids dirty reads and lost updates, but not inconsistent reads and phantoms Repeatable read allows phantoms, avoids other anomalies Serializable avoids all anomalies 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 20 10

22 Isolation levels, come sono realizzati Read uncommitted non richiede niente (e ammesso solo per transazioni read-only) Read committed rispetta gli altrui lock in scrittura (mantenuti fino al commit) Repeatable read 2PL, ma senza predicate lock Serializable 2PL e predicate lock 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 21 Isolation levels, commenti Le definizioni sono diventate standard di recente, ma la terminologia e variegata (e incoerente) guardare i manuali! Level 0, Level 1, Level 2, Level 3 (o Degree 0, ) Read uncommitted, Read committed, Repeatable read, Serializable Read uncommitted, Cursor stability, Read stability, Repeatable read 29/01/2001 Paolo Atzeni, Concorrenza, lucidi integrativi 22 11

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che

Dettagli

Corso di Sistemi di Gestione di Basi di Dati. Esercitazione sul controllo di concorrenza 12/02/2004

Corso di Sistemi di Gestione di Basi di Dati. Esercitazione sul controllo di concorrenza 12/02/2004 Corso di Sistemi di Gestione di Basi di Dati Esercitazione sul controllo di concorrenza 12/02/2004 Dott.ssa Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma

Dettagli

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill /XFLGLVXOFRQWUROORGHOODFRQFRUUHQ]D Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill $QRPDOLD /RVW8SGDWH Si considerino le due transazioni identiche: W1

Dettagli

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza Concorrenza Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione della concorrenza Angelo Montanari Dipartimento di Matematica e Informatica Università

Dettagli

ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza

ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza Michele de Nittis Generalità A livello astratto un DataBase Management System può essere suddiviso nei seguenti moduli: OTTIMIZZATORE FILE

Dettagli

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. Capitolo 2 Esercizio 2.1 Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. 1. r1(x), w1(x), r2(x), w2(y), a1, c2 2. r1(x),

Dettagli

Basi di Dati Complementi Esercizi Esercizi su concurrency control

Basi di Dati Complementi Esercizi Esercizi su concurrency control Basi di Dati Complementi Esercizi Esercizi su concurrenc control Esercizio. Dati gli schedule : s r w r w r w s r w r w r3 w r r3 s3 r r3 rz w w3 a. specificare, con una breve giustificazione, a quali

Dettagli

Controllo concorrenza

Controllo concorrenza Controllo concorrenza Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio. Dati gli schedule: s r w r w r w s r w r w r3 w r r3 s3 r r3 rz w w3 Specificare, con una breve giustificazione,

Dettagli

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche. Query/update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura pagine Architettura di un DBMS Utente/Applicazione

Dettagli

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Nel caso di successo, i risultati delle operazioni effettuate devono essere resi definitivi; invece,

Dettagli

DB - Cenni sulla gestione delle transazioni

DB - Cenni sulla gestione delle transazioni transazioni Cenni sulla gestione delle transazioni in DBMS transazioni Cenni sulla gestione delle transazioni in DBMS Basato sulle slides di transazioni Cenni sulla gestione delle transazioni in DBMS Basato

Dettagli

Parte 1 Gestione della concorrenza

Parte 1 Gestione della concorrenza Gestione dei dati Parte 1 Gestione della concorrenza Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria dell informazione, informatica e statistica Sapienza Università di Roma Anno Accademico 2012/2013

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

execute reject delay

execute reject delay Scheduler Lo scheduler stabilisce l ordine di esecuzione delle operazioni. Le azioni che svolge sono: execute: l operazione può essere eseguita immediatamente, per cui viene passata al data manager reject:

Dettagli

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Osservazione Per gestire con prestazione accettabili il carico di lavoro tipico

Dettagli

BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com

BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com 1 Tecnologia di un Database Server - DEFINIZIONI - DATABASE SERVER: E un sistema dedicato alla gestione dei dati.

Dettagli

Transazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013

Transazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 Transazioni in SQL Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 1 Introduzione Informalmente, una transazione è una sequenza (arbitrariamente lunga) di operazioni

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

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9 Prefazione... 1 Contenuti... 1 Ringraziamenti... 2 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 1.1 Dichiarazione di funzioni e procedure... 3 1.2 Istruzioni PSM... 4 2 Vincoli e Trigger...

Dettagli

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 Testo: Sviluppare semplici programmi che permettano di verificare i diversi livelli di isolamento previsti da SQL

Dettagli

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni Capitolo 13 Gestione delle transazioni Transazioni L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché gli accessi al disco sono frequenti e relativamente

Dettagli

La gestione della concorrenza in pratica

La gestione della concorrenza in pratica La gestione della concorrenza in pratica Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 Appunti dalle lezioni Soluzioni possibili Uno scheduling è considerato corretto se

Dettagli

Gestione delle transazioni. Concetto di transazione

Gestione delle transazioni. Concetto di transazione Dario Maio http://www.csr.unibo.it/~maio/ dmaio@deis.unibo.it Concetto di transazione Una transazione è un unità logica di elaborazione che corrisponde a un insieme di operazioni fisiche elementari (letture/scritture)

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

Transazioni e controllo della concorrenza

Transazioni e controllo della concorrenza Transazioni e controllo della concorrenza Tecniche di programmazione distribuita - responsabilità del programmatore, basso livello Alto livello - transazione sequenza di operazioni sul server, che coinvolgono

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

Sincronizzazione nei Sistemi Distribuiti

Sincronizzazione nei Sistemi Distribuiti Sincronizzazione nei Sistemi Distribuiti Sincronizzazione dei Clock In un sistema centralizzato la misurazione del tempo non presenta ambiguità. (ogni computer ha il proprio clock) In un sistema distribuito

Dettagli

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

Architettura MySQL. E Motori MySQL

Architettura MySQL. E Motori MySQL E Motori MySQL Caratteristiche Differente dagli altri DBMS Non perfetta Ma flessibile Gestisce DataWarehouses, OLTP, ecc. Architettura delle Storage Engine Separa il query processing dai task di memorizzazione

Dettagli

Transazioni. Antonella Poggi. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Transazioni. Antonella Poggi. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Transazioni Antonella Poggi Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti sulla

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

TRANSAZIONI DISTRIBUITE TRANSAZIONI

TRANSAZIONI DISTRIBUITE TRANSAZIONI TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità

Dettagli

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1 Gestione delle Transazioni Parte terza Argomenti: Gestore del Buffer,Ripristino, File di Log, Protocolli per il ripristino, Savepoint, Shadow Pages, Gestione del Buffer Obiettivi: Minimizzare gli accessi

Dettagli

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano tratto da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati

Dettagli

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione Transazioni Transazioni Per mantenere le informazioni consistenti è necessario controllare opportunamente le sequenze di accessi e aggiornamenti ai dati Gli utenti interagiscono con la base di dati attraverso

Dettagli

La gestione della concorrenza

La gestione della concorrenza La gestione della concorrenza R. A. Elmasri, S. B. Navathe (Addison Wesley - Pearson) Sistemi di Basi di dati Complementi Capitolo 1 e Capitolo 2 Appunti dalle lezioni Transazione Transazioni e tecnologie

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

Coordinazione Distribuita

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

Dettagli

Gestione della Concorrenza

Gestione della Concorrenza Corso di Complementi di Basi di Dati Gestione della Concorrenza Angelo Montanari 1 Anomalie delle transazioni concorrenti -1 Perdita di aggiornamento Lettura sporca Aggiornamento fantasma 2 2 Anomalie

Dettagli

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché

Dettagli

Gestione delle transazioni

Gestione delle transazioni Funzionalità avanzate dei DBMS Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Gestione delle transazioni Per approfondimenti: Ciaccia, Maio. Lezioni di basi di dati: pp 439-46 ORACLE

Dettagli

Esempio di sistema informativo

Esempio di sistema informativo Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2009-2010 2010 Docente: Gigliola Vaglini Docente laboratorio: Luca Martini Esempio di sistema informativo GESTIONE

Dettagli

Transazioni - Parte 1

Transazioni - Parte 1 Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria

Dettagli

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

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

Dettagli

Problemi che possono sorgere nell ambito della concorrenza delle transizioni:

Problemi che possono sorgere nell ambito della concorrenza delle transizioni: Nell ambito delle strutture fisiche di accesso ai dati, descrivere le strutture sequenziali entry sequenced, ad array e ordinate Seriale: La sequenza delle tuple è indotta dal loro ordine di inserimento

Dettagli

Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti. Cognome Nome Matricola Domanda 1 (20%) Considerare un sistema distribuito su cui viene eseguita una

Dettagli

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

SISTEMI 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

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli

Recovery manager Gestore della affidabilità

Recovery manager Gestore della affidabilità Riferimenti Basi di Dati Complementi Parte 2: Tecnologie per DBMS Parte 2.5: Recovery Manager Trasparenze parte Recovery manager Basi di Dati Atzeni et al. - Capitolo 2.1, 2.2 Anche: Garcia Molina, Ullman,

Dettagli

8 Tecniche di recovery

8 Tecniche di recovery 8 Tecniche di recovery Se viene sottomessa una transazione T, o tutte le operazioni di T sono completate ed il loro effetto è registrato permanentemente nel DB, o T non ha nessun effetto né sul DB né su

Dettagli

Java threads (2) Programmazione Concorrente

Java threads (2) Programmazione Concorrente Java threads (2) emanuele lattanzi isti information science and technology institute 1/28 Programmazione Concorrente Utilizzo corretto dei thread in Java emanuele lattanzi isti information science and

Dettagli

COGNOME MATRICOLA. UTENTE(ID, Nome, Cognome, Eta) ALBERGO(Nome, Citta, NumStelle) PRENOTAZIONE(Codice, NomeAlbergo, IDUtente, DataArrivo, NumNotti)

COGNOME MATRICOLA. UTENTE(ID, Nome, Cognome, Eta) ALBERGO(Nome, Citta, NumStelle) PRENOTAZIONE(Codice, NomeAlbergo, IDUtente, DataArrivo, NumNotti) NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un servizio di prenotazione di strutture alberghiere: UTENTE(ID, Nome, Cognome,

Dettagli

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com Hibernate Le transazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione La demarcazione delle transazioni può essere fatta: In maniera programmatica: demarcazione all interno del codice applicativo.

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

Parte 2 Esercitazione sulla gestione della concorrenza

Parte 2 Esercitazione sulla gestione della concorrenza Gestione dei dati Parte 2 Esercitazione sulla gestione della concorrenza Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

Dettagli

Tecnologia di un Database Server (centralizzato) Introduzione generale

Tecnologia di un Database Server (centralizzato) Introduzione generale Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di

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

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

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

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

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo Gestione delle transazioni Introduzione Transazioni in SQL Linguaggio SQL: costrutti avanzati 2 applicativo Operazioni bancarie operazione di prelievo dal proprio conto corrente mediante bancomat Gestione

Dettagli

ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un sistema di prenotazioni di biglietti aerei:

ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un sistema di prenotazioni di biglietti aerei: NOME COGNOME MATRICOLA ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un sistema di prenotazioni di biglietti aerei: VELIVOLO(NomeModello, MaxPasseggeri)

Dettagli

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Sistemi di gestione delle basi di dati 1 Cos è un DBMS? Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni (ad esempio, Madonna

Dettagli

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1

Dettagli

Sincronizzazione distribuita: Mutua esclusione ed elezione

Sincronizzazione distribuita: Mutua esclusione ed elezione Sistemi Distribuiti Sincronizzazione distribuita: Mutua esclusione ed elezione 1 Mutua Esclusione (algoritmo centralizzato) a) Il Processo 1 chiede al coordinatore il permesso di entrare in una regione

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

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/29

Dettagli

SISTEMI OPERATIVI. Sincronizzazione in Java (Semafori e barriere) Patrizia Scandurra (MODULO DI INFORMATICA II) LABORATORIO

SISTEMI OPERATIVI. Sincronizzazione in Java (Semafori e barriere) Patrizia Scandurra (MODULO DI INFORMATICA II) LABORATORIO SISTEMI OPERATIVI (MODULO DI INFORMATICA II) LABORATORIO Sincronizzazione in Java (Semafori e barriere) Patrizia Scandurra Università degli Studi di Bergamo a.a. 2012-13 La gestione dei thread in Java

Dettagli

System call fcntl e record locking

System call fcntl e record locking System call fcntl e record locking Esempio: prenotazione di voli aerei La compagnia ACME Airlines usa un sistema di prenotazione dei voli basato su unix. Possiede due uffici per la prenotazione, A e B,

Dettagli

Metodologia Classica di Progettazione delle Basi di Dati

Metodologia Classica di Progettazione delle Basi di Dati Metodologia Classica di Progettazione delle Basi di Dati Metodologia DB 1 Due Situazioni Estreme Realtà Descritta da un documento testuale che rappresenta un insieme di requisiti del software La maggiore

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

Linguaggio SQL: costrutti avanzati

Linguaggio SQL: costrutti avanzati Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione

Dettagli

SCD. Criteri di sincronizzazione. Criteri di sincronizzazione. Criteri di valutazione 2. Criteri di valutazione 1. Condizioni di sincronizzazione 1

SCD. Criteri di sincronizzazione. Criteri di sincronizzazione. Criteri di valutazione 2. Criteri di valutazione 1. Condizioni di sincronizzazione 1 Criteri di valutazione 2 Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD È interessante applicare questo schema di valutazione ai costrutti

Dettagli

Modello relazionale. ing. Alfredo Cozzi 1

Modello relazionale. ing. Alfredo Cozzi 1 Modello relazionale E fondato sul concetto matematico di relazione tra insiemi di oggetti Una relazione su n insiemi A1, A2,..,An è un sottoinsieme di tutte le n-uple a1,a2,,an che si possono costruire

Dettagli

Guida utente User Manual made in Italy Rev0

Guida utente User Manual made in Italy Rev0 Guida utente User Manual Rev0 made in Italy Indice/Index Informazioni generali General Info... 3 Guida Rapida per messa in funzione Start Up procedure... 3 Login Login... 3 Significato dei tasti Botton

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

REGISTRATION GUIDE TO RESHELL SOFTWARE

REGISTRATION GUIDE TO RESHELL SOFTWARE REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/

Dettagli

REALIZZAZIONE DEI DBMS

REALIZZAZIONE DEI DBMS Capitolo 9 REALIZZAZIONE DEI DBMS Si presentano l architettura dei DBMS relazionali centralizzati e alcune delle tecniche utilizzate per realizzarne le funzionalità essenziali: la gestione dei dati, delle

Dettagli

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

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

Dettagli

Architetture Distribuite

Architetture Distribuite Architetture Distribuite Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Sommario Architetture client-server Basi di dati distribuite

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

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique

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

Basi di Dati Distribuite

Basi di Dati Distribuite Basi di Dati Distribuite P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (McGraw-Hill Italia) Basi di dati: architetture linee di evoluzione - seconda edizione Capitolo 3 Appunti dalle lezioni SQL come DDL

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Blocchi funzione: FbModbusAsciiMs

Blocchi funzione: FbModbusAsciiMs Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione

Dettagli

Schedulazione dinamica. Elettronica dei Calcolatori 1

Schedulazione dinamica. Elettronica dei Calcolatori 1 Schedulazione dinamica Elettronica dei Calcolatori 1 Schedulazione dinamica delle operazioni Impossibile risolvere tutti i conflitti staticamente I possibile predire tutti i salti condizionati HW fa durante

Dettagli

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione

Dettagli

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni Replicazione Replicazione dei dati: gestione e manutenzione di un insieme di copie dei dati Motivazioni: - disponibilità - tolleranza ai guasti - prestazioni aching diverso da replicazione aching non aumenta

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Gli applicativi software Stefano

Dettagli

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL Simona Rotolo 2 Questo documento, rivolto a chi sviluppa codice in PL/Sql, è stato redatto al fine di fornire degli standard di sviluppo che aiuteranno

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

Radio Frequency Identification Systems

Radio Frequency Identification Systems Work--Tag passiivii Miinii--Conttrrollllerr USB CPR..PR50 & CPR..MR50 Manualle iinsttallllaziione Come tutti i dispositivi della Famiglia Work-Tag i controller operano con transponders di frequenza operativa

Dettagli

WELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico

WELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Riferimenti Bibliografici

Riferimenti Bibliografici Elaborazione Automatica dei Dati Enrico Cavalli Anno Accademico 2012-2013 Riferimenti Bibliografici Cavalli, Lorenzi Progettazione dei database linguaggio SQL dati in rete Access, MySQL, pagine ASP, Pagine

Dettagli