Vous êtes sur la page 1sur 158

M.

AZZOUZ

Veille Technologique et Bases de


données avancées

TD Transactions

– USTHB M1 SSI–
M. AZZOUZ
Dernière mis à jour :Février 2021
Exercice 01

On considère 3 transactions Ti , Tj , Tk :

Ti Tj Tk
READ(A)=Ri (A) READ(A)=Rj (A) WRITE(A)=Wk (A)
WRITE(B)=Wi (B) READ(B)=Rj (B) WRITE(B)=Wk (B)

L’exécution de la dernière requête (READ ou WRITE) termine


la transaction qui a effectué cette requête.
Ti : Ri (A) Wi (B) Ci
Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
1. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tj ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
Ri (A) Rj (A)

Rj (A) Ri (A)

Wi (B) Rj (B) Rj (B) Wi (B)

Rj (B) Wi (B) Wi (B) Rj (B)


O1 O2 O3 O4
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
1. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tj ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
 O1: Ri (A) Rj (A) Wi (B) Rj (B)
Par permutation: Ri (A) Wi (B) Rj (A) Rj (B)  Ti Tj
D’où O1 est sérialisable.
Par graphe de précédence
Déterminer les conflits
Sur A: il n’y a pas
Sur B: Wi (B)-Rj (B); B
Tracer le graphe Ti Tj

Le graphe de précédence est acyclique d’où O1 est sérialisable.


Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
1. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tj ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
 O2: Ri (A) Rj (A) Rj (B) Wi (B)
Par permutation: Rj (A) Ri (A) Rj (B) Wi (B)
 Rj (A) Rj (B) Ri (A) Wi (B)
 Tj Ti
D’où O2 est sérialisable.
Par graphe de précédence
Déterminer les conflits B
Sur A: il n’y a pas Ti Tj
Sur B: Rj (B)-Wi (B);
Tracer le graphe
Le graphe de précédence est acyclique d’où O2 est sérialisable.
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
1. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tj ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
 O3: Rj (A) Ri (A) Rj (B) Wi (B)
Par permutation: Rj (A) Rj (B) Ri (A) Wi (B)
Tj Ti
D’où O3 est sérialisable.
Par graphe de précédence
Déterminer les conflits
Sur A: il n’y a pas B
Sur B: Rj (B)-Wi (B); Ti Tj
Tracer le graphe
Le graphe de précédence est acyclique d’où O3est sérialisable.
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
1. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tj ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
 O4: Rj (A) Ri (A) Wi (B) Rj (B)
Par permutation: Ri (A) Rj (A) Wi (B) Rj (B)
 Ri (A) Wi (B) Rj (A) Rj (B)
Ti Tj
D’où O4 est sérialisable.
Par graphe de précédence
Déterminer les conflits B
Sur A: il n’y a pas Ti Tj
Sur B: Wi (B)-Rj (B);
Tracer le graphe
Le graphe de précédence est acyclique d’où O4 est sérialisable.
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
2. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tk ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
Ri (A) Wk (A)

Wk (A) Ri (A)

Wi (B) Wk (B) Wk (B) Wi (B)

Wk (B) Wi (B) Wi (B) Wk (B)


O1 O2 O3 O4
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
2. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tk ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
O1: Ri (A) Wk(A) Wi (B) Wk (B)
Par permutation: Ri (A) Wi (B) Wk(A) Wk (B)  Ti Tk
D’où O1 est sérialisable.
O2: Ri (A) Wk(A) Wk (B) Wi (B)
Par graphe de précédence
Déterminer les conflits A
Sur A: Ri (A)-Wk(A) Ti TK
Sur B: Wk(B)-Wi(B); B
Tracer le graphe
Le graphe de précédence est cyclique {Ti , Tk , Ti} d’où O2 n’est pas
sérialisable.
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
2. Décrire les ordonnancements non-série que l’on peut constituer avec Ti
et Tk ? Parmi ces ordonnancements, quels sont ceux qui sont sérialisables
(justifier) ?
O3: Wk(A) Ri (A) Wk (B) Wi (B)
Par permutation: Wk(A) Wk (B) Ri (A) Wi (B) (B)  Tk Ti
D’où O3 est sérialisable.
O4: Wk(A) Ri (A) Wi (B) Wk (B)
Par graphe de précédence
Déterminer les conflits B
Sur A: Wk(A)-Ri (A) Ti TK
Sur B: Wi(B)-Wk(B); A
Tracer le graphe
Le graphe de précédence est cyclique {Ti , Tk , Ti} d’où O4 n’est pas
sérialisable.
Exercice 01

Ti : Ri (A) Wi (B) Ci


Tj : Rj (A) Rj (B) Cj
Tk : Wk (A) Wk (B) Ck
4. On considère l’ordonnancement de Ti , Tj , Tk suivant :
Ti Tj Tk
READ(A)=Ri (A)
WRITE(A)=Wk (A)
READ(A)=Rj (A)
WRITE(B)=Wi (B)
READ(B)=Rj (B)
WRITE(B)=Wk (B)

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


a. Est-ce cet ordonnancement est sérialisable ?
Par graphe de précédence
Déterminer les conflits
Sur A: Ri (A)-Wk (A); Wk (A)-Rj (A);
Sur B: Wi (B)-Rj (B); Wi (B)-Wk (B); Rj (B)-Wk (B);
Tracer le graphe
B
Tj TK
A
B A/B
Ti

Le graphe de précédence est cyclique {Tj , Tk , Tj} d’où O n’est pas


sérialisable.
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Ti Wi(B) XLOCK(B) Ok, fin de Ti, unlock(A), unlock(B),
réveiller Tk
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Ti Wi(B) XLOCK(B) Ok, fin de Ti, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Tj
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Ti Wi(B) XLOCK(B) Ok, fin de Ti, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Tj
Tj Rj(B) SLOCK(B) Ok, fin de Tj, unlock(A), unlock(B),
réveiller Tk
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Ti Wi(B) XLOCK(B) Ok, fin de Ti, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Tj
Tj Rj(B) SLOCK(B) Ok, fin de Tj, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) OK
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B)


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?

Transaction Action Demande Verrou Réponse


Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Ti Wi(B) XLOCK(B) Ok, fin de Ti, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Tj
Tj Rj(B) SLOCK(B) Ok, fin de Tj, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) OK
TK Wk(B) XLOCK (B) Ok, fin de Tk, unlock(A), unlock(B)
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B) C


b. Décrire comment le mécanisme d’accès par verrouillage à deux
phases sérialise cet ordonnancement ? Déduire l’ordonnancement série
équivalent à cette sérialisation?
 L’exécution série équivalente: Ti Tj Tk
Transaction Action Demande Verrou Réponse
Ti Ri(A) SLOCK(A) Ok
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Ti
Tj Rj(A) SLOCK (A) Ok
Ti Wi(B) XLOCK(B) Ok, fin de Ti, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) Non, Tk attend la fin de Tj
Tj Rj(B) SLOCK(B) Ok, fin de Tj, unlock(A), unlock(B),
réveiller Tk
TK Wk(A) XLOCK (A) OK
TK Wk(B) XLOCK (B) Ok, fin de Tk, unlock(A), unlock(B)
Exercice 01

L’ordonnancement O est: Ri (A) Wk (A) Rj (A) Wi (B) Rj (B) Wk (B) C


c. Montrer qu’en utilisant le mécanisme d’accès par verrouillage à deux
phases, aucun ordonnancement de Ti , Tj , Tk ne peut engendrer un
blocage mutuel ?

Réponse: L’accès aux granules A et B se fait dans le même ordre pour


les 3 transactions. La lecture sur un granule A bloque toute écriture sur ce
dernier et de même une écriture sur le granule A bloque toute lecture ou
écriture sur ce dernier.
Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


Temps Transaction T1 Transaction T3 Transaction T2
t1 Début Transaction
t2 Lire (A, a);=R1(A)
t3 a:=(a*2)-5;
t4 Début Transaction
t5 Lire (A, a);=R2(A)
t6 Lire (B, b);=R2(B)
t7 Début Transaction
t8 Lire (A, a);=R3(A)
t9 Lire (B, b);=R3(B)
t10 Afficher (a, b);
t11 Confirmer
t12 Écrire (a, A);=W1(A)
t13 Lire (B, b);=R1(B)
t14 b:=(b*2)-10;
t15 Écrire (b, B);=W1(B)
t16 Confirmer=commit
t17 tmp:= a;
t18 a:= b;
t19 b:= tmp;
t20 Écrire (a, A);=W2(A)
t21 Écrire (b, B);=W2(B)
t22 Confirmer
Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


1.Donner tous les résultats corrects.
Réponse: Les résultats corrects sont obtenus à partir des exécutions séries
des transactions. Si on a n transactions alors on aura n! résultats corrects.
On a 3 transactions donc on aura 3!=3*2*1=6 résultats corrects

Ordonnancement série T3 ne modifie pas la BD Résultats A, B


T1 T2 T3 T1 T2 10, 5
T1 T3 T2 T1 T2 10, 5
T2 T1 T3 T2 T1 15, 0
T2 T3 T1 T2 T1 15, 0
T3 T1 T2 T1 T2 10, 5
T3 T2 T1 T2 T1 15, 0
Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A)

T1: a:=(a*2)-5;

T2: Lire (A, a);=R2(A)

T2: Lire (B, b);=R2(B)


T3: Lire (A, a);=R3(A)

T3: Lire (B, b);=R3(B)

T1: Écrire (a, A);=W1(A)


T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5;

T2: Lire (A, a);=R2(A)

T2: Lire (B, b);=R2(B)


T3: Lire (A, a);=R3(A)

T3: Lire (B, b);=R3(B)

T1: Écrire (a, A);=W1(A)


T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A)

T2: Lire (B, b);=R2(B)


T3: Lire (A, a);=R3(A)

T3: Lire (B, b);=R3(B)

T1: Écrire (a, A);=W1(A)


T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B)


T3: Lire (A, a);=R3(A)

T3: Lire (B, b);=R3(B)

T1: Écrire (a, A);=W1(A)


T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A)

T3: Lire (B, b);=R3(B)

T1: Écrire (a, A);=W1(A)


T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B)

T1: Écrire (a, A);=W1(A)


T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A)
T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B)

T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10;

T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B)

T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a;

T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a; 5 10 5 10 5 5 10 5 10
T2:a:= b;

T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a; 5 10 5 10 5 5 10 5 10
T2:a:= b; 5 10 10 10 5 10 10 5 10
T2:b:= tmp;

T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a; 5 10 5 10 5 5 10 5 10
T2:a:= b; 5 10 10 10 5 10 10 5 10
T2:b:= tmp; 5 10 10 5 5 10 10 5 10
T2:Écrire (a, A);=W2(A)

T2:Écrire (b, B);=W2(B)


Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a; 5 10 5 10 5 5 10 5 10
T2:a:= b; 5 10 10 10 5 10 10 5 10
T2:b:= tmp; 5 10 10 5 5 10 10 5 10
T2:Écrire (a, A);=W2(A) 5 10 10 5 5 10 10 10 10
T2:Écrire (b, B);=W2(B)
Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct?
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a; 5 10 5 10 5 5 10 5 10
T2:a:= b; 5 10 10 10 5 10 10 5 10
T2:b:= tmp; 5 10 10 5 5 10 10 5 10
T2:Écrire (a, A);=W2(A) 5 10 10 5 5 10 10 10 10
T2:Écrire (b, B);=W2(B) 5 10 10 5 5 10 10 10 5
Exercice 02

Considérer l’ordonnancement de transactions suivant : A=5; B=10;


2.L’ordonnancement est-il correct? Sérialisable ?.
a. Correct? l’ordonnancement est correct car Le résultat d’exécution est
(A=10, B=5) appartient aux résultats corrects
Opération Mémoire Centrale Mémoire Secondaire

T1 T2 T3

a b a b tmp a b A B

- - - - - - - 5 10

T1: Lire (A, a);=R1(A) 5 - - - - - - 5 10

T1: a:=(a*2)-5; 5 - - - - - - 5 10

T2: Lire (A, a);=R2(A) 5 - 5 - - - - 5 10

T2: Lire (B, b);=R2(B) 5 - 5 10 - - - 5 10


T3: Lire (A, a);=R3(A) 5 - 5 10 - 5 - 5 10
T3: Lire (B, b);=R3(B) 5 - 5 10 - 5 10 5 10
T1: Écrire (a, A);=W1(A) 5 - 5 10 - 5 10 5 10
T1: Lire (B, b);=R1(B) 5 10 5 10 - 5 10 5 10
T1: b:=(b*2)-10; 5 10 5 10 - 5 10 5 10
T1: Écrire (b, B);=W1(B) 5 10 5 10 - 5 10 5 10
T2: tmp:= a; 5 10 5 10 5 5 10 5 10
T2:a:= b; 5 10 10 10 5 10 10 5 10
T2:b:= tmp; 5 10 10 5 5 10 10 5 10
T2:Écrire (a, A);=W2(A) 5 10 10 5 5 10 10 10 10
T2:Écrire (b, B);=W2(B) 5 10 10 5 5 10 10 10 5
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A:
Sur B:
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A);
Sur B:
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A);
Sur B:
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A);
Sur B: R2(B)-W1(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A);
Sur B: R2(B)-W1(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
A
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
A
A
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
A
A A
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
A /B
A A
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
A /B
A /B A
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A
T1 T2
A /B
A /B A /B
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A /B
T1 T2
A /B
A /B A /B
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A /B
T1 T2
A /B
A /B A /B
T3
Exercice 02
Considérer l’ordonnancement de transactions suivant : A=5; B=10;
2.L’ordonnancement est-il correct? Sérialisable ?.
b. Sérialisable?
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A) W2(B) C2
Par graphe de précédence
Déterminer les conflits
Sur A: R1(A)- W2(A); R2(A)- W1(A); R3(A)-W1(A); R3(A)-W2(A); W1(A)- W2(A);
Sur B: R2(B)-W1(B); R3(B )-W1(B); R3(B )-W2(B); R1(B)- W2(B); W1(B)- W2(B);
Tracer le graphe

A /B
T1 T2
A /B
A /B A /B
T3

Le graphe contient le cycle {T1, T2, T1}, l’ordonnancement est n’est pas sérialisable.
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
T1 W1(A) XLOCK(A) Non, T1 attend la fin T2
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
T1 W1(A) XLOCK(A) Non, T1 attend T2
T1 R1(B) SLOCK(B) T1 est en attente
T1
T2
T2
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
T1 W1(A) XLOCK(A) Non, T1 attend T2
T1 R1(B) SLOCK(B) T1 est en attente
T1 W1(B) XLOCK(B) T1 est en attente
T2
T2
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
T1 W1(A) XLOCK(A) Non, T1 attend T2
T1 R1(B) SLOCK(B) T1 est en attente
T1 W1(B) XLOCK(B) T1 est en attente
T2 W2(A) XLOCK(A) Non, T2 attend T1
T2
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
T1 W1(A) XLOCK(A) Non, T1 attend T2
T1 R1(B) SLOCK(B) T1 est en attente
T1 W1(B) XLOCK(B) T1 est en attente
T2 W2(A) XLOCK(A) Non, T2 attend T1
T2 W2(B) XLOCK(B) T2 est en attente
Exercice 02
3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage à deux
phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ? Si oui,
proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
a. V2P

Transaction Action Demande Verrou Réponse


T1 R1(A) SLOCK(A) Ok
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T3 R3(A) SLOCK(A) Ok
T3 R3(B) SLOCK(B) Ok , Fin de T3, Unlock(A), Unlock(B)
T1 W1(A) XLOCK(A) Non, T1 attend T2
T1 R1(B) SLOCK(B) T1 est en attente
T1 W1(B) XLOCK(B) T1 est en attente
T2 W2(A) XLOCK(A) Non, T2 attend T1
T2 W2(B) XLOCK(B) T2 est en attente
Exercice 02

3.Donner le scenario d’exécution de cet ordonnancement dans le cas du verrouillage


à deux phases. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un
deadlock ? Si oui, proposer une solution à ce problème.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1
W2(A) W2(B) C2
b.Graphe d’attente
A
T1 T2 T3
A

De graphe d’attente, on constate qu’on a un cycle T1-T2-T1 d’où on a un inter-


blockage.

c.Solution : Les deux transaction T1 et T2 n’ont pas fait de mise à jour. T2 est la
victime car elle est la plus récente. Rollback(T2) annuler T2 et libérer les
verrous(unlock(A); Unlock(B)) et reprendre T1 à partir de point de blockage. T2
sera relancée dés son début à la fin
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
T1 W1(B) XLOCK(B) Ok, fin de T1; Unlock(A); Unlock(B);
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
T1 W1(B) XLOCK(B) Ok, fin de T1; Unlock(A); Unlock(B);
Exécuter T2 dés son début
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
T1 W1(B) XLOCK(B) Ok, fin de T1; Unlock(A); Unlock(B);
Exécuter T2 dés son début
T2 R2(A) SLOCK(A) Ok
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
T1 W1(B) XLOCK(B) Ok, fin de T1; Unlock(A); Unlock(B);
Exécuter T2 dés son début
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
T1 W1(B) XLOCK(B) Ok, fin de T1; Unlock(A); Unlock(B);
Exécuter T2 dés son début
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T2 W2(A) XLOCK(A) Ok,
Exercice 02
c. V2P après annulation de T2 et reprise de T1

Transaction Action Demande Verrou Réponse


RollBack(T2) et reprise (T1) Unlock(A); Unlock(B);
T1 W1(A) XLOCK(A) Ok
T1 R1(B) SLOCK(B) Ok
T1 W1(B) XLOCK(B) Ok, fin de T1; Unlock(A); Unlock(B);
Exécuter T2 dés son début
T2 R2(A) SLOCK(A) Ok
T2 R2(B) SLOCK(B) Ok
T2 W2(A) XLOCK(A) Ok,
T2 W2(B) XLOCK(B) Ok, fin de T2; Unlock(A); Unlock(B);
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
T3 R3(B) 3 0 3 0 E(T3)=3; EL(B)=2; EE(B)=0;
E(T3)>=EE(B) R3(B) est acceptée et EL(B)=Max(EL(B), E(T3))=3
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
T3 R3(B) 2 0 3 0 E(T3)=3; EL(B)=2; EE(B)=0;
E(T3)>=EE(B) R3(B) est acceptée et EL(B)=Max(EL(B), E(T3))=3
T1 W1(A) E(T1)=1; EL(A)=3; EE(A)=0;
E(T1)<EL(A) W1(A) est rejetée ; T1 est annulée et sera relancée dés son début avec une nouvelle estampille T4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
T3 R3(B) 3 0 3 0 E(T3)=3; EL(B)=2; EE(B)=0;
E(T3)>=EE(B) R3(B) est acceptée et EL(B)=Max(EL(B), E(T3))=3
T1 W1(A) E(T1)=1; EL(A)=3; EE(A)=0;
E(T1)<EL(A) W1(A) est rejetée ; T1 est annulée et sera relancée dés son début avec une nouvelle estampille T4
T1 R1(B) Pas de changement T1 est annulée
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
T3 R3(B) 3 0 3 0 E(T3)=3; EL(B)=2; EE(B)=0;
E(T3)>=EE(B) R3(B) est acceptée et EL(B)=Max(EL(B), E(T3))=3
T1 W1(A) E(T1)=1; EL(A)=3; EE(A)=0;
E(T1)<EL(A) W1(A) est rejetée ; T1 est annulée et sera relancée dés son début avec une nouvelle estampille T4
T1 R1(B) Pas de changement T1 est annulée
T1 W1(B) Pas de changement T1 est annulée
T2 W2(A) E(T2)=2; EL(A)=3; EE(A)=0;
E(T2)<EL(A) W2(A) est rejetée ; T2 est annulée et sera relancée dés son début avec une nouvelle estampille T5
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
T3 R3(B) 3 0 3 0 E(T3)=3; EL(B)=2; EE(B)=0;
E(T3)>=EE(B) R3(B) est acceptée et EL(B)=Max(EL(B), E(T3))=3
T1 W1(A) E(T1)=1; EL(A)=3; EE(A)=0;
E(T1)<EL(A) W1(A) est rejetée ; T1 est annulée et sera relancée dés son début avec une nouvelle estampille T4
T1 R1(B) Pas de changement T1 est annulée
T1 W1(B) Pas de changement T1 est annulée
T2 W2(A) E(T2)=2; EL(A)=3; EE(A)=0;
E(T2)<EL(A) W2(A) est rejetée ; T2 est annulée et sera relancée dés son début avec une nouvelle estampille T5
T2 W2(B) Pas de changement T2 est annulée
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
0 0 0 0 Initialisation
T1 R1(A) 1 0 0 0 E(T1)=1; EL(A)=0; EE(A)=0;
E(T1)>=EE(A) R1(A) est acceptée et EL(A)=Max(EL(A), E(T1))=1
T2 R2(A) 2 0 0 0 E(T2)=2; EL(A)=1; EE(A)=0;
E(T2)>=EE(A) R2(A) est acceptée et EL(A)=Max(EL(A), E(T2))=2
T2 R2(B) 2 0 2 0 E(T2)=2; EL(B)=0; EE(B)=0;
E(T2)>=EE(B) R2(B) est acceptée et EL(B)=Max(EL(B), E(T2))=2
T3 R3(A) 3 0 2 0 E(T3)=3; EL(A)=2; EE(A)=0;
E(T3)>=EE(A) R3(A) est acceptée et EL(A)=Max(EL(A), E(T3))=3
T3 R3(B) 3 0 3 0 E(T3)=3; EL(B)=2; EE(B)=0;
E(T3)>=EE(B) R3(B) est acceptée et EL(B)=Max(EL(B), E(T3))=3
T1 W1(A) E(T1)=1; EL(A)=3; EE(A)=0;
E(T1)<EL(A) W1(A) est rejetée ; T1 est annulée et sera relancée dés son début avec une nouvelle estampille T4
T1 R1(B) Pas de changement T1 est annulée
T1 W1(B) Pas de changement T1 est annulée
T2 W2(A) E(T2)=2; EL(A)=3; EE(A)=0;
E(T2)<EL(A) W2(A) est rejetée ; T2 est annulée et sera relancée dés son début avec une nouvelle estampille T5
T2 W2(B) Pas de changement T2 est annulée
Relancer T1  T4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EL(A) W4(A) est acceptée et EE(A)=E(T4)=4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=4; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=4; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
T4 W4(B) 4 0 4 4 E(T4)=4; EL(B)=4; EE(B)=0;
E(T4)>=EE(B) et E(T4)>=EE(B) W4(B) est acceptée et EE(B)=E(T4)=4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=4; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
T4 W4(B) 4 0 4 4 E(T4)=4; EL(B)=4; EE(B)=0;
E(T4)>=EE(B) et E(T4)>=EE(B) W4(B) est acceptée et EE(B)=E(T4)=4
Relancer T2  T5
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=4; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
T4 W4(B) 4 4 4 4 E(T4)=4; EL(B)=4; EE(B)=0;
E(T4)>=EE(B) et E(T4)>=EE(B) W4(B) est acceptée et EE(B)=E(T4)=4
Relancer T2  T5
T5 R5(A) 5 4 4 4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4 EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=4; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
T4 W4(B) 4 4 4 4 E(T4)=4; EL(B)=4; EE(B)=0;
E(T4)>=EE(B) et E(T4)>=EE(B) W4(B) est acceptée et EE(B)=E(T4)=4
Relancer T2  T5
T5 R5(A) 5 4 4 4
T5 R5((B) 5 4 5 4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=4; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=4; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
T4 W4(B) 4 4 4 4 E(T4)=4; EL(B)=4; EE(B)=0;
E(T4)>=EE(B) et E(T4)>=EE(B) W4(B) est acceptée et EE(B)=E(T4)=4
Relancer T2  T5
T5 R5(A) 5 4 4 4
T5 R5((B) 5 4 5 4
T5 W5(A) 5 5 5 4
Exercice 02
4. Donner le scénario d’exécution de cet ordonnancement en utilisant la technique
d’estampillage à deux estampilles.
L’ordonnancement O: R1(A) R2(A) R2(B) R3(A) R3(B) C3 W1(A) R1(B) W1(B) C1 W2(A)
W2(B) C2
Transaction Action EL(A) EE(A) EL(B) EE(B) Commentaire
3 0 3 0
Relancer T1 T4
T4 R4(A) 4 0 3 0 E(T4)=4; EL(A)=3 ;EE(A)=0;
E(T4)>=EE(A) R4(A) est acceptée et EL(A)=Max(EL(A), E(T4))=4
T4 W4(A) 4 4 3 0 E(T4)=1; EL(A)=4; EE(A)=0;
E(T4)>=EE(A) et E(T4)>=EE(A) W4(A) est acceptée et EE(A)=E(T4)=4
T4 R4(B) 4 4 4 0 E(T4)=1; EL(B)=3 ;EE(B)=0;
E(T4)>=EE(B) R4(B) est acceptée et EL(B)=Max(EL(B), E(T4))=4
T4 W4(B) 4 4 4 4 E(T4)=1; EL(B)=4; EE(B)=0;
E(T4)>=EE(B) et E(T4)>=EE(B) W4(B) est acceptée et EE(B)=E(T4)=4
Relancer T2  T5
T5 R5(A) 5 4 4 4
T5 R5((B) 5 4 5 4
T5 W5(A) 5 5 5 4
T5 W5(B) 5 5 5 5
Exercice 03
Soit le scénario d’exécution de transactions suivant :

Transaction Données verrouillées Données que la


par la transaction transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T6 X4, X9 X6
T7 X6 X5

1. Produisez un graphe d’attente pour ce scénario.


2. Déterminez si des verrous indéfinis (deadlock) apparaissent.
3. Donner dans ce cas la solution préconisée.
Exercice 03
1. Produisez un graphe d’attente pour ce scénario.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T6 X4, X9 X6
T7 X6 X5
Exercice 03
1. Produisez un graphe d’attente pour ce scénario.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5

T3
Exercice 03
1. Produisez un graphe d’attente pour ce scénario.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5

T3

X4

T6
Exercice 03
1. Produisez un graphe d’attente pour ce scénario.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5

X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5

T3

X4

T6
Exercice 03
1. Produisez un graphe d’attente pour ce scénario.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
X3 T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5

X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5

T3

X4

T6
Exercice 03
1. Produisez un graphe d’attente pour ce scénario.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
X3 T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5

X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5

T3

T7
X4
X6
T6
Exercice 03
1. Déterminez si des verrous indéfinis (deadlock) apparaissent.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
X3
X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5 X5

T3

T7
X4
X6
T6
Exercice 03
2. Déterminez si des verrous indéfinis (deadlock) apparaissent.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
X3
X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5 X5

T3

T7
X4
X6
T6
Exercice 03
2. Déterminez si des verrous indéfinis (deadlock) apparaissent.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
X3
X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5 X5

T3

T7
X4
X6
T6
Exercice 03
2. Déterminez si des verrous indéfinis (deadlock) apparaissent.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
X3
X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5 X5

T3

T7
X4
X6
T6
Exercice 03
2. Déterminez si des verrous indéfinis (deadlock) apparaissent.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
X3
X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5 X5

Sur le graphe d’attente on constate la présence de


T3
trois cycles.
T7 C1={T2, T4, T5, T2}
X4 C2={T2, T3, T5, T2}
X6 C3={T2, T3, T6, T7, T5, T2}
T6 C1 ∩ C2 ∩ C3= {T2, T5}
Exercice 03
2. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


X1 verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
X3
X1 T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5
X5 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
X4 T5 sera annulée (rollback(T5): libère ses verrous)
X6
T6
Exercice 03
2. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
X4 T5 sera annulée (rollback(T5): libère ses verrous)
X6
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
X7
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
X4 T5 sera annulée (rollback(T5): libère ses verrous),
X6 Solution: T4,
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
X4 T5 sera annulée (rollback(T5): libère ses verrous),
X6 Solution: T4, T7
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
X4 T5 sera annulée (rollback(T5): libère ses verrous),
Solution: T4, T7, T6
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T4
X8 T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
T5 sera annulée (rollback(T5): libère ses verrous),
Solution: T4, T7, T6, T3
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
X3 la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T4
T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
T5 sera annulée (rollback(T5): libère ses verrous),
Solution: T4, T7, T6, T3, T2
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T4
T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
T5 sera annulée (rollback(T5): libère ses verrous),
Solution: T4, T7, T6, T3, T2, T1
T6
Exercice 03
3. Donner dans ce cas la solution préconisée.

T1 Transaction Données Données que la


verrouillées par transaction
la transaction attend
T1 X2 X1, X3
T2 X3, X10 X7, X8
T2 T5 T3 X8 X4, X5
T4 X7 X1
T5 X1, X5 X3
T4
T6 X4, X9 X6
T7 X6 X5

Pour lever l’interblocage on choisit une


T3
transaction victime parmi {T2, T5}.
T7 T5 est la victime car est la plus récente.
T5 sera annulée (rollback(T5): libère ses verrous),
Solution: T4, T7, T6, T3, T2, T1, T5 (relancée dès
T6 son début)
Exercice 04

 Un SGBD reçoit la séquence d'opérations suivante, en provenance de


trois transactions :
O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)

L'un des programmes qui s'exécute dans ce SGBD gère les connexions à
un système informatique. Ce programme lit le mot de passe de
l'utilisateur, le compare avec celui stocké sous forme cryptée dans la base
de données écrit les informations de connexion dans le journal de
connexions et incrémente la valeur du nombre d'accès réalisés par
l'utilisateur dans le système. Le journal de connexions et le nombre
d'accès des utilisateurs sont stockés dans la base de données.
Exercice 04

 Un SGBD reçoit la séquence d'opérations suivante, en provenance de


trois transactions :
O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
Pour l’ordonnancement O1 on a trois transactions T1, T2, T3 tel que:
 T1 : R1(X) W1(Z)
 T2 : R2(X) W2(Y) W2(X)
 T3 : R3(Y) W3(Z) R3(X) W3(X)
 T1 utilise deux granules X et Z et a deux opérations une lecture R1(X)
et une écriture W1(Z).
 T2 utilise deux granules X et Y et a trois opérations une lecture R2(X)
et deux écritures W2(Y), W2(X).
 T3 utilise trois granules X, Y et Z et a quatre opérations deux lectures
R3(Y), R3(X) et deux écritures W3(Z), W3(X).
Exercice 04

L'un des programmes qui s'exécute dans ce SGBD gère les connexions à un
système informatique. Ce programme lit le mot de passe de l'utilisateur, le
compare avec celui stocké sous forme cryptée dans la base de données, écrit les
informations de connexion dans le journal de connexions et incrémente la
valeur du nombre d'accès réalisés par l'utilisateur dans le système. Le journal de
connexions et le nombre d'accès des utilisateurs sont stockés dans la base de
données.
lit le mot de passe de l'utilisateur: lecture à partir de l’interface (entrée clavier).
le compare avec celui stocké sous forme cryptée dans la base de données:
lecture à partir de la BD: select * from utilisateur where
motdepasse=motdepasselu;Read.

écrit les informations de connexion dans le journal de connexions: insertion


d’une ligne dans la table journal Write.

incrémente la valeur du nombre d'accès réalisés par l'utilisateur dans le


système: mise à jour de nombre d’accès update  lecture de nombre d’accès et
écriture (incrémentation) sur le nombre d’accès.Read puis un Write.
Exercice 04

L'un des programmes qui s'exécute dans ce SGBD gère les connexions à
un système informatique. Ce programme lit le mot de passe de
l'utilisateur, le compare avec celui stocké sous forme cryptée dans la
base de données, écrit les informations de connexion dans le journal de
connexions et incrémente la valeur du nombre d'accès réalisés par
l'utilisateur dans le système. Le journal de connexions et le nombre
d'accès des utilisateurs sont stockés dans la base de données.
En conclusion
 le programme manipule trois granules: mot de passe, journal de
connexion et le nombre d’accès.
Le programme a 4 opération: deux lecture et deux écritures.
Exercice 04

1. Est-ce que l'une des transactions ci-dessus peut représenter


l'exécution de ce programme de gestion des connexions? Justifier
votre réponse.
Le programme manipule trois granules: mot de passe, journal de
connexion et le nombre d’accès et a 4 opération: deux lecture et deux
écritures.

T3 utilise trois granules X, Y et Z et a quatre opérations deux lectures


R3(Y), R3(X) et deux écritures W3(Z), W3(X).

 D’où la transaction T3 qui représente le programme


Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
2. Construire le graphe de précédence de cet ordonnancement. O1 est-il
sérialisable ?
Les conflits :
sur X : R1(X)- W2(X), R1(X)- W3(X), R2(X)- W3(X), W2(X)-R3(X), W2(X)-W3(X)
sur Y : W2(Y)-R3(Y)
sur Z : W3(Z)-W1(Z)
Le graphe de précédence

T1
Z
X X

X/ Y
T2 T3
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
2. Construire le graphe de précédence de cet ordonnancement. O1 est-il
sérialisable ?
Les conflits :
sur X : R1(X)- W2(X), R1(X)- W3(X), R2(X)- W3(X), W2(X)-R3(X), W2(X)-W3(X)
sur Y : W2(Y)-R3(Y)
sur Z : W3(Z)-W1(Z)
Le graphe de précédence

T1
Z
X X

X/ Y
T2 T3

Le graphe contient le cycle {T1, T3, T1}, l’ordonnancement est n’est pas
sérialisable.
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
T1 W1(Z) XLOCK(Z) Ok, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
T1 W1(Z) XLOCK(Z) Ok, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
T2 W2(X) XLOCK(X) Ok, fin de T2 d’où UNLOCK(X),
UNLOCK(Y) et réveiller T3
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
T1 W1(Z) XLOCK(Z) Ok, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
T2 W2(X) XLOCK(X) Ok, fin de T2 d’où UNLOCK(X),
UNLOCK(Y) et réveiller T3
T3 R3(Y) SLOCK(Y) Ok
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
T1 W1(Z) XLOCK(Z) Ok, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
T2 W2(X) XLOCK(X) Ok, fin de T2 d’où UNLOCK(X),
UNLOCK(Y) et réveiller T3
T3 R3(Y) SLOCK(Y) Ok
T3 W3(Z) XLOCK(Z) Ok
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
T1 W1(Z) XLOCK(Z) Ok, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
T2 W2(X) XLOCK(X) Ok, fin de T2 d’où UNLOCK(X),
UNLOCK(Y) et réveiller T3
T3 R3(Y) SLOCK(Y) Ok
T3 W3(Z) XLOCK(Z) Ok
T3 R3(X) SLOCK(X) Ok
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
3. Donner le scenario d’exécution de cet ordonnancement en appliquant le
protocole de verrouillage à deux phases. Justifier.

Transaction Action Demande Verrou Réponse


T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T2 W2(Y) XLOCK (Y) Ok
T3 R3(Y) XLOCK(Y) Non, T3 attend T2
T3 W3(Z) SLOCK(X) T3 en attente de T2
T1 W1(Z) XLOCK(Z) Ok, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
T2 W2(X) XLOCK(X) Ok, fin de T2 d’où UNLOCK(X),
UNLOCK(Y) et réveiller T3
T3 R3(Y) SLOCK(Y) Ok
T3 W3(Z) XLOCK(Z) Ok
T3 R3(X) SLOCK(X) Ok
T3 W3(X) XLOCK(X) Ok, fin de T3 d’où UNLOCK(X),
UNLOCK(Y), UNLOCK(Z)
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y) EL(Z) EE(Z)


0 0 0 0 0 0
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y) EL(Z) EE(Z)


0 0 0 0 0 0
T1 R1(X) 1 0 0 0 0 0
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y) EL(Z) EE(Z)


0 0 0 0 0 0
T1 R1(X) 1 0 0 0 0 0
T2 R2(X) 2 0 0 0 0 0
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y) EL(Z) EE(Z)


0 0 0 0 0 0
T1 R1(X) 1 0 0 0 0 0
T2 R2(X) 2 0 0 0 0 0
T2 W2(Y) 2 0 0 2 0 0
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y) EL(Z) EE(Z)


0 0 0 0 0 0
T1 R1(X) 1 0 0 0 0 0
T2 R2(X) 2 0 0 0 0 0
T2 W2(Y) 2 0 0 2 0 0
T3 R3(Y) 2 0 3 2 0 0
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y) EL(Z) EE(Z)


0 0 0 0 0 0
T1 R1(X) 1 0 0 0 0 0
T2 R2(X) 2 0 0 0 0 0
T2 W2(Y) 2 0 0 2 0 0
T3 R3(Y) 2 0 3 2 0 0
T3 W3(Z) 2 0 3 2 0 3
Exercice 04

O1: R1(X) R2(X) W2(Y) R3(Y) W3(Z) W1(Z) W2(X) R3(X) W3(X)
4. L’algorithme d’estampillage (à deux estampilles) accepte-t-il cet
ordonnancement sans rejets ?

Transaction Action EL(X) EE(X) EL(Y) EE(Y EL(Z) EE(Z)


)
0 0 0 0 0 0
T1 R1(X) 1 0 0 0 0 0
T2 R2(X) 2 0 0 0 0 0
T2 W2(Y) 2 0 0 2 0 0
T3 R3(Y) 2 0 3 2 0 0
T3 W3(Z) 2 0 3 2 0 3
T1 W1(Z) EE(Z)=3>1, T1 est annulée et sera relancée à la fin

D’où l’algorithme s’exécute avec un rejet


Exercice 04

O2: R1(X) R2(X) R3(Y) W2(Y) W3(Z) W1(Z) R3(X) W2(X) W3(X).
5. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un
deadlock ? Si oui, proposer une solution à ce problème.
a. V2P
Exercice 04

O2: R1(X) R2(X) R3(Y) W2(Y) W3(Z) W1(Z) R3(X) W2(X) W3(X).
5. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un
deadlock ? Si oui, proposer une solution à ce problème.
a. V2P

Transaction Action Demande Réponse


Verrou
T1 R1(X) SLOCK(X) Ok
T2 R2(X) SLOCK (X) Ok
T3 R3(Y) SLOCK (Y) Ok
T2 W2(Y) XLOCK (Y) Non, T2 attend T3
T3 W3(Z) XLOCK(Z) Ok
T1 W1(Z) XLOCK(Z) Non, T1 attend T3
T3 R3(X) SLOCK(X) Ok
T2 W2(X) XLOCK(X) T2 en attente de T3
T3 W3(X) XLOCK(X) Non, T3 attend T1 et T2
Exercice 02

O2: R1(X) R2(X) R3(Y) W2(Y) W3(Z) W1(Z) R3(X) W2(X) W3(X).
5. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un deadlock ?
Si oui, proposer une solution à ce problème.

b.Graphe d’attente
Z X
T1 T3 T2
X Y

De graphe d’attente, on constate qu’on a deux cycles C1={T1-T3-T1} et C2={T2-T3-


T2} d’où on a un inter-blockage. C1∩C2={T3}

c.Solution : T3 est la victime. Rollback(T3) annuler T3(undo(W3(Z)) et libérer les


verrous(unlock(Y); Unlock(Z)) et reprendre T1 (la plus ancienne) à partir de point
de blockage.
Exercice 04

O2: R1(X) R2(X) R3(Y) W2(Y) W3(Z) W1(Z) R3(X) W2(X) W3(X).
5. Construire le graphe d’attente de cet ordonnancement. Existe-t-il un
deadlock ? Si oui, proposer une solution à ce problème.
a. V2P

Transaction Action Demande Réponse


Verrou
Rollback(T3): UNDO(W3(Z)), UNLOCK(X), UNLOCK(Y), UNLOCK(Z) et
reprise de T1
T1 W1(Z) XLOCK(Z) OK, fin de T1 d’où UNLOCK(X),
UNLOCK(Z)
Reprise de T2
T2 W2(Y) XLOCK (Y) OK
T2 W2(X) XLOCK(X) OK, fin de T2 d’où UNLOCK(X),
UNLOCK(Y)
Relancer T3 dés son début

Vous aimerez peut-être aussi