12.07.2015 Views

Généralités sur les systèmes d'exploitation - Site personnel de ...

Généralités sur les systèmes d'exploitation - Site personnel de ...

Généralités sur les systèmes d'exploitation - Site personnel de ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

LO14 : Université Technologique <strong>de</strong> Troyessi initialement A=50, après exécution <strong>de</strong> T1 puis T2 ou <strong>de</strong> T2 puis T1, la transaction T1 aura affiché <strong>de</strong>uxfois la même valeur. Si <strong>les</strong> transactions sont exécutées <strong>de</strong> manière concurrente, nous pouvons alors obtenirla séquence suivante :T1x=read(A)affiche xx=read(A)affiche xT2y=read(A)y=y+1write(A,y)Cette fois ci <strong>les</strong> 2 valeurs affichées ne sont plus i<strong>de</strong>ntiques, <strong>les</strong> lectures ne sont plus reproductib<strong>les</strong>.4.2 Caractériser <strong>les</strong> exécutions correctesLe contrôle <strong>de</strong> concurrence est la partie du SGBD qui contrôle l'exécution simultanée <strong>de</strong> transactions <strong>de</strong>manière à produire <strong>les</strong> mêmes résultats qu'une exécution séquentielle. Cette propriété essentielle <strong>de</strong>s<strong>systèmes</strong> distribués est nommée sérialisabilité.Définition : Une exécution d'un ensemble <strong>de</strong>transactions est dite sérialisable si elle donne pourchaque transaction participante, le même résultatque l'exécution en série <strong>de</strong> ces mêmestransactions.T1T2On notera <strong>de</strong>ux transactions T1 et T2 sérialisab<strong>les</strong> comme ci-<strong>de</strong>ssus. La double flèche exprime que lerésultat final doit être le même que si l'on exécute d'abord T1 puis T2 (T1 précè<strong>de</strong> T2) ou le contraire (T2précè<strong>de</strong> T1).La difficulté du problème peut se représenter comme suit. Soient <strong>de</strong>ux transactions T1 et T2 <strong>de</strong>vant êtresérialisab<strong>les</strong> :T1 = a 1 a 2....a n et T2 = b 1 b 2....b mQuelle est la conséquence <strong>sur</strong> <strong>les</strong> a i et b j ?Chaque a i et b j est caractérisé par un domaine d'écriture et <strong>de</strong> lecture qu'il faut caractériser avec soin. Avecsoin car contrairement aux cas <strong>de</strong>s tâches du chapitre 2, il s'agit ici d'actions qui se passent <strong>les</strong> valeurs aufur et à me<strong>sur</strong>e <strong>de</strong> leur déroulement. Ainsi <strong>les</strong> domaines <strong>de</strong> lectures se transmettent. Par exemple :a1a2a3a4a5a6T1x=read(A)x=x­50write(A,x)t=read(B)t=t+50write(B,t)L1={A}, E1={}L2={A}, E2={}L3={A}, E3={A}, L3={A} car la valeur lue lui est passée par a2L4={B}, E4={}L5={B}, E5={}L6={B}, E6={B}, L6={B} car la valeur lue lui est passée par a5Le rôle du contrôle <strong>de</strong> concurrence consiste donc à n'autoriser lors <strong>de</strong> l'exécution <strong>de</strong> transactionsconcurrentes que <strong>de</strong>s exécutions sérialisab<strong>les</strong>.Prenons l'exemple <strong>de</strong> <strong>de</strong>ux transactions qui effectuent <strong>de</strong>s virements compte à compte. Si <strong>les</strong> <strong>de</strong>uxcomptes traités sont A et B, quelle que soit la somme virée, la somme A+B doit être constante. Selon lamanière dont le contrôle <strong>de</strong> concurrence effectue l'ordonnancement <strong>de</strong>s opérations, l'exécution obtenuesera correcte (sérialisable) ou non.67 /98 S. Moutou : Cours

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!