Synchronisation et communication entre processus

Slides:



Advertisements
Présentations similaires
Le Nom L’adjectif Le verbe Objectif: Orthogram
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Ma surprise du Zoo.
[number 1-100].
Module Systèmes d’exploitation
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Vocabulaire 6.2 Français II Bon voyage ! 1.
Licence pro MPCQ : Cours
Distance inter-locuteur
Le pluriel des noms
Les numéros
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Sud Ouest Est Nord Individuel 36 joueurs
Les identités remarquables
Chapitre 3 Coopération et synchronisation par variables partagées
Exécutif Temps réel. Limitation des système classiques Rappels Mise en œuvre lourde des communications entre processus Problème de prédictibilité avec.
Sirop de Liège « industriel »
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Description du fonctionnement d'un système 1 Clic Clic
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES COHESION CULTURELLE ET EXPANSION DES IDEES SUR LE TERRITOIRE EUROPEEN.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
-17 Anticipations économiques en Europe Septembre 2013 Indicateur > +20 Indicateur 0 a +20 Indicateur 0 a -20 Indicateur < -20 Union européenne total:
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
PM18 MONTAGE DU BLINDAGE AUTOUR DE LA QRL F. DELSAUX - 25 JAN 2005
Titre : Implémentation des éléments finis sous Matlab
Académie de Créteil - B.C Quest-ce quune Inscription 1)1 action + 1 stagiaire + 1 client 2)Parcours individuel (avec son Prix de Vente) 3)Un financement.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
INDUSTRIE sa Tel : 0033(0) Fax : Projet: SKIP CAPSULES – v.1 Client: CARDIVAL HEALTH.
LES NOMBRES PREMIERS ET COMPOSÉS
Unit 4: Les animaux Unit 4: Les animaux.
1 INETOP
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
1 10 pt 15 pt 20 pt 25 pt 5 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Les fonctions.
Titre : Implémentation des éléments finis en Matlab
C'est pour bientôt.....
1 INETOP
Les Nombres 0 – 100 en français.
Veuillez trouver ci-joint
+21 Anticipations économiques en Europe Decembre 2013 Indicateur > +20 Indicateur 0 á +20 Indicateur 0 á -20 Indicateur < -20 Union européenne total: +14.
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Le 09/16/05 à 10:32 AM page 1 INDUSTRIE SA Patrice BEMER 24 RN STUCKANGE Tel : 0033(0) Fax 0033 (0) Siège social et entrepots.
Vocabulaire 7.1 Français II Bon voyage ! 1.
Voici 36 bonnes raisons de preferer la biere à une femme blonde...
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
1. La bière ne parle pas 2.La bière est toujours prête et humide.
CALENDRIER-PLAYBOY 2020.
LES PILES ET FILES.
Exercice de vérification 1 p
Les Chiffres Prêts?
Elles avaient envahi le jardin, mais derrière... 1.
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Les parties du corps By Haru Mehra Le Frehindi 1Haru Mehra, DELF, DALF,CFP.
Interactions entre Processus
Transcription de la présentation:

Synchronisation et communication entre processus Schémas classiques de synchronisation

Un premier problème simple : l'exclusion mutuelle entre processus Accès à une ressource critique

Introduction : un exemple simple de concurrence (I) Réservation : Si nb_place > 0 alors Réserver une place nb_place = nb_place - 1 fsi

Introduction : un exemple simple de concurrence Client 2 Demande Réservation Nb_Place > 0 = 1 Nb_Place = Nb_Place - 1 Nb_Place = 0 Client 1 Demande Réservation Nb_Place > 0 = 1 Nb_Place = Nb_Place - 1 Nb_Place = -1 !!!

Notion d'exclusion mutuelle (I) Ressource utilisable par un seul processus à la fois Processus Début Prélude Section Critique Ressource Critique Nb_Place Postlude Section Critique Fin SECTION CRITIQUE

Un exemple simple de concurrence Client 2 Client 1 Demande Réservation Protection de Nb_Place Nb_Place > 0 = 1 Nb_Place = Nb_Place - 1 Fin protection Nb_Place Demande Réservation Nb_Place non accessible Protection de Nb_Place Nb_Place = 0

Problème de la section critique Solutions matérielles Masquage des interruptions Noyau Processus 1 Nb_Place Traitement IT Horloge Processus 2 Nb_Place

Problème de la section critique Solutions matérielles Masquage des interruptions Processus 1 IT Non prise en compte Masquage IT Nb_Places Démasquer IT Processus 2 Attente

Problème de la section critique Une ressource critique est une ressource accessible par un seul processus à la fois. L'accès se fait en exclusion mutuelle dans la section critique. Une solution pour réaliser une section critique est d'interdire la prise en compte des interruptions durant l'utilisation de la ressource critique. Mais dangereux mode superviseur attente active bloquer les processus : les sémaphores

Les sémaphores Structure P (Sem) File L V (Sem) Compteur K Val Sem INIT (Val, Sem) Opérations atomiques

Les sémaphores Opération Init (Val, Sem) Val Init (Val, Sem) début Sem. K := Val; Sem. L :=  fin

Les sémaphores Endormissement Opération P (Sem) P (Sem) début Sem.K := Sem.K - 1; Si Sem.K < 0 alors ajouter ce processus à Sem.L endormir ce processus fsi fin < 0

Les sémaphores Endormissement Opération P (Sem) CPU élu prêt < 0 < 0 P(Sem) bloqué Sem

Les sémaphores Réveil Opération V (Sem)  0 V (Sem) début Sem.K := Sem.K + 1; Si Sem.K  0 alors sortir un processus de Sem.L réveiller ce processus fsi fin

Les sémaphores Réveil Opération V (Sem)  0 CPU élu prêt V(Sem) bloqué  0 CPU élu prêt V(Sem) bloqué Sem

Les sémaphores Signification du compteur K Si Sem.K > 0, Sem.K est le nombre d'opérations P(Sem) passantes P1 P2 P3 P(Sem) K = 1 P(Sem) 2 P(Sem) K = 0 K < 0 Bloqué

Les sémaphores Signification du compteur K Si Sem.K £ 0, valeur_absolue(Sem.K) est le nombre de processusbloqués dans Sem.L P3 P4 P1 P3 P(Sem) P4 K = -1 Bloqué P(Sem) - 2 K = - 2 Bloqué V(Sem) K = -1 Réveil de P3

Les sémaphores Section critique Sémaphore Mutex initialisé à 1 P (Mutex) V (Mutex) Prélude Section Critique Postlude

Les sémaphores Section critique Processus 2 Processus 1 P (Mutex) Mutex.K = 0 Entrée en SC P (Mutex) Mutex.K = - 1 Mise en attente V (Mutex) Entrée en SC Mutex.K = 0 Réveil

Les sémaphores Allocations de ressources N ressources exclusives de même type Sémaphore Res initialisé à N Allocation : P(Res) Utilisation Ressource Restitution V(Res)

Allocations de ressources Les sémaphores Allocations de ressources P3 P(Res) Res.K = 0 alloué P(Res) P(Res) Res.K = 2 Res.K = 1 P(Res) P4 alloué alloué P1 Res.K = - 1 Bloqué P2 V(Res) Res.K = 0

Notion de synchronisation Producteur-Consommateur Tampon de messages Producteur Consommateur

Notion de synchronisation Producteur-Consommateur Si il y a au moins une case libre alors déposer le message prévenir le consommateur sinon attendre fsi Consommateur Si il y a au moins une case pleine alors prendre le message prévenir le producteur sinon attendre fsi

Un exemple de Producteur-Consommateur les Tubes Unix Ecriture bloquante - pas de consommateurs - tube plein Lecture bloquante - pas de producteurs - tube vide

Un exemple de Producteur-Consommateur les messages queue d'Unix Clé 1 A B A Clé 2 Clé 1 Clé 3 C A Clé 1 Clé 4 Prod Clé 2 1 Clé 5 6 Cons Clé 6 B Clé 6 Clé 6

Les sémaphores Producteur-Consommateur Tampon de N messages Consommateur Producteur retrait case j dépot case i Ressources cases pleines Ressources cases vides N Sémaphore Vide Sémaphore Plein

Les sémaphores Producteur-Consommateur Si il y a au moins une case libre alors déposer le message prévenir le consommateur sinon attendre fsi allocation de ressources cases vides P (Sémaphore Vide) une ressource case pleine disponible V (Sémaphore Plein)

Les sémaphores Producteur-Consommateur Si il y a au moins une case pleine alors prendre le message prévenir le producteur sinon attendre fsi allocation de ressources cases pleines P (Sémaphore Plein) une ressource case vide disponible V (SémaphoreVide)

Sémaphore Vide initialisé à N : Init (Vide, N) Sémaphore Plein initialisé à 0 : Init (Plein, 0) Consommateur Producteur index i de dépot : = 0 P(Vide) déposer le message dans T(i); i : = i + 1 mod N; V(Plein) index j de retrait := 0 P(Plein) retirer le message de T(j); j : = j + 1 mod N; V(Vide)

Producteur-consommateur Les sémaphores Producteur-consommateur Producteur Consommateur P(Plein) Plein.K = -1 Bloqué P(Vide) Vide.K := 1 dépot V(Plein) Débloqué 1 case pleine

Producteur-consommateur Les sémaphores Producteur-consommateur Producteur Consommateur P(Vide) Vide.K := 0 dépot V(Plein) 2 cases pleines Retrait V(Vide) P(Vide) Vide.K := - 1 Bloqué Débloqué

Notion de synchronisation Lecteurs / Rédacteurs ECRITURE FICHIER LECTURES Ecriture seule - Lectures simultanées Un écrivain exclut - les écrivains - les lecteurs Un lecteur exclut - les écrivains

Un exemple de lecteurs / rédacteurs Mémoire partagée distribuée Mach w 3 Rédacteur P1 Lecteur P1 1 Accès Ecriture (P1) P1 r INVALIDER P1 P1 2 Lecteur P1 Serveur DSM

Les sémaphores Lecteurs / Rédacteurs ECRITURE FICHIER LECTURES Ecriture seule - Lectures simultanées Un écrivain exclut - les écrivains - les lecteurs Un lecteur exclut - les écrivains

Les sémaphores Lecteurs / Rédacteurs ECRITURE Un écrivain exclut les écrivains et les lecteurs Un écrivain effectue des accès en exclusion mutuelle des autres écrivains et des lecteurs Sémaphore d'exclusion mutuelle Accès initialisé à 1

Les sémaphores Lecteurs / Rédacteurs Ecrivain M'assurer que l'accès au fichier est libre P(Accès) entrer en écriture Libérer l'accès au fichier V(Accès)

Les sémaphores Lecteurs / Rédacteurs LECTURES Un lecteur exclut les écrivains Un premier lecteur doit s'assurer qu'il n'y a pas d'accès en écriture en cours Le dernier lecteur doit réveiller un éventuel écrivain NL, nombre de lecteurs courants, initialisé à 0

Les sémaphores Lecteurs / Rédacteurs Compter un lecteur de plus Si je suis le premier lecteur alors Y-a-t-il un écrivain ? si oui, attendre fsi entrer en lecture Compter un lecteur de moins Si je suis le dernier, réveiller un écrivain P(Mutex) NL : = NL + 1 NL = 1 P(Accès) V(Mutex) P(Mutex) NL : = NL - 1 NL = 0 V(Mutex) V(Accès)

Les sémaphores Lecteurs / Rédacteurs P(Mutex) NL : = NL + 1 Si (NL = 1) alors P(Accès) fsi V(Mutex) P(Mutex) NL := NL - 1; Si (NL = 0) alors V(Accès) fsi V(Mutex) Accès lecture

Les sémaphores Lecteurs / Rédacteurs Lecteur 1 Lecteur 2 Rédacteur 1 Rédacteur 2 P(Mutex) NL = 1 P(E) Accès autorisé Fichier (L) V(Mutex) Non actif Non actif P(E) Bloqué

Les sémaphores Lecteurs / Rédacteurs Lecteur 1 Lecteur 2 Rédacteur 1 Rédacteur 2 P(Mutex) NL = 2 Accès autorisé V(Mutex) Lecture Bloqué Non actif

Les sémaphores Lecteurs / Rédacteurs Lecteur 1 Lecteur 2 Rédacteur 1 Rédacteur 2 P(Mutex) NL -- = 1 V(Mutex) Lecture Bloqué Non actif P(Mutex) NL -- = 0 V(E) V(Mutex) Fichier (E) P(E) Bloqué

Les sémaphores Lecteurs / Rédacteurs Lecteur 1 Lecteur 2 Rédacteur 1 Rédacteur 2 P(Mutex) NL = 1 P(E) bloqué Ecriture V(E) Bloqué P(Mutex) bloqué Ecriture

Les sémaphores Lecteurs / Rédacteurs Coalition des lecteurs contre les écrivains Fichier libre Fichier en lecture Lecteur j..  accès direct Lecteur 2...i accès direct Lecteur 1 P(E) et accès Ecrivain P(E) bloquant

Les sémaphores Lecteurs / Rédacteurs Solution à la coalition Fichier libre Fichier en lecture Interdire l'accès Lecteur j..  Lecteur 2...i accès direct Ecrivain P(E) bloquant Lecteur 1 P(E) et accès