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> Troyesétait physique, soit <strong>de</strong> tuer définitivement cette transaction si le problème était logique (mauvaiseconception <strong>de</strong> la transaction).2 Les classes d'inci<strong>de</strong>ntsUn système informatique, comme tout autre appareil est sujet à <strong>de</strong>s pannes diverses, l'une <strong>de</strong>s plusfréquentes étant sans doute la coupure d'alimentation. L'existence <strong>de</strong> la propriété <strong>de</strong> durabilité passe par lacapacité <strong>de</strong> l'environnement transactionnel à récupérer <strong>les</strong> trois classes d'inci<strong>de</strong>nts suivantes :• INCIDENT-TRANSACTION : c'est la transaction elle-même qui déci<strong>de</strong> <strong>de</strong> s'arrêter. Statistiquement ladisponibilité est <strong>de</strong> 97% <strong>sur</strong> cet inci<strong>de</strong>nt. Pour un système à haut débit (1000 transactions par secon<strong>de</strong>ou TPS) il y a plus <strong>de</strong> 30 inci<strong>de</strong>nts <strong>de</strong> ce genre à traiter par secon<strong>de</strong>.• INCIDENT-SYSTEME : la mémoire principale ne représente plus l'image <strong>de</strong> la base, arrive <strong>de</strong>ux à troisfois par an.• INCIDENT-SUPPORT : le support physique, c'est à dire le disque est endommagé. Cela arrive <strong>de</strong> une à<strong>de</strong>ux fois par ans.Dans un tel cas, la perte <strong>de</strong> données peut s'avérer catastrophique. Le SGBD doit donc proposer unmécanisme permettant <strong>de</strong> reprendre <strong>de</strong>s traitements interrompus en cours d'exécution.Il n'est bien sûr pas concevable, dans le cas d'une mise à jour interrompue suite à une panne, ni <strong>de</strong> relancerla requête à nouveau, car dans ce cas <strong>les</strong> tup<strong>les</strong> modifiés avant la panne seraient modifiés une secon<strong>de</strong>fois, ni d'abandonner son traitement. Dans <strong>les</strong> <strong>de</strong>ux cas, la base <strong>de</strong>viendrait alors incohérente.L'exemple classique concerne une application bancaire dans laquelle on doit transférer une somme S d'uncompte A à un compte B. L'une <strong>de</strong>s contraintes du système d'information consiste à toujours vérifier que lasomme <strong>de</strong>s sol<strong>de</strong>s <strong>de</strong>s comptes A et B est constante avant et après transfert, ce qui garantit <strong>de</strong> ne pasperdre d'argent lors d'un virement. Deux ordres doivent être exécutés pour ce traitement :update compteset sol<strong>de</strong> = sol<strong>de</strong> - Swhere num_compte = A ;update compteset sol<strong>de</strong> = sol<strong>de</strong> + Swhere num_compte = B ;Si la contrainte est bien vérifiée avant et après ces <strong>de</strong>ux ordres, la base passe évi<strong>de</strong>mment par une phaseincohérente entre <strong>les</strong> <strong>de</strong>ux ordres UPDATE. Une panne entre l'exécution <strong>de</strong> ces <strong>de</strong>ux ordres aurait <strong>de</strong>sconséquences dramatiques.3 La tolérance aux pannesPour as<strong>sur</strong>er la reprise <strong>sur</strong> panne, <strong>les</strong> SGBD actuels utilisent la notion <strong>de</strong> journal.Définition: Un journal est un fichier texte dans lequel le SGBD inscrit, dans l'ordre, toutes <strong>les</strong> actions <strong>de</strong>mise à jour qu'il effectue.Il existe plusieurs métho<strong>de</strong>s <strong>de</strong> gestion d'atomicité d'une transaction à l'ai<strong>de</strong> d'un journal. L'une <strong>de</strong>s plusutilisées est l'utilisation d'un journal incrémental avec mise à jour immédiate. Ce journal doit être stocké enmémoire sûre, généralement <strong>sur</strong> mémoire non volatile avec réplication.Le principe d'utilisation <strong>de</strong> ce type <strong>de</strong> journal est le suivant :Chaque ordre inscrit dans le journal est préfixé par le nom <strong>de</strong> la transaction. Commençons par donner unexemple :TransactionT1x=read(A)x=x-50write(A,x)Journal incrémentalT1,startT1,A,1550,1500T1,commitOn peut constater :• l'écriture <strong>de</strong> l'ordre start en début <strong>de</strong> journal.• qu'un ordre d'écriture dans la base est accompagné par l'inscription contenant notamment le nom <strong>de</strong>l'article concerné, l'ancienne valeur <strong>de</strong> cet article et la nouvelle valeur à affecter.• La fin <strong>de</strong> la transaction correspond à un ordre commit est inscrit au journal.En cas d'arrêt intempestif du système <strong>de</strong>ux cas se présentent :64 /98 S. Moutou : Cours

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

Saved successfully!

Ooh no, something went wrong!