Cours de Base de Données Cours n.12

Dimension: px
Commencer à balayer dès la page:

Download "Cours de Base de Données Cours n.12"

Transcription

1 Cours de Base de Données Cours n.12 Gestion des transactions : contrôle de concurrence Elisabetta De Maria - edemaria/ UFR Sciences et Laboratoire I3S, CNRS Université de Nice Sophia-Antipolis

2 Transaction Definition (Transaction) Une action ou une suite d actions demandée par un seul utilisateur ou programme d application, qui lit ou met à jour le contenu de la base de données. Une transaction est une unité logique de travail sur la base de données. Example (Tables Personnel et ProprietéAlouer) Personnel(numPersonnel, prénom, nom, fonction, salaire) ProprietéALouer(numProperieté, type, pièces, numpropriétaire, numpersonnel)

3 Examples de transactions

4 Résultats possibles d une transaction Si une transaction s achève avec succès, la transation est dite validée ou confirmée (committed) et la base de données atteint un nouvel état cohérent. Si une transaction ne s exécute pas avec succès, elle est avortée (aborted). Dans ce cas, la base de données doit retrouver l état cohérent qu elle avait avant le début de la transaction. Une transaction qui subit cette réinitialisation est dite annulée (rolled back).

5 Propriétés de transactions ACID (Haerder et Reuter, 1983) Atomicité. Une transaction forme une unité indivisible, soit exécutéee dans sa totalité, soit annullée dans sa totalité. Cohérence. Une transaction transforme la base de données d un état cohérent en un autre état cohérent. Isolation. Les transactions s exécutent de manière indépendante les unes des autres. Durabilité. Les effets d une transaction complètement achevée (validée par un COMMIT) sont inscrits de manière durable dans la base de données et ne peuvent subir de perte à la suite d une défaillance subséquente.

6 Necessité du contrôle de concurrence Un des principaux objectifs du développement d une base de données est de permettre à plusieurs utilisateurs d accéder simultanément à des données partagées. Definition (Contrôle de concurrence) Le procédé qui consiste à gérer des opérations simultanées sur une base de données, tout en interdisant les interférences entre ces opérations. Trois exemples de problèmes provoqués par la concurrence : le problème de la mise à jour perdue le problème de la dépendance non validée le problème de l analyse incohérente

7 Le problème de la mise à jour perdue Une opération de modification apparemment achevée avec succès par un utilisateur est écrasée par un autre utilisateur. Solde de 90 e au lieu de 190 e.

8 Le problème de la dépendance non validée (dirty read) Une transaction est autorisée à voir immédiatement les résultats d une autre transaction, avant que celle-ci n ait été validée. Solde de 190 e au lieu de 90 e.

9 Le proble me de l analyse incohe rente Une transaction lit plusieurs valeurs de la base de donne es mais une autre transaction en modifie certaines pendant l execution de la premie re transaction. Somme de 185 e au lieu de 175 e.

10 Capacité de sérialisation (1) La capacité de sérialisation (serializability) représente une aide à l identification des transactions dont l execution est garantie pour assurer la coherence. Definition (Planification (schedule)) Une séquence d opérations d un ensemble de n transactions T 1, T 2,..., T n qui preserve l ordre des opérations dans chacune des transactions. Definition (Planification sérielle) Une planification où les operations de chaque transaction sont exécutées de manière consécutive, sans aucune opération interfoliée d autres transactions.

11 Capacité de sérialisation (2) Definition (Planification non sérielle) Une planification où les opérations d un ensemble de transactions sont exécutées de manière interfoliée. Definition (Planification sérialisable) Une planification non sérielle qui produit les mêmes résultats qu une exécution sérielle. Si deux transactions ne font que lire des données, elles n entrent pas en conflit et leur ordre est sans importance. Si deux transactions soit lisent, soit écrivent complètement des données différentes, leur ordre est sans importance. Si une transaction écrit dans des données et si une autre transaction lit où écrit dans ces mêmes données, alors l ordre de leur exécution importe.

12 Example de planifications e quivalents Ce type de capacite de se rialisation est connu sous le terme de capacite de se rialisation des conflits.

13 Test de conflits de la capacité de sérialisation Pour une planification P, un graphe de précédence est un graphe dirigé G=(N,F) construit comme suit : Créer un nœud pour chaque transaction. Créer une flèche dirigée T i T j, si T j lit la valeur d un élément écrit par T i. Créer une flèche dirigée T i T j, si T j écrit une valeur dans un élément après qu il a été lu par T i. Créer une flèche dirigée T i T j, si T j écrit une valeur dans un élément après qu il a été écrit par T i. Si une flèche T i T j existe dans le graphe de précédence pour P, alors dans toute planification sérielle S équivalente à P, T i doit apparaître avant T j. Si le graphe de précédence contient un cycle, la planification n est pas sérialisable en vue de résoudre les conflits.

14 Planification sans se rialisation des conflits

15 Techniques de contrôle de concurrence Il existe différentes techniques de contrôle de concurrence qui permettent d exécuter des transactions en parallèle en toute sécurité, à condition de faire appel à certaines contraintes : les méthodes de verrouillage les méthodes d estampillage les méthodes optimistes

16 Definition (Verrouillage) Méthodes de verrouillage Une procédure employée pour contrôler les accès concurrents aux données. Lorsqu une transaction accède à une base de données, un verrou est susceptible de bloquer l accès à d autres transactions pour éviter de faux résultats. Definition (Verrou partagé) Si une transaction dispose d un verrou partagé sur une donnée, elle peut lire la donnée mais pas la modifier. Definition (Verrou exclusif) Si une transaction dispose d un verrou exclusif sur une donnée, elle peut lire et modifier cette donnée.

17 Usage des verrous Toute transaction devant accéder à une donnée verrouille d abord la donnée, demandant soit un verrouillage partagé soit un verrouillage exclusif. Si la donnée n est pas déjà verrouillée par une autre transaction, le verrou est accordé. Si la donnée est déjà verrouillée au moment de la demande, le SGBD détermine si la demande est compatible avec le verrou actuel. Si c est un verrou partagé que la transaction demande, alors qu un verrou partagé est déjà placé sur la donnée, la requête peut être satisfaite et le verrou est accordé ; dans le cas contraire, la transaction demanderesse doit attendre que le verrou se libère. Une transaction qui détient un verrou le conserve tant qu elle ne le libère pas explicitement pendant l execution ou implicitement lorsqu elle se termine (par une annullation ou une validation). Ce n est que lorqu un verrou exclusif est liberé que les effets de l opération d écriture qui a motivé le verrou deviennent visibles aux autres transactions.

18 Planification incorrecte du verrouillage Reprenons les deux transations du transparent 14. P = {verrou-écriture(t 9, solde x ), lecture(t 9, solde x ), écriture(t 9, solde x ), déverrouillage(t 9, solde x ), verrou-écriture(t 10, solde x ), lecture(t 10, solde x ), écriture(t 10, solde x ), déverrouillage(t 10, solde x ), verrou-écriture(t 10, solde y ), lecture(t 10, solde y ), écriture(t 10, solde y ), déverrouillage(t 10, solde y ), validation(t 10 ), verrou-écriture(t 9, solde y ), lecture(t 9, solde y ), écriture(t 9, solde y ), déverrouillage(t 9, solde y ), validation(t 9 )} Préalablement à l execution, solde x = 100 et solde y = 400. Si T 9 s exécute d abord : solde x = 220 et solde y = 330. Si T 10 s exécute d abord : solde x = 210 et solde y = 340. Résultat de P : solde x = 220 et solde y = 340.

19 Verrouillage en deux phases Definition (Verrouillage en deux phases (V2P)) Une transaction suit le protocole de verrouillage en deux phases si toutes les opérations de verrouillage précèdent la première opération de déverrouillage dans la transaction. Toute transaction est divisible en deux phases : une première phase de croissance où elle acquiert tous les verrous mais ne peut en libérer aucun, et une phase de résorption, au cours de laquelle elle libère tous les verrous et ne peut plus en obtenir aucun. Une transaction doit acquérir un verrou sur un élément avant de faire quoi que ce soit sur celui-ci. Une fois que la transaction libère un verrou, elle ne peut plus demander d autres verrous.

20 Éviter le problème de la mise à jour perdue à l aide de la V2P

21 Éviter le problème de la dépendance non validée à l aide de la V2P

22 E viter le proble me de l analyse incohe rente a l aide de la V2P

23 Blocage indéfini (deadlock) Definition (Blocage indéfini (deadlock)) L impasse générée par deux transactions (ou plus) qui attendent, l une, que des verrous se libèrent, alors qu ils sont détenus par l autre

24 Techniques permettent de gérer les verrous indéfinis Trois techniques permettent de gérer les verrous indéfinis : imposer un delai imparti prévenir les verrous indéfinis détecter les verrous et les récuperer

25 Détection des verrous indéfinis Le graphe de attentes est un graphe dirigé G=(N,F) construit comme suit : Créer un nœud pour chaque transaction. Créer une flèche T i T j quand la transaction T i attend de verrouiller un élément actuellement verrouillé par T j. Un verrou indéfini existe si et seulement si le graphe des attentes contient un cycle (Holt, 1972). Exercice : dessiner le graphe des attentes des transactions du transparent 23.

26 Récupération à la suite de la détection d un verrou indéfini Choisir la victime du verrou indéfini. Il est préférable d annuler une transaction qui vient juste de démarrer qu une autre s exécutant déjà depuis un moment. Il est préférable d annuler une transaction qui n a encore apporté que quelques modifications, plutôt qu une autre qui a déjà effectué un travail important sur la base de données. Il est préférable d annuler une transaction qui a encore beaucoup de modifications à apporter qu une autre qui n en a plus que quelques unes à effectuer. Éviter la famine (starvation).

Concurrence. Concurrence d accès. Nicolas Travers nicolas.travers@cnam.fr

Concurrence. Concurrence d accès. Nicolas Travers nicolas.travers@cnam.fr Concurrence Concurrence d accès FIP1 - Bases de Données Nicolas Travers nicolas.travers@cnam.fr Équipe Vertigo Laboratoire CEDRIC Conservatoire National des Arts & Métiers, Paris, France 1 / 36 Plan Concurrence

Plus en détail

Définition: Transaction

Définition: Transaction Concurrence des accès Atomicité à la concurrence Concurrency atomicity Concepts 2PL Définition: Transaction Une transaction est une unité de travail Un ensemble d actions qui prend la base de données dans

Plus en détail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Les transactions 1/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/40 2/40 Pourquoi? Anne-Cécile Caron Master MAGE - BDA 1er trimestre 2013-2014 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

Transactions et concurrence

Transactions et concurrence Transactions et concurrence Le concept de transaction Les états d une transaction Exécutions concurrentes Sérialisabilité Définition des transactions dans SQL Test de sérialisabilité Le concept de transaction

Plus en détail

Programme accédant et/ou modifiant des données persistantes (fichier ou BD) avec propriétés :

Programme accédant et/ou modifiant des données persistantes (fichier ou BD) avec propriétés : Transaction réservation(date, nbplace) select reste into r from RESERVATION where dateresa=:date si (r >= nbplace) alors update RESERVATION set reste=reste-nbplace where dateresa=:date éditer-place(date,

Plus en détail

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

Réplication des données

Réplication des données Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010 Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance

Plus en détail

12. Concurrence et transactions. OlivierCuré [ocure@univ-mlv.fr]

12. Concurrence et transactions. OlivierCuré [ocure@univ-mlv.fr] 12. Concurrence et transactions 354 Plan Notion de transaction Théorie de la concurrence Sérialisation Techniques pessimistes et optimistes Gestion de transactions Validation Reprise après panne 355 12.1

Plus en détail

Bases de données temps-réel www.enst.fr/~talel/cours/tram/rtdbms.pdf

Bases de données temps-réel www.enst.fr/~talel/cours/tram/rtdbms.pdf Bases de données temps-réel www.enst.fr/~talel/cours/tram/rtdbms.pdf Talel.Abdessalem@enst.fr Plan Applications temps réel et SGBD Les SGB traditionnels Modèles et approches pour le temps réel Produits

Plus en détail

Cours Bases de données

Cours Bases de données Cours Bases de données Concurrence d accès 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Contrôle de la concurrence d accès 1. Introduction 1.1. Systèmes multi-utilisateurs

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage

Plus en détail

Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.fr. Bases de Données Avancées - Transactions

Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.fr. Bases de Données Avancées - Transactions Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.fr Bases de Données Avancées - Transactions Sommaire I. Introduction II. Transactions et SQL III. Contrôle de la Concurrence IV.

Plus en détail

Les journées SQL Server 2013

Les journées SQL Server 2013 Les journées SQL Server 2013 Un événement organisé par GUSS Les journées SQL Server 2013 Les Verrous Arian Papillon, MVP SQL Server Frédéric Brouard, MVP SQL Server Un événement organisé par GUSS Arian

Plus en détail

Copyright (C) 1997-2007. JM Rodriguez. Tous droits réservés. Reproduction interdite par tous moyens sauf à des fins de citation.

Copyright (C) 1997-2007. JM Rodriguez. Tous droits réservés. Reproduction interdite par tous moyens sauf à des fins de citation. 1 Les Transactions Une transaction est une séquence d opérations sur un serveur. 1.1 Le concept Le principe s'inspire des transactions tout ou rien de l'époque primitive des bandes magnétiques sans l'utilisation

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

Quel SGBDR pour VFP?

Quel SGBDR pour VFP? D. Peralta le 4 mars 2008 Rencontres AtoutFox 2007/2008 Quel SGBDR pour VFP? Lors des précédentes rencontres, nous avons écrit des articles sur l utilisation des SGBDR avec VFP. Nous avons vu les différentes

Plus en détail

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr Données Réparties Thibault BERNARD thibault.bernard@univ-reims.fr Sommaire Introduction Gestion de la concurrence Reprise après panne Gestion des données dupliquées Sommaire Introduction Gestion de la

Plus en détail

SGBD : Bases de données avancées [M3106C]

SGBD : Bases de données avancées [M3106C] SGBD : Bases de données avancées [M3106C] Hocine ABIR 10 septembre 2014 IUT Villetaneuse E-mail: abir@iutv.univ-paris13.fr TABLE DES MATIÈRES 4 Gestion des Accès Concurrents sous PostgreSQL 1 4.1 Introduction...............................

Plus en détail

Architecture serveur de pages (2) Bilan architecture serveur de pages. Architecture multi-serveur. Pertes de mise à jour

Architecture serveur de pages (2) Bilan architecture serveur de pages. Architecture multi-serveur. Pertes de mise à jour Introduction Chapitre 5. Implémentation des SGBDO 1 architectures client/serveur 2 concurrence, pannes 3 Quelques SGBDRO 4 Quelques SGBDOO années 80 : serveur : BD client : applications et langages appel

Plus en détail

Rappel sur les Transactions

Rappel sur les Transactions Rappel sur les Transactions Didier DONSEZ Université Joseph Fourier (Grenoble 1) IMAG/LSR/ADELE Didier.Donsez@imag.fr Agenda Notion de Transaction Propriétés ACID Contrôle de concurrence Reprise sur Panne

Plus en détail

Bases de données avancées Concurrence d'accès et reprise

Bases de données avancées Concurrence d'accès et reprise Bases de données avancées Concurrence d'accès et reprise Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan La notion de transaction Les problèmes de la concurrence Problèmes

Plus en détail

Notation o i (E) : la transaction i effectue sur l élément E l opération x qui peut être : r lecture (read) w écriture (write)

Notation o i (E) : la transaction i effectue sur l élément E l opération x qui peut être : r lecture (read) w écriture (write) MASTER INFORMATIQUE DE L UNIVERSITÉ BORDEAUX 1 BASES DE DONNÉES AVANCÉES INF 559 (CHRISTIAN RETORÉ) EXERCICES CORRIGÉS ACCÈS CONCURRENTS (31 DÉCEMBRE 2007) Le cours a présenté trois techniques de gestion

Plus en détail

Multi-processeurs, multi-cœurs et cohérence mémoire et cache

Multi-processeurs, multi-cœurs et cohérence mémoire et cache Multi-processeurs, multi-cœurs et cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Rappel système d exploitation & Parallélisme L unité d exécution pour un système d exploitation

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Administration des bases de données

Administration des bases de données Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données IV SGBD Transactionnels : protection et sécurité des données OBJECTIFS

Plus en détail

TP8 - Gestion Transactionnelle

TP8 - Gestion Transactionnelle TP8 - Gestion Transactionnelle MIAGE #3-2006/2007 November 29, 2006 1 Transactions sous Oracle Il est nécéssaire pour ce T.P. de travailler par binômes connectés simultanement (sous SQL*PLUS) sur deux

Plus en détail

SURETE DE FONCTIONNEMENT ET REPRISE APRES PANNE

SURETE DE FONCTIONNEMENT ET REPRISE APRES PANNE Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ARCHITECTURE ET ADMINISTRATION DES BASES DE DONNÉES 2013-2014 RESPONSABLES M. KAMEL BOUKHALFA (SII)

Plus en détail

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication.

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication. 1 BD locale BD locale Programme d'application Logiciel intermédiaire Client SGBD réparti Logiciel intermédiaire données SGBD réparti Logiciel intermédiaire données 2 Bénéfices potentiels Performance Fiabilité

Plus en détail

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle Plan Deuxième partie 1 2 Primitives de gestion des activités 2 / 26 4 / 26 Interférences et isolation Contenu de cette partie di cultés résultant d accès concurrents à un objet partagé mise en œuvre de

Plus en détail

Systèmes de gestion de bases de données

Systèmes de gestion de bases de données Systèmes de gestion de bases de données Introduction a la notion de transaction P. Rigaux Cnam, dépt. informatique May 20, 2015 PR (Cnam, dépt. info) Systèmes de gestion de bases de données May 20, 2015

Plus en détail

Parallélisme1. Problèmes du parallélisme et Outils permettant de les résoudre. M. Ould Braham. Master1 (DMI/FST Limoges) 1

Parallélisme1. Problèmes du parallélisme et Outils permettant de les résoudre. M. Ould Braham. Master1 (DMI/FST Limoges) 1 Parallélisme1 Problèmes du parallélisme et Outils permettant de les résoudre M. Ould Braham Master1 (DMI/FST Limoges) 1 Contenu du cours (9h, 6 Séances) Problèmes du parallélisme Modèles de fonctionnement

Plus en détail

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

UNION INTERCEPT SELECT WHERE JOINT FROM ACID STOCKAGE TRANSACTION, SÉRIALISABILITÉ, NIVEAUX D'ISOLATION 1 BASE RELATIONNELLE Un serveur de données relationnel : Rend compte de la «réalité» sous forme de table Met en relation la perception logique

Plus en détail

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

Plus en détail

Programmation Concurrente

Programmation Concurrente Programmation Concurrente Chapitre 2 : Synchronisation 1. Présentation du problème 2. Synchronisation par sémaphore 3. Synchronisation par événement 4. Le problème des lecteurs et des rédacteurs 1 1. Présentation

Plus en détail

Gestion des Processus

Gestion des Processus Plan Gestion des Processus Concept de processus Ordonnancement Ryan Cassel cassel@limsi.fr Synchronisation Université Paris XI 2 de Tanenbaum Pour préparer un gateau: Recette Programme Ingrédients

Plus en détail

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion

Plus en détail

Corrigé de l examen de systèmes opératoires Module Synchronisation des processus

Corrigé de l examen de systèmes opératoires Module Synchronisation des processus Corrigé de l examen de systèmes opératoires Module Synchronisation des processus 2ième Année Informatique et Mathématiques Appliquées 17 Novembre 1999 1 Les sémaphores 1. Donner la définition d un sémaphore

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

Plus en détail

Gestion des Journaux. Méthodes d accès aux données. Système d exploitation. Gestion de Verrous. Gestion de. Mémoire. Gestion de transactions Page 2

Gestion des Journaux. Méthodes d accès aux données. Système d exploitation. Gestion de Verrous. Gestion de. Mémoire. Gestion de transactions Page 2 Gestion de Transactions Propriétés ACID d'une transaction Protocoles de contrôle de concurrence Protocoles de résistance aux pannes Gestion de transactions Page 1 Définition d une transaction Transaction

Plus en détail

Module Bases de Données et Sites Web Partiel du 1 er avril 2005

Module Bases de Données et Sites Web Partiel du 1 er avril 2005 Université Pierre et Marie Curie - Paris 6 - UFR 922 - Licence d'informatique Module Bases de Données et Sites Web Partiel du 1 er avril 2005 Documents autorisés Durée : 2h. Exercice 1 : Autorisation Question

Plus en détail

TD3. Le problème de l'exclusion mutuelle et les mutexes. LP RGI Prog. système

TD3. Le problème de l'exclusion mutuelle et les mutexes. LP RGI Prog. système LP RGI Prog. système TD3 Le problème de l'exclusion mutuelle et les mutexes I U T d ' A m i e n s, d é p a r t e m e n t I n f o r m a t i q u e a n n é e u n i v e r s i t a i r e 2 0 1 4 / 2 0 1 5 L

Plus en détail

Le problème des lecteurs et rédacteurs : La communication par envoi de messages. définition. Les processus lecteurs et rédacteurs

Le problème des lecteurs et rédacteurs : La communication par envoi de messages. définition. Les processus lecteurs et rédacteurs Le problème des lecteurs et rédacteurs définition Ce problème généralise celui de l exclusion mutuelle. On distingue deux types de processus : Les lecteurs (readers) qui lisent uniquement l information

Plus en détail

Cours 3: Coopération entre processus: Synchronisation + Communication

Cours 3: Coopération entre processus: Synchronisation + Communication Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)

Plus en détail

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier ENSTA Mastère Spécialisé en Architecture des Systèmes d Information Cours C1-3 Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier Partie II : les SGBD vus du coté Administrateur

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de

Plus en détail

Chapitre 5. Communication interprocessus. 5.1 Introduction

Chapitre 5. Communication interprocessus. 5.1 Introduction Communication interprocessus 5.1 Introduction Dans une activité parallèle (ou pseudo parallèle), un ensemble de processus séquentiels s exécutent en parallèle. Cette exécution résulte deux types de relations

Plus en détail

synchronisation et communication entre processus Synchronisation et communication entre processus

synchronisation et communication entre processus Synchronisation et communication entre processus 1 Synchronisation et communication entre processus Accès à des ressources communes 2 Exemple: compte bancaire dont montant en A sur disque programme pour ajouter 100: lire(n,a) N := N+100 écrire(n,a) 2

Plus en détail

M2-GamaGora. Programmation Multi-Thread - partie 1. J.C. Iehl. November 13, 2008

M2-GamaGora. Programmation Multi-Thread - partie 1. J.C. Iehl. November 13, 2008 Programmation Multi-Thread - partie 1 November 13, 2008 pourquoi ça ne marche pas? et alors? introduction aux threads threads : pourquoi ça ne marche pas? et alors? un nouveau point d entrée (une fonction

Plus en détail

Cours de Base de Données Cours n.2 Introduction à MySQL/PhPMyAdmin

Cours de Base de Données Cours n.2 Introduction à MySQL/PhPMyAdmin Cours de Base de Données Cours n.2 Introduction à MySQL/PhPMyAdmin Ce cours reprend beaucoup de transparents du cours de Philippe LAHIRE Elisabetta De Maria - edemaria@i3s.unice.fr UFR Sciences et Laboratoire

Plus en détail

Transcations réparties. Concept de transaction. Exemple de transaction. Propriétés des transactions (ACIDité) Page 1

Transcations réparties. Concept de transaction. Exemple de transaction. Propriétés des transactions (ACIDité) Page 1 Transcations réparties Concept de transaction Gestion de transactions Transactions dans un système réparti Une transaction est une collection d'actions qui transforment la BD (ou des fichiers) depuis un

Plus en détail

Modèles du parallélisme et Processeurs modernes

Modèles du parallélisme et Processeurs modernes Introduction Modèles du parallélisme et Processeurs modernes Le modèle classique du parallélisme est celui de l entrelacement. Il correspond à un modèle de la mémoire appelé modèle de le cohérence séquentielle

Plus en détail

Multi-processeurs, multi-cœurs, cohérence mémoire et cache

Multi-processeurs, multi-cœurs, cohérence mémoire et cache Multi-processeurs, multi-cœurs, cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Parallélisme inter instructions n Exécution : une séquence d instructions appliquées à un 1

Plus en détail

Algorithmique & Programmation (INF 431)

Algorithmique & Programmation (INF 431) Algorithmique & Programmation () Pottier 4 juin 2014 4 juin 2014 1 / 84 Une communication peu coûteuse... Les processus légers : partagent le tas et les variables globales, donc peuvent communiquer de

Plus en détail

Algorithmique & Programmation (INF 431)

Algorithmique & Programmation (INF 431) Algorithmique & Programmation (INF 431) Pottier 4 juin 2014 1 2 3 évoluées 4 Le problème de l exclusion 5 Les verrous 6 Règles d utilisation et des verrous 7 Une communication peu coûteuse... Les processus

Plus en détail

Cours 3: Coopération entre processus: Synchronisation + Communication

Cours 3: Coopération entre processus: Synchronisation + Communication Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)

Plus en détail

Systèmes concurrents

Systèmes concurrents Systèmes concurrents Philippe Quéinnec 14 septembre 2012 Systèmes concurrents 1 / 25 Deuxième partie L'exclusion mutuelle Systèmes concurrents 2 / 25 Isolation L'exclusion mutuelle Plan 1 Interférences

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les threads Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Présentation du problème Revenons quelques instants à nos animaux.

Plus en détail

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net Rappels Inf 431 Cours 11 un processus t (Thread) est un programme qui s exécute Synchronisation par mémoire partagée tstart lance l exécution concurrente de la méthode trun de t tinterrupt signale qu on

Plus en détail

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant :

Plus en détail

Logiciel. de Surveillance. Vidéo Numérique. par Réseau Ethernet

Logiciel. de Surveillance. Vidéo Numérique. par Réseau Ethernet Logiciel de Surveillance Vidéo Numérique par Réseau Ethernet Guy COLIN et Dominique DELABRE Sommaire : ATTENTION...3 Installation du logiciel...5 Présentation de la fenêtre principale...6 Configuration

Plus en détail

Thème 11 Réseaux de Petri Places-Transitions

Thème 11 Réseaux de Petri Places-Transitions Thème 11 Réseaux de Petri Places-Transitions Contenu du thème 1. Introduction 2. RdP PT 3. Protocoles de communication Références Diaz, Michel (2001) Les Réseaux de Petri Modèles fondamentaux, Hermes Science

Plus en détail

Moniteurs, Java, Threads et Processus

Moniteurs, Java, Threads et Processus Moniteurs, Java, Threads et Processus 1 Une vue orientée-objet de la mémoire partagée On peut voir un sémaphore comme un objet partagé accessible par deux méthodes : wait et signal. L idée du concept de

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

Comment régler les problèmes de synchronisation? P-A. Champin

Comment régler les problèmes de synchronisation? P-A. Champin S y s t è m e d ' e x p l o i t a t i o n S é a n c e 5 Comment régler les problèmes de synchronisation? P-A. Champin Département Informatique IUT A Université Claude Bernard Lyon 1 2009 S5 - Comment régler

Plus en détail

1 Programmation Client/Serveur basée sur TCP/IP

1 Programmation Client/Serveur basée sur TCP/IP Outils Informatique pour l ingénieur TD 1 Réseau et Web IP, Client/serveur 1 Programmation Client/Serveur basée sur TCP/IP 1.1 Buts de cette réalisation Ce TP sur la programmation client/serveur a pour

Plus en détail

Systèmes concurrents. Philippe Quéinnec. 14 septembre 2012. Systèmes concurrents 1 / 48

Systèmes concurrents. Philippe Quéinnec. 14 septembre 2012. Systèmes concurrents 1 / 48 Systèmes concurrents Philippe Quéinnec 14 septembre 2012 Systèmes concurrents 1 / 48 Neuvième partie Transactions Systèmes concurrents 2 / 48 Interférences entre actions Dénition des transactions Type

Plus en détail

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

Plus en détail

CVS : Gestion de configuration client-serveur

CVS : Gestion de configuration client-serveur CVS : Gestion de configuration client-serveur Linux Gazette numéro 66 Kapil Sharma kapil@linux4biz.net Jérôme Fenal jerome@fenal.org 1. Introduction CVS est un système de gestion de configuration. En l

Plus en détail

Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores

Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores Jacques Mossière 22 septembre 2008 1 Introduction Nous étudions dans ce chapitre la réalisation des processus

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4 Groupe Eyrolles, 2006, ISBN : 2-212-11919-4 Table des matières Préface... III Remerciements................................................... III Conventions typographiques........................................

Plus en détail

Outil de démonstration : Application PassNFC

Outil de démonstration : Application PassNFC Outil de démonstration : Application PassNFC Utilisation dans le cadre de la formation Synerg ID uniquement Testé avec : Google Nexus / MIFARE Ultralight Contenu 1 Préambule... 2 2 Configuration requise...

Plus en détail

2.1/ Les privilèges sous oracle

2.1/ Les privilèges sous oracle LP Informatique(DA2I), UF7 : Administration Système, Réseaux et Base de données 13/12/2007, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Première parie : Administration d une BD Chapitre 2 : Transaction,

Plus en détail

Réplication des bases de données

Réplication des bases de données Réplication des bases de données Stéphane Gançarski Hubert Naacke LIP6 Université Paris 6 1 Références Livre Articles Cours Principles of Distributed Database Systems Eager Replication [KA 2000]: Bettina

Plus en détail

Contrôle de la réplication dans les SGBD temps réel distribués

Contrôle de la réplication dans les SGBD temps réel distribués 41 Prépublication n 13 Fascicule n 2 Contrôle de la réplication dans les SGBD temps réel distribués Anis Haj Said, Laurent Amanton, Bruno Sadeg Laboratoire d Informatique, de Traitement de l Information

Plus en détail

Erreurs les plus fréquentes Guide de dépannage

Erreurs les plus fréquentes Guide de dépannage Erreurs les plus fréquentes Guide de dépannage janvier 2012 Le présent manuel et le support électronique qui l accompagne sont des produits exclusifs de Paiements Optimal, S.A.R.L. Leur usage est réservé

Plus en détail

Quelques transparents de cours sur la méthode SADT (Structured Analysis and design Technics) Université du Havre

Quelques transparents de cours sur la méthode SADT (Structured Analysis and design Technics) Université du Havre Quelques transparents de cours sur la méthode SADT (Structured Analysis and design Technics) 1995 1996 Université du Havre B. Sadeg SADT (Structured Analysis and design Technics) Analyse Structurée et

Plus en détail

UTILISER UN SITE COLLABORATIF

UTILISER UN SITE COLLABORATIF Sites collaboratifs Pléiade : guide utilisateur détaillé 1 Sites collaboratifs Pléiade : guide utilisateur détaillé UTILISER UN SITE COLLABORATIF COMMENT UTILISER LE BLOG Sites collaboratifs Pléiade :

Plus en détail

Linux Principes et Programmation

Linux Principes et Programmation Linux Principes et Programmation 4. Synchronisation entre processus Interblocage CNAM NSY103 2009/2010 Yann GAUTHERON Extraits : http://fr.wikipedia.org/, LINUX Programmation système et réseau (Joëlle

Plus en détail

Bases de données. Cours 6 : Introduction à des notions avancées (Index, Déclencheurs, Transactions) Nicolas DURAND

Bases de données. Cours 6 : Introduction à des notions avancées (Index, Déclencheurs, Transactions) Nicolas DURAND Bases de données Cours 6 : Introduction à des notions avancées (Index, Déclencheurs, Transactions) Nicolas DURAND Polytech Marseille Université d Aix-Marseille 2012-2013 Nicolas DURAND Bases de données

Plus en détail

Synchronisation et communication entre processus

Synchronisation et communication entre processus Synchronisation et communication entre processus Interblocage et coalition Joëlle Delacroix AMSI1999/2000 1 INTRODUCTION Système multiprocessus L'ordonnancement "entrelace" les exécutions P1 P2 P3 Processus

Plus en détail

5 Moniteurs. Slide 1. Caractéristique majeure d un programme avec moniteurs = Composé de deux sortes de modules/processus: Slide 2

5 Moniteurs. Slide 1. Caractéristique majeure d un programme avec moniteurs = Composé de deux sortes de modules/processus: Slide 2 5 Moniteurs Motivation = les sémaphores peuvent être utilisés pour résoudre à peu près n importe quel problème d exclusion mutuelle ou synchronisation... mais, les sémaphores possèdent certains désavantages:

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1

Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1 Julien Forget 1 Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS3 2011-2012 1. Inspiré des slides de Thomas Vantroys 1 / 58 Plan 1 Notions de

Plus en détail

EJB avancés. Transactions Sécurité Ressources Performances

EJB avancés. Transactions Sécurité Ressources Performances EJB avancés Transactions Sécurité Ressources Performances Les transactions Concept fondamental dans les applications distribuées Indispensable pour une exécution sure des services Difficile à mettre en

Plus en détail

Fichier sql.ini, Serveurs

Fichier sql.ini, Serveurs Photos d écrans Fichier sql.ini, Serveurs SQLBrowser lit un fichier sql.ini Les serveurs peuvent organisés en groupes On peut allouer une Couleur aux serveurs qui sera utilisée comme arrière plan des fenêtres

Plus en détail

LIAISON SERIE MODBUS

LIAISON SERIE MODBUS LIAISON SERIE MODBUS 1. INTRODUCTION AU BUS DE TERRAIN MODBUS :... 2 1.1. Généralités :... 2 1.2. Principe général :... 2 2. LIAISON SERIE RS485 :... 3 2.1. Transmission série asynchrone :... 3 2.2. Transmission

Plus en détail

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

Surveiller et contrôler vos applications à travers le Web

Surveiller et contrôler vos applications à travers le Web Surveiller et contrôler vos applications à travers le Web Valérie HELLEQUIN Ingénieur d application Internet permet aujourd hui la diffusion d informations et de ressources que chaque utilisateur peut

Plus en détail

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus Chapitre II : Gestion des processus Table des matières I Processus et contexte d un processus 2 II État d un processus 3 III Système d exploitation multi-tâches et parallélisme 3 IV Problèmes dues au multi-tâches

Plus en détail

Les transactions étendues et quelques Frameworks qui les supportent.

Les transactions étendues et quelques Frameworks qui les supportent. Les transactions étendues et quelques Frameworks qui les supportent. Christophe Ponsen cponsen@info.fundp.ac.be Institut d Informatique, Université de Namur Résumé Les transactions étendues posent de nombreux

Plus en détail

4 Sémaphores. 4.1 Syntaxe et sémantique. sem s1; /* sem s1 = 0; */ sem s2 = 1; sem forks[5] = ([5] 1); P(s): < await(s > 0) s = s - 1; >

4 Sémaphores. 4.1 Syntaxe et sémantique. sem s1; /* sem s1 = 0; */ sem s2 = 1; sem forks[5] = ([5] 1); P(s): < await(s > 0) s = s - 1; > 4 Sémaphores Motivation = une approche avec busy waiting n est pas intéressante dans un programme avec fils d exécution multiples, puisque le nombre de processus est généralement plus grand que le nombre

Plus en détail

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence Université Paris Diderot Master 1 II Théorie et pratique de la concurrence Partiel du 30 avril 2009 Durée : 1h30. Tous les documents sont autorisés. Le barème est indicatif. Question 1 : Soit le programme

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

ESIEE Engineering Mémo SVN - Windows B. Perret L. Buzer

ESIEE Engineering Mémo SVN - Windows B. Perret L. Buzer Mémo : Utilisation de SVN sous Windows Sommaire Mémo : Utilisation de SVN sous Windows... 1 1) Logiciels : installation et configuration... 1 1.1) Client/serveur Subversion pour Windows : TortoiseSVN...

Plus en détail