ELE-542 Systèmes ordinés en temps réels. Cours # 10 Contrôle d accès et synchronisation

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "ELE-542 Systèmes ordinés en temps réels. Cours # 10 Contrôle d accès et synchronisation"

Transcription

1 ELE-542 Systèmes ordinés en temps réels Cours # 10 Contrôle d accès et synchronisation Jean-Marc Beaulieu et Bruno De Kelper Site internet: Systèmes ordinés en temps réel Cours 10 1 Queues de messages Objets qui permettent de transmettre un message (i.e. une variable de la dimension d un pointeur). Une queue permet d emmagasiner plusieurs messages (OS_MAX_QS). Les messages sont gardés dans un tampon circulaire. Ajout d un message à la fin (OSQPost) FIFO Tête (IN) Queue (OUT) Ajout d un message au début (OSQPostFront) LIFO Queue (OUT) Tête (IN) Une tâche peut spécifier le délai maximum qu elle veut attendre. Une queue peut simuler un sémaphore à valeur entière (pas très inefficace). Systèmes ordinés en temps réel Cours 10 2 Contrôle d'accès et synchronisation cours 10 1

2 µc/os-ii Queues de messages OSQCreate OSQPost OSQPostFront OSQPend OSQAccept OSQFlush OSQQuery Création Retourne un pointeur sur le bloc événement Envoi d un message dans la queue (à la fin) Envoi d un message dans la queue (au début de la queue) Réception d un message et attend si nécessaire Réception d un message mais n attend pas Vide la queue (sans traiter les messages) Retourne un ensemble d informations sur la queue Tâche ISR Réf. : Labrosse, chap. 6 OSQPost() OSQCreate() OSQPostFront() OSQPostOpt() OSQFlush() Queue OSQPost() OSQPostFront() OSQPostOpt() OSQFlush() OSQAccept() OSQPend() OSQAccept() OSQQuery() Plusieurs messages (32 bits) Tâche Systèmes ordinés en temps réel Cours 10 3 µc/os-ii Queues de messages OS_EVENT *OSQCreate(void **queue, INT8U taille) (IN) queue = pointeur vers un tableau de pointeur qui sert de queue (IN) taille = nombre maximum de message que peut contenir la queue (OUT) Retourne un pointeur sur le bloc événement void *OSQPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) (IN) pevent = Pointeur vers la queue de message (IN) Timeout en ticks ( 0 = infini) (OUT) err = Code d erreur (OUT) Retourne un pointeur vers le message pris dans la queue INT8U OSQPost(OS_EVENT *pevent, void *msg) (IN) pevent = Pointeur vers la queue de message (IN) msg = pointeur vers le message (ne pas utiliser NULL) (OUT) Retourne un code d erreur INT8U OSQPostFront(OS_EVENT *pevent, void *msg) (IN) pevent = Pointeur vers la queue de message (IN) msg = pointeur vers le message (ne pas utiliser NULL) (OUT) Retourne un code d erreur Systèmes ordinés en temps réel Cours 10 4 Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 2

3 µc/os-ii Queues de messages INT8U OSQPostOpt(OS_EVENT *pevent, void *msg, INT8U opt) (IN) pevent = Pointeur vers la queue de message (IN) msg = pointeur vers le message (ne pas utiliser NULL) (IN) opt = option tel que : OS_POST_OPT_BROADCAST et OS_POST_OPT_FRONT (OUT) Retourne un code d erreur void *OSQAccept(OS_EVENT *pevent) (IN) pevent = Pointeur vers la queue de message (OUT) Retourne un pointeur vers le message (NULL = pas de message) INT8U OSQQuery(OS_EVENT *pevent, OS_Q_DATA *pdata) (IN) pevent = Pointeur vers la queue de message (OUT) pdata = Pointeur vers la structure contenant l information (OUT) Retourne un code d erreur Systèmes ordinés en temps réel Cours 10 5 Réf. : Labrosse, chap. 6 Exemples de synchronisation Problème 1 : Remplissage de bocaux de confiture Séquence : Confiture Horloge Solution sera fait en classe 1 Place bocal 2 Ouvre valve 3 Attend 30 sec. 4 Ferme valve 5 Enlève bocal Bocal Valve Problème de synchronisation Tâches : Tâche Bocal () { while(1) { PlaceBocal(); EnlèveBocal(); Tâche Valve () { while(1) { OuvreValve(); FermeValve(); Tâche Horloge () { while(1) { Attend(30); Systèmes ordinés en temps réel Cours 10 6 Contrôle d'accès et synchronisation cours 10 3

4 Exemples de synchronisation Problème 2 : Atelier automatisé Séquence : 1 Produit pièce 2 Place pièce 3 Tourne plateau 4 Retire pièce 5 Consomme pièce Producteur Consommateur Solution sera fait en classe Traitement séquentiel : (3) (15) (5) Enlève Consomme pièce (10) (3) Tourne plateau Produit pièce Place Produit pièce Systèmes ordinés en temps réel Cours 10 7 Problème 2 : Exemples de synchronisation Atelier automatisé (suite) Traitement concurrent : Producteur Consommateur Enlève Tâches : Produit pièce Tâche Producteur () { while(1) { ProduitPièce(); PlacePièce(); Place Enlève Tourne plateau Produit pièce Place Consomme pièce Tourne plateau Produit pièce Problème de synchronisation Tâche Plateau () { while(1) { TournePlateau(); Enlève Place Solution sera fait en classe Tâche Consommateur () { while(1) { RetirePièce(); ConsommePièce(); Systèmes ordinés en temps réel Cours 10 8 Contrôle d'accès et synchronisation cours 10 4

5 Exclusion mutuelle - MUTEX Le Mutex est un cas particulier de sémaphore. C est un sémaphore binaire qui sert au contrôle d accès à une ressource. Le Mutex utilise la méthode d héritage de priorité pour éviter les inversions de priorité. Une priorité est réservée pour l héritage et est associée au Mutex. Seul le propriétaire du Mutex peut le libérer (contrairement au sémaphore). Un Mutex ne peut pas être utilisé par une ISR (jamais). OSMutexCreate() Tâche OSMutexPost() OSMutexDel() Mutex OSMutexPend() OSMutexAccept() OSMutexQuery() Tâche Réf. : Labrosse, chap. 8 La clé Systèmes ordinés en temps réel Cours 10 9 µc/os-ii Mutex OS_EVENT *OSMutexCreate(INT8U Priorité, INT8U *Erreur) (IN) Priorité = Niveau de priorité associé au Mutex pour l héritage. (OUT) Retourne un pointeur sur le bloc événement void OSMutexPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) (IN) pevent = Pointeur vers le sémaphore (IN) Timeout en ticks ( 0 = infini) (OUT) err = Code d erreur INT8U OSMutexPost(OS_EVENT *pevent) (IN) pevent = Pointeur vers le sémaphore (OUT) Retourne un code d erreur INT16U OSMutexAccept(OS_EVENT *pevent) (IN) pevent = Pointeur vers le sémaphore (OUT) Retourne la valeur de le sémaphore ou 0 INT8U OSMutexQuery(OS_EVENT *pevent, OS_SEM_DATA *pdata) (IN) pevent = Pointeur vers le sémaphore (OUT) pdata = Pointeur vers la structure contenant l information Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 5

6 µc/os-ii Mutex OS_EVENT *OSMutexCreate(INT8U Priorité, INT8U *Erreur) (IN) Priorité = Niveau de priorité associé au Mutex pour l héritage. (IN) Erreur = Code d erreur (ex. : priorité déjà occupée OS_PRIO_EXIST) (OUT) Retourne un pointeur sur le bloc événement void OSMutexPend(OS_EVENT *pevent, INT16U Timeout, INT8U *Erreur) (IN) pevent = Pointeur vers le Mutex (IN) Timeout en ticks ( 0 = infini) (OUT) Erreur = Code d erreur INT8U OSMutexPost(OS_EVENT *pevent) (IN) pevent = Pointeur vers le Mutex (OUT) Retourne un code d erreur INT16U OSMutexAccept(OS_EVENT *pevent) (IN) pevent = Pointeur vers le Mutex (OUT) Retourne la valeur 1 (disponible) ou 0 (occupé) INT8U OSMutexQuery(OS_EVENT *pevent, OS_MUTEX_DATA *pdata) (IN) pevent = Pointeur vers le Mutex (OUT) pdata = Pointeur vers la structure contenant l information Réf. : Labrosse, chap. 8 Systèmes ordinés en temps réel Cours µc/os-ii Bloc de contrôle d événement uc/os-ii utilise une structure spéciale appelée bloc de contrôle d événement (ECB) pour gérer les événements tels que : sémaphore, mutex, boite à lettre et queue de message. Une quantité limité de ECB (OS_MAX_EVENTS) est déclaré lorsque de l initialisation de uc/os-ii. Type d événement Utilisé par les sémaphores Type : sémaphore Compteur : 7 Pointeur : Liste d attente : vers une boite à lettre ou queue de message Tâche Tâche Tâche Tâche Tâche Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 6

7 Interblocages ( Deadlocks ) Définition : Chaque processus d'un ensemble attend un événement qui ne peut être produit que par un autre processus de l'ensemble Ne pas confondre avec BLOCAGE : arrêt d'un processus pour un temps indéterminé Systèmes ordinés en temps réel Cours Graphe d'allocation des ressources PROCESSUS P0 P1 P2 RESSOURCE A B classe unité ou instance Requête Allocation Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 7

8 Graphe d'allocation des ressources relations entre les processus et les ressources R1 R3 P1 P2 P3 R2 R4 relations entre les processus P1 P2 P3 Systèmes ordinés en temps réel Cours Utilisation d'une ressource Processus requête UTILISATION allocation relâche Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 8

9 CONDITIONS D'INTERBLOCAGE (structure) Exclusion mutuelle au moins une ressource n'est pas partageable Pas de «préemption» (réquisition) (comportement) Retient et attend un processus retient des ressources et attend d'autres déjà allouées Attente circulaire ensemble circulaire de processus en attente Systèmes ordinés en temps réel Cours CONDITIONS D'INTERBLOCAGE Retient et attend un processus retient des ressources et attend d'autres déjà allouées Attente circulaire ensemble circulaire de processus en attente P2 P3 P1 P4 P5 Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 9

10 Les quatre conditions sont NÉCESSAIRES, mais NON SUFFISANTES R1 R3 P1 P2 P3 R2 R4 P1 P2 P3 Systèmes ordinés en temps réel Cours Conditions non suffisantes R1 R3? P1 P2 P3 Détection des interblocages Dessiner le graphe d allocation des ressources Simplifier (plusieurs itérations) Enlever les processus non-bloqués et libérer leurs ressources R2 P4 R4 Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 10

11 Exercice Simplifier R1 P1 P2 P3 R2 P4 R3 P5 P6 R4 P7 R5 R6 Systèmes ordinés en temps réel Cours RISQUE DE FAMINE Famine (starvation) un processus est retardé indéfiniment par l'action des autres processus pas de famine Attente bornée La synchronisation doit éviter les risques de famine Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 11

12 Drapeaux d événements Les drapeaux d événements permettent de transmettre un signal à une tâche. Une tâche peut attendre un ou plusieurs drapeaux d événements ou signaux. Les drapeaux d événements servent pour la synchronisation des tâches. 2 types de synchronisation : Synchronisation disjonctive Synchronisation conjonctive Drapeaux Drapeaux POST OR PEND Tâche POST AND PEND Tâche Tâche OSFlagPost() OSFlagDel() OSFlagCreate() OSFlagPend() OSFlagAccept() OSFlagQuery() Tâche ISR OSFlagPost() Groupe de drapeaux d événements OSFlagAccept() OSFlagQuery() Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 8 ISR µc/os-ii Drapeaux d événements OS_FLAG_GRP *OSFlagCreate(OS_FLAGS Flags, INT8U *Erreur) (IN) Flag = valeur initiale des drapeaux d événements. (OUT) Retourne un pointeur sur le groupe de drapeaux. OS_FLAGS OSFlagPend(OS_FLAGS *pgroupe, OS_FLAG Flags, INT8U Wait_Type, INT16U Timeout, INT8U *Erreur) (IN) pgroupe = Pointeur vers le groupe de drapeaux. (IN) Flags = patron de drapeaux à tester. (IN) Wait_Type = type de synchronisation : OS_FLAG_WAIT_CLR_ALL OS_FLAG_WAIT_SET_ALL OS_FLAG_WAIT_CLR_ANY OS_FLAG_WAIT_SET_ANY + OS_FLAG_CONSUME (IN) Timeout en ticks ( 0 = infini) (OUT) Erreur = Code d erreur (OUT) Retourne l état actuel des drapeaux ou l état après qu ils ont été consumé. Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 12

13 µc/os-ii Drapeaux d événements OS_FLAGS OSFlagPost(OS_FLAG_GRP *pgroupe, OS_FLAGS Flags, INT8U Option, INT8U *Erreur) (IN) pgroupe = Pointeur vers le groupe de drapeaux. (IN) Flags = patron de drapeaux à activer. (IN) Option = met les drapeaux à 0 (OS_FLAG_CLR) ou à 1 (OS_FLAG_SET) (OUT) Erreur = code d erreur (OUT) Retourne la nouvelle valeur des drapeaux du groupe INT16U OSFlagAccept(OSFlagPend(OS_FLAGS *pgroupe, OS_FLAG Flags, INT8U Wait_Type, INT16U Timeout, INT8U *Erreur) (comme pour OSFlagPend) OS_FLAGS OSFlagQuery(OS_FLAG_GRP *pgroupe, INT8U *Erreur) (IN) pgroupe = Pointeur vers le groupe de drapeaux (OUT) Erreur = Code d erreur (OUT) Retourne l état actuel des drapeaux du groupe. Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 13

C4 Semaphore. Ressources

C4 Semaphore. Ressources C4 Semaphore TRL Yann DOUZE Polytech Paris UPMC - Section E2i3 Source : livre µc/osii de Jean-Jacques Labrosse et les cours de l école polytechnique de Montréal. Ressources Une ressource est une entité

Plus en détail

Mise en œuvre de l exclusion mutuelle dans

Mise en œuvre de l exclusion mutuelle dans Mise en œuvre de l exclusion mutuelle dans µc/os-ii Mise en œuvre des mécanismes permettant l exclusion mutuelle à l aide des services de µc/os-ii vendredi 19 janvier 2001 1 Blocage des interruptions Méthode

Plus en détail

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel ELE- Systèmes ordinés en temps réels Cours # 8 Système d exploitation Temps Réel Jean-Marc Beaulieu et Bruno De Kelper Site internet: http://www.ele.etsmtl.ca/academique/ele/ Systèmes ordinés en temps

Plus en détail

Multi-threading. Mécanismes de Synchronisation

Multi-threading. Mécanismes de Synchronisation Multi-threading Mécanismes de Synchronisation 1 Exclusion Mutuelle - Mutex Producteurs / Consommateur - Sémaphores 2 Accès en Exclusion Mutuelle Exemple d'une liste d'objects partagée: Gérée en LIFO (Last

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

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

Contrôle de concurrence par sémaphores. NFP137 Cours 12 1

Contrôle de concurrence par sémaphores. NFP137 Cours 12 1 Contrôle de concurrence par sémaphores NFP137 Cours 12 1 Rappel du concept de sémaphore Définition (Dijkstra-1965) Un sémaphore S est un objet partagé constitué de - un entier E initialisé à une valeur

Plus en détail

Synchronisation des Processus et les sémaphores

Synchronisation des Processus et les sémaphores Synchronisation des Processus et les sémaphores Achraf Othman Support du cours : www.achrafothman.net 1 PLAN Spécification du problème Section Critique (SC) Exclusion Mutuelle Principe Propriétés Réalisation

Plus en détail

Systèmes d Exploitation Chapitre 6 Sémaphores

Systèmes d Exploitation Chapitre 6 Sémaphores Systèmes d Exploitation Chapitre 6 Sémaphores F. Moal 2012/2013 Par DIJKSTRA 1971 Idée : encapsuler les solutions diverses au pb de la section critique pour fournir une interface unique et assurer la portabilité.

Plus en détail

Sémaphores. Plan. But. Introduction Définition Modèle intuitif Remarques

Sémaphores. Plan. But. Introduction Définition Modèle intuitif Remarques Plan Troisième partie Sémaphores 1 Spécification Introduction 2 Utilisation des sémaphores Schémas de base Schéma producteurs/consommateurs Contrôle fin de l accès concurrent aux ressources partagées 3

Plus en détail

Les moniteurs : un outil de synchronisation. Exemple 1 : lecture écriture. Exercice 1 : Allocateur de ressources. Exemple 2 : rendez-vous

Les moniteurs : un outil de synchronisation. Exemple 1 : lecture écriture. Exercice 1 : Allocateur de ressources. Exemple 2 : rendez-vous Les moniteurs : un outil de synchronisation Déition : variables d état + procédures utilisant ces variables Procédures en exclusion mutuelle Condition : variable spéciale C.attendre: blocage du processus

Plus en détail

Synchronisation entre processus

Synchronisation entre processus Synchronisation entre processus Dominique Bouillet et Michel Simatic module CSC4508/M2 Avril 2012 Synchronisation entre processus Plan du document 1 Introduction....................................................................

Plus en détail

Synchronisation et communication entre processus

Synchronisation et communication entre processus Synchronisation et communication entre processus Schémas classiques de synchronisation 1 INTRODUCTION Système multiprocessus L'ordonnancement "entrelace" les exécutions P1 P2 P3 Processus non indépendants

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

Algorithmique distribuée. Exclusion mutuelle

Algorithmique distribuée. Exclusion mutuelle Algorithmique distribuée Exclusion mutuelle Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion

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

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

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

EXAMEN DU 19 SEPTEMBRE 2000

EXAMEN DU 19 SEPTEMBRE 2000 SYSTÈMES ET RÉSEAUX INFORMATIQUES COURS B4 : HTO(19339) et ICPJ(21937) CYCLE PROBATOIRE INFORMATIQUE (Conception et développement informatique) EXAMEN DU 19 SEPTEMBRE 2000 partie portant sur l'enseignement

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

Soit l ensemble de processus suivant, où les contraintes de précédence sont données par le graphe ci-dessous :

Soit l ensemble de processus suivant, où les contraintes de précédence sont données par le graphe ci-dessous : O r s a y Travaux Dirigés n o 3 : Sémaphores DUT Informatique 2010 / 2011 Objectifs : comprendre le concept de sémaphore, son utilité pour réaliser l exclusion mutuelle et savoir utiliser son implémentation

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

Introduction à l'algorithmique Distribuée. Exclusion mutuelle

Introduction à l'algorithmique Distribuée. Exclusion mutuelle Introduction à l'algorithmique Distribuée Exclusion mutuelle Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion mutuelle distribuée Exclusion

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

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

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

Cours #2 Synchronisation dans un OS multitâches

Cours #2 Synchronisation dans un OS multitâches ELE- Ordinateurs et programmation système Cours #2 Synchronisation dans un OS multitâches Bruno De Kelper Site internet : http://www.ele.etsmtl.ca/academique/ele/ Cours # 2 ELE - Ordinateurs et programmation

Plus en détail

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

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

Principe général : rendez-vous. Synchronisation. Mécanismes de synchronisation. Synchronisation par événements

Principe général : rendez-vous. Synchronisation. Mécanismes de synchronisation. Synchronisation par événements Principe général : rendez-vous Synchronisation Une tâche doit pouvoir : activer une autre tâche ; se bloquer (attendre) ou éventuellement bloquer une autre tâche ; débloquer une ou même plusieurs tâches.

Plus en détail

Communications et synchronisations. Système L3, 2014-2015 1/21

Communications et synchronisations. Système L3, 2014-2015 1/21 Communications et synchronisations Système L3, 2014-2015 1/21 Le problème des philosophes (Dijkstra 1965) Cinq philosophes sont assis autour d une table ronde Chaque philosophe a devant lui un plat de

Plus en détail

Cas d étude uc/os-ii + Altera

Cas d étude uc/os-ii + Altera Cas d étude uc/os-ii + Altera Plan I. Présentation de la plateforme de développement III. Architecture d un RTOS : cas de uc/os-ii V. Architecture cible : la carte Stratix d Altera Structure des TPs TP_1

Plus en détail

Communications et synchronisations

Communications et synchronisations Communications et synchronisations Polytech Paris-Sud Cycle ingénieur de la filière étudiant Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.fr année 2012/2013 Le problème des philosophes (Dijkstra

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

Cours A7 : Temps Réel

Cours A7 : Temps Réel Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : Partage des ressources, L exclusion mutuelle, Synchronisation. Comprendre les

Plus en détail

EX4C Systèmes d exploitation. Séance 6 Synchronisation

EX4C Systèmes d exploitation. Séance 6 Synchronisation EX4C Systèmes d exploitation Séance 6 Synchronisation Sébastien Combéfis vendredi 21 novembre 2014 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution Pas d

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

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

Processus non indépendants : accès concurrents aux ressources

Processus non indépendants : accès concurrents aux ressources Agenda Synchronisation et communication entre processus Schémas classiques de synchronisation 1 Introduction Système multiprocessus L'ordonnancement "entrelace" les exécutions P1 P2 P3 F Processus non

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

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

Synchronisation des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA

Synchronisation des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA 1/16 Synchronisation des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/16 Table des matières 1 2 Synchronisation matérielle 3 Synchronisation logicielle 4 classiques 4/16 Nécessité

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

JAVA - Compléments du cours 9

JAVA - Compléments du cours 9 JAVA - Compléments du cours 9 Nicolas Baudru Année 2008-2009 Exercice 1 (Création de threads) En Java, il existe deux méthodes pour créer des threads. La première étend la classe Thread : class MonThread

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

Modélisation des systèmes avec NuSMV. LACL, Université Paris-Est Créteil

Modélisation des systèmes avec NuSMV. LACL, Université Paris-Est Créteil Modélisation des systèmes avec NuSMV Cătălin Dima LACL, Université Paris-Est Créteil Éléments clés à prendre en compte en modélisation Existence des processus/modules/fonctions indépendent(e)s : Processus

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud Mai 2012 Yann Thoma (HES-SO / HEIG-VD

Plus en détail

École Polytechnique de Montréal. Département de Génie Informatique. Cours INF3600 : Systèmes d exploitation. Contrôle périodique Automne 2001

École Polytechnique de Montréal. Département de Génie Informatique. Cours INF3600 : Systèmes d exploitation. Contrôle périodique Automne 2001 École Polytechnique de Montréal Département de Génie Informatique Cours INF3600 : Systèmes d exploitation Contrôle périodique Automne 2001 Date : 1 er novembre 2001 de 18h à 20h Professeurs : Kerly Titus,

Plus en détail

PROCESSUS ET RESSOURCES

PROCESSUS ET RESSOURCES Chapitre 5 PROCESSUS ET RESSOURCES 1. GENERALITES Un processus à exécuter a besoin de ressources : procédures et données, mémoire, processeur (UC, et d'autres éventuellement), périphériques, fichiers,...

Plus en détail

1 Entête des fonctions

1 Entête des fonctions Le lecteur rédacteur est un problème de synchronisation qui suppose que l on peut accéder aux données partagées de 2 manières : en lecture, c est a dire sans possibilité de modification; en écriture. Il

Plus en détail

Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN

Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN PASSAGE DE TÉMOIN coopération par division du travail entre les processus 4) Rendez-vous à 2, symétrique, avec ou non une écriture ou un envoi de message (avec acquittement) Rendez-vous multiple : m processus

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

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Plan. Synchronisation des processus

Plan. Synchronisation des processus Plan Synchronisation des processus N. Hameurlain Spécification du problème par un exemple; Synchro à l aide d événements; Synchro à l aide des sémaphores; Synchro par les données : la boîte aux lettres;

Plus en détail

Gestion du processeur central

Gestion du processeur central Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement

Plus en détail

Les tâches et la synchronisation en langage Java

Les tâches et la synchronisation en langage Java Les tâches et la synchronisation en langage Java Les threads, les verrous, les sémaphores et les moniteurs en Java D après les cours de D. Genthial et B. Caylux Langage Java Threads et synchronisation

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

GESTION DES PROCESSUS

GESTION DES PROCESSUS CHAPITRE 2 : GESTION DES PROCESSUS Objectifs spécifiques Connaître la notion de processus, Connaître les caractéristiques d un processus ainsi que son contexte Connaître la notion d interruptions et de

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

Samia Bouzefrane. Maître de Conférences CEDRIC CNAM. samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra

Samia Bouzefrane. Maître de Conférences CEDRIC CNAM. samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra La La communication et et la la synchronisation inter-tâches Samia Bouzefrane Maître de Conférences CEDRIC CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra 1 Sommaire Introduction aux problèmes

Plus en détail

Programmation Multithread

Programmation Multithread Programmation Multithread Partie 3 Professeur : Bruno De Kelper Département Génie Électrique Synchronisation Les Threads partagent les ressources Besoin de synchroniser pour: - Garder la cohérence des

Plus en détail

TP/TD 5 : Section critique et Interblocage. Compare and Swap - Lock-free

TP/TD 5 : Section critique et Interblocage. Compare and Swap - Lock-free ASR2 - L3 Informatique - ENS Lyon Année 2014-2015 TP/TD 5 : Section critique et Interblocage R. Carpa, A. Cavelan et A.Lefray Compare and Swap - Lock-free Soit une implémentation de pile avec une liste

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Exclusion mutuelle par attente active Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud

Plus en détail

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Copyright 2010 tv Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published

Plus en détail

ACCOV 2001-2002. Système avec des processus concurrents

ACCOV 2001-2002. Système avec des processus concurrents projet ACCOV 2001-2002 ACCOV 2001-2002. Système avec des processus concurrents procedure Main is type TabDoc is array(1..6) of Document; -- contrôle l'attribution d'un nom unique package ProcId is procedure

Plus en détail

Interblocages. Chapitre 7. 7.1 Les processus et les ressources

Interblocages. Chapitre 7. 7.1 Les processus et les ressources Chapitre 7 Interblocages 7.1 Les processus et les ressources L exécution d un processus nécessite un ensemble de ressources (mémoire principale, disques, fichiers, périphériques, etc.) qui lui sont attribuées

Plus en détail

Electronique embarquée Le noyau temps réel µ C OS-II

Electronique embarquée Le noyau temps réel µ C OS-II Electronique embarquée Le noyau temps réel µ C OS-II Richard Grisel Professeur des Universités Université de Rouen Conception des systèmes temps réel Le noyau temps réel µcos Les figures sont extraites

Plus en détail

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

Programmation système : sémaphores

Programmation système : sémaphores Programmation système : sémaphores Un sémaphore permet de protéger une variable (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

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

Contrôle de flux: Définition

Contrôle de flux: Définition : Définition Luc Trudeau Département de génie logiciel et des technologies de l information L ÉTS est une constituante du réseau de l'université du Québec Montréal, Québec, Canada Objectifs d apprentissage

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

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

J0MS7301 : Algorithmique et Programmation Objet. Feuille d'exercices 2. Structures

J0MS7301 : Algorithmique et Programmation Objet. Feuille d'exercices 2. Structures Master MIMSE - Spécialité 3-1ère Année J0MS7301 : Algorithmique et Programmation Objet Feuille d'exercices 2 Structures Exercice 1 : Ecrire un programme qui : dénit une structure horaire au format heures,

Plus en détail

SCHEDULING. 1.1 Simultanéité, ressources On appelle simultanéité l'activation de plusieurs processus au même moment.

SCHEDULING. 1.1 Simultanéité, ressources On appelle simultanéité l'activation de plusieurs processus au même moment. Chapitre SCHEDULING. ASPECTS GENERAUX DES PROCESSUS Un processus est un programme qui s'exécute, ainsi que ses données, sa pile, son compteur ordinal, son pointeur de pile et les autres contenus de registres

Plus en détail

Dynamic Host Configuration Protocol. F. Nolot

Dynamic Host Configuration Protocol. F. Nolot Dynamic Host Configuration Protocol F. Nolot 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives

Plus en détail

Programmation Multi-Threading en Java

Programmation Multi-Threading en Java Programmation Multi-Threading en Java Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {prénom.nom}@univ-st-etienne.fr FI2_INFO4 2012 2013 1 / 35 Plan

Plus en détail

1 Questions de cours (4,5 points) 2 Multiplication avec des PRAM (4 points)

1 Questions de cours (4,5 points) 2 Multiplication avec des PRAM (4 points) Université de Provence MASTER INFORMATIQUE Programmation Parallèle et Distribuée 2010-2011 Programmation Parallèle et Distribuée Partiel jeudi 10 mars 2011 2h00 Aucun document autorisé. Les réponses doivent

Plus en détail

FreeRTOS ELECINF344. Samuel TARDIEU <sam@rfc1149.net> Mars 2015

FreeRTOS ELECINF344. Samuel TARDIEU <sam@rfc1149.net> Mars 2015 FreeRTOS ELECINF344 Samuel TARDIEU Mars 2015 FreeRTOS : configuration La configuration de FreeRTOS se fait dans un fichier FreeRTOSConfig.h, et définit notamment : les fonctionalités

Plus en détail

CH4 : Programmation Concurrente

CH4 : Programmation Concurrente CH4 : Programmation Concurrente La concurrence dans les L.P et le parallélisme au niveau Matériel sont deux concepts indépendants : Les opérations Matérielles se produisent en parallèle si elles se superposent

Plus en détail

Chapitre IV : La gestion du processeur Mécanismes d ordonnancement

Chapitre IV : La gestion du processeur Mécanismes d ordonnancement Chapitre IV : La gestion du processeur Mécanismes d ordonnancement Eric.Leclercq@u-bourgogne.fr Département IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq 1 er mars 2007

Plus en détail

Programmation Concurrente, Réactive et Répartie

Programmation Concurrente, Réactive et Répartie Programmation Concurrente, Réactive et Répartie Cours N 3 Emmanuel Chailloux Master d Informatique Université Pierre et Marie Curie année 2012-2013 Cours 3 - Programmation Concurrente, Réactive et Répartie

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Dynamic Host Configuration Protocol

Dynamic Host Configuration Protocol Dynamic Host Configuration Protocol 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives

Plus en détail

Série n 1 / Solutions

Série n 1 / Solutions Série n 1 / Solutions Exercice n 1 - les deux processus partagent une variable booléenne interesse qui sera vraie si le processus est en section critique ou demande à y rentrer, et fausse sinon, /* contexte

Plus en détail

Systèmes d exploitation Gestion des processus

Systèmes d exploitation Gestion des processus Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000 Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus

Plus en détail

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

Chapitre 3. Exclusion mutuelle répartie

Chapitre 3. Exclusion mutuelle répartie Chapitre 3 Exclusion mutuelle répartie Chap 3 Exclusion mutuelle répartie Pas de mémoire commune => échanges de messages Protocole exempt d interbolcage et équitable => un processus désireux de pénétrer

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Algorithmique Distribuée Exclusion mutuelle distribuée

Algorithmique Distribuée Exclusion mutuelle distribuée Algorithmique Distribuée Exclusion mutuelle distribuée Laurent PHILIPPE Master 2 Informatique UFR des Sciences et Techniques 2013/2014 Laurent PHILIPPE Chapitre 2: Exclusion mutuelle distribuée 1 / 68

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Fin 40 : Organisation en porte ouverte. Avantage : Chaque utilisateur a la machine pour lui tout seul.

Fin 40 : Organisation en porte ouverte. Avantage : Chaque utilisateur a la machine pour lui tout seul. 4 5 Chapitre 1 : Présentation générale Notion de Système Informatique Définition fonctionnelle : Machine de traitement de l information qui assure Notion de Système Informatique Les fonctions d un système

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

Examen Corrigé NFP137 : Systèmes et applications concurrentes

Examen Corrigé NFP137 : Systèmes et applications concurrentes CONSERVATOIRE NATIONAL DES ARTS et METIERS Centre de Paris Examen Corrigé NFP137 : Systèmes et applications concurrentes 3 juillet 2007 Exercice 1 : Gestion des ressources : L algorithme du banquier. Lorsqu

Plus en détail

Systèmes temps réels. Fabien Calcado, Matthieu Lemerre CEA, LIST. Email: prénom.nom@cea.fr. Contenu du cours. Généralités. Plan du cours.

Systèmes temps réels. Fabien Calcado, Matthieu Lemerre CEA, LIST. Email: prénom.nom@cea.fr. Contenu du cours. Généralités. Plan du cours. Contenu du cours Systèmes temps réels Fabien Calcado, Matthieu Lemerre CEA, LIST Email: prénom.nom@cea.fr Cours introduction EFREI 2012 1 Cours 1: Qu est ce que le temps réel? Cours 2: Parallélisme, communication

Plus en détail

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire.

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire. Obert Hervé Stumpf Mathieu Licence 3 RIA Réseaux & Protocoles Client pair-à-pair Projet L3 RIA 2005-2006 Sommaire Page 1 sur 10 Introduction - Présentation du projet 3 Fonctionnement coté graine 4 Fonctionnement

Plus en détail

Synchronisation de Processus. Chapitre 5

Synchronisation de Processus. Chapitre 5 Synchronisation de Processus Chapitre 5 1 Synchronisation de Processus 1. Conditions de Concurrence 2. Sections Critiques 3. Exclusion Mutuelle 4. Sommeil & Activation 5. Sémaphores 6. Mutex 2 Concurrence

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail