• Aucun résultat trouvé

Séance d'Exercices IBD N°3 Exercice1 :

N/A
N/A
Protected

Academic year: 2022

Partager "Séance d'Exercices IBD N°3 Exercice1 :"

Copied!
2
0
0

Texte intégral

(1)

Exercices du 6 avril 2005

Exercices IBD 1 / 2

Séance d'Exercices IBD N°3

Exercice1 : concurrence

Soit T1 et T2 les transactions suivantes:

Transaction T1

Read (a) a:=a+100;

write(a);

read(b) b:=b+100;

write(b);

Transaction T2

Read (a) a:=a*2;

write(a);

read(b) b:=b*2;

write(b);

a) Si la valeur initiale de a est 25 et celle de b est 25, quelles sont leurs valeurs de a et b si on

exécute les transactions à la suite, T1 puis T2.

b) Quelles sont les valeurs si on exécute T2 puis T1?

c) maintenant les deux transactions sont exécutées de façon concurrente de la façon suivante:

Transaction T1

Read (a) a:=a+100;

write(a);

read(b) b:=b+100;

write(b);

Transaction T2

Read (a) a:=a*2;

write(a);

read(b) b:=b*2;

write(b);

Si on considère les mêmes valeurs initiales qu'en a) quelles sont les valeurs de a et b à l'issue de l'éxécution des transactions?

Cette exécution entremêlée est elle correcte, pourquoi?

d) Si les deux transactions sont exécutées de façon concurrente de la façon suivante:

Transaction T1

Read (a) a:=a+100;

write(a);

read(b) b:=b+100;

write(b);

Transaction T2

Read (a) a:=a*2;

write(a);

read(b) b:=b*2;

write(b);

Si on considère les mêmes valeurs initiales qu'en a) quelles sont les valeurs de a et b à l'issue de l'exécution des transactions?

Cette exécution entremêlée est elle correcte, pourquoi?

(2)

Exercices du 6 avril 2005

Exercices IBD 2 / 2 Exercice2 : concurrence

Notre système utilise le protocole de verrous exclusifs avec libération explicite. Supposons l'exécution suivante des transactions T1 et T2:

Transaction T1 Transaction T2

t1 XRead (a)

t2 a:=a+100; XRead (a) t3 mise en attente t4 write(a);

t5

t6 XRelease (a) a:=a*2;

t7 write(a);

t8 XRelease (a) t9

t10 Xread(b)

t11 b:=b+100; Xread(b) t12 mise en attente t13 write(b);

t14

t15 XRelease (b) b:=b*2;

t16 write(b);

t17 XRelease (b)

a) Cette exécution se passe t'elle correctement? Quels sont les problèmes possibles en cas d'échec

de T1?

b) Proposez une solution à ce problème.

Exercice3 : concurrence

Soit les deux transactions T1 et T2.

T1:

Xread(a) a:=a+2;

Write(a);

Xread(b);

b:=b*3;

Write(b) XRealease(a) XRealease(b);

T2:

Xread(b) b:=b*2;

Write(b);

Xread(a);

a:=a+3;

Write(a) Xrealease(a) Xrealease(b);

Pouvez vous proposer une exécution concurrente pour ces deux transactions? Justifiez votre réponse.

Références

Documents relatifs

Déterminer son espérance et sa

A partir de la question précédente, en déduire un intervalle de probabilités de recouvre- ment pour µ.. Comparer avec la

[r]

Comme Venise est spécialisée dans la fabrication des miroirs, la rivalité avec la France devient très forte.. Les jardins se reflètent dans les trois cent cinquante-sept

[r]

Soit un système multi-utilisateurs qui gère des pannes avec un journal d’opérations effectuées par les transactions. Le protocole utilisé est UNDO/REDO. Les opérations

Dans le but de construire un outil d’aide au diagnostic des anomalies de la tension artérielle, la clinique « Petit-Des-Champs » a effectué un échantillonnage simple dans le

Une entreprise désire créer un fichier contenant pour chacun de ses 240 employés les informations suivantes: le nom (sur 25 caractères), le prénom (15 caractères), l’âge