Linux Principes et Programmation

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Linux Principes et Programmation"

Transcription

1 Linux Principes et Programmation 4. Synchronisation entre processus Interblocage CNAM NSY /2010 Yann GAUTHERON Extraits : LINUX Programmation système et réseau (Joëlle DELACROIX)

2 Les schémas de synchronisation L'exclusion mutuelle Le schéma de l'allocation de ressources Le schéma lecteur-rédacteur Le schéma producteurs-consommateurs Sémaphores Sous Linux Mutex Sous linux Interblocage Différentes politiques

3 Notions de base Système multiprocessus communicants = accès concurrent aux ressources (mémoire, outils de communication...) Une ressource = toute entité dont a besoin un processus pour l'exécuter Matérielle (processeur, périphérique...) Logicielle (fichier) État de ressource Libre ou occupée Nombre de points d'accès Ressource critique = ne peut être utilisée que par un seul processus à la fois Utilisation de ressource Allocation Utilisation Restitution

4 L'exclusion mutuelle Exemple simple : 1. Réservation() { 2. if (nbplace > 0) { 3. // Réserver une place 4. nbplace = nbplace 1; 5. } 6. } Le programme Réservation() peut s'exécuter de manière concurrente Sans précaution, la variable nbplace peut atteindre une valeur inférieure à 0 P1 exécute le test de la ligne 2, trouve 1>0, puis est préempté par P2. P2 démarre, exécute la ligne 2, trouve également 1>0, décrémente nbplace puis se termine. P1 reprend ligne 3, décrémente nbplace puis se termine. nbplace=-1!

5 L'exclusion mutuelle

6 L'exclusion mutuelle

7 L'exclusion mutuelle Ressource critique La variable nbplace doit être accédée par un seul processus à la fois nbplace est donc une ressource critique Ainsi P2 trouverait la valeur à 0 et ne décrémenterait pas la variable! Section critique Propriété d'exclusion mutuelle Garantie que la ressource n'est utilisée qu'une 1 fois simultanément Propriété d'attente bornée Propriété du bon déroulement

8 L'exclusion mutuelle

9 L'exclusion mutuelle Réalisation «matérielle» d'une section critique Par masquage/démasquage 1. Réservation() { 2. disable_interrupt; // prélude de section critique 3. if (nbplace > 0) { 4. // Réserver une place 5. nbplace = nbplace 1; 6. } 7. enable_interrupt; // postlude de section critique 8. } Cette solution empêche l'exécution de tous les processus (même ceux qui ne veulent pas nbplace) Cette méthode de masquage et démasquage est réservée à l'os pour les parties sensibles (et non au mode utilisateur)

10 L'exclusion mutuelle Réalisation «matérielle» d'une section critique Test and set : instruction matérielle atomique 1. #define VRAI 1 2. #define FAUX 0 3. while TS(cadenas); // prélude de section critique 4. // section critique 5. cadenas = FAUX // postlude de section critique 6. int function TS(int *verrou) { 7. disable_interrupt; 8. int test = *verrou; 9. *verrou = VRAI; 10. return test; 11. enable_interrupt; 12.} Cette solution ne garantit pas l'équité d'accès à la section critique

11 L'exclusion mutuelle Réalisation «matérielle» d'une section critique Swap : seconde instruction atomique qui inverse les valeurs de 2 variables 1. #define VRAI 1 2. #define FAUX 0 3. cle = VRAI; // prélude de section critique 4. while (cle == VRAI) 5. swap(verrou,cle); 4. // section critique 5. verrou = FAUX // postlude de section critique

12 L'exclusion mutuelle Réalisation entièrement logicielle d'une section critique

13 L'exclusion mutuelle Réalisation entièrement logicielle d'une section critique Algorithme de Peterson Exclusion entre deux processus i et j, structure de i : 1. while { // prélude 2. drapeau[i]=vrai; tour=j; 3. while (drapeau[j] && tour==i) 4. // section critique 5. drapeau[i]=faux // postlude 6. } Exclusion mutuelle : un seul entrera en SC Attente bornée : impossible d'entrer deux fois de suite en SC Bon déroulement : même si arrivée simultanée, l'un peut toujours passer en SC

14 L'exclusion mutuelle L'outil Sémaphore

15 L'exclusion mutuelle L'outil Sémaphore Outil système File d'attente L + compteur K (niveau) «Distributeur de jetons» contenant val jetons initialement Obtention d'un jeton donne le droit d'accès à la SC, sinon mise en attente 3 opérations atomiques : P(sem)uis-je?, V(sem)as-y!, Init(sem,val) Initialisation du Sémaphore : 1. function Init(semaphore sem, int val) { 2. disable_interrupt; 3. sem.k = val; 4. sem.l = NULL; 5. enable_interrupt; 6. }

16 L'exclusion mutuelle L'outil Sémaphore Attribution de jeton (Puis-je?) 1. function P(semaphore sem) { 2. disable_interrupt; 3. sem.k = sem.k - 1; 4. if (sem.k < 0) { 5. L.suivant = processus_courant; 6. processus_courant.state= bloque; 7. reordonnancement = vrai; 8. } 9. enable_interrupt; 10. }

17 L'exclusion mutuelle L'outil Sémaphore Rendre un jeton, et peut-être réveiller un autre processus (Vas-y!) 1. function V(semaphore sem) { 2. disable_interrupt; 3. sem.k = sem.k + 1; 4. if (sem.k <= 0) { // 1 process dans la file 5. processus_reveille= L.tete; 6. processus_reveille.state = prêt; 7. reordonnancement = vrai; 8. } 9. enable_interrupt; 10. }

18 L'exclusion mutuelle L'outil Sémaphore Signification du compteur K K >= 0 : K = nombre d'opérations P() encore passantes K < 0 : K = nombre de processus dans la file d'attente L Exemple d'utilisation : 1. Init(Mutex, 1); 2. Reservation { 3. P(Mutex); // prélude 4. if (nbplace > 0) // section critique 5. nbplace = nbplace - 1; 6. V(Mutex); // postlude 7. }

19 L'exclusion mutuelle L'outil Sémaphore

20 L'exclusion mutuelle L'outil Sémaphore

21 Schéma d'allocation de ressources Exemple : Sémaphores utilisés pour représenter et compter des exemplaires de ressources Schéma lecteurs-rédacteurs Exemple : Fichiers accédés simultanément en lecture et en écriture. Les lecteurs sont les processus qui lisent, les rédacteurs sont ceux qui y écrivent. Deux objectifs : protéger les zones d'accès concurrents, toujours conserver un état stable (ne pas lire ce qui est en cours d'écriture), il faut donc : Soit une seule écriture en cours ; Soit une ou plusieurs lectures en cours. Il peut surgir des problèmes de coalition Sous Linux, les outils sont : int flock(int fd, int operation); int lockf(int fd, int operation, off_t taille);

22 Schéma producteurs-consommateurs Principe : Un processus crée des messages, et les dépose dans une file composée de 0 à n cases, puis revient à la case 0. Un processus lit les n cases puis revient à la case 0. Règles : Ne pas produire si tampon plein Ne pas consommer si tampon vide Ne pas produire et consommer dans une même case en même temps Solution : Symboliser deux ressources «case vide» et «case pleine» : Producteur : consomme case vide, produit case pleine Consommateur : consomme case pleine, produit case vide Traiter le problème comme une allocation de ressources Sous Linux : Illustré par les MSQ, et les Tubes

23 Sémaphores sous Linux IPC : Un ensemble de sémaphore est identifié par une clé P, V et ATT (Attente qu'une valeur soit nulle) s'effectuent atomiquement sur un tableau de sémaphores. L'ensemble des opérations est réalisé avant que le processus puisse poursuivre son exécution. 1. struct semaphore { 2. atomic_t count; // compteur du sémaphore 3. int sleepers; // nombre de processus endormis 4. wait_queue_head_t wait; // file de ces processus 5. }

24 Sémaphores sous Linux Création et recherche int semget(key_t cle, int nsems, int semflg) Semflg : constantes IPC_EXCL, IPC_CREAT, 0 Opérations : int semop(int semid, struct sembuf *sops, unsigned nsops) 1. struct sembuf { 2. unsigned short sem_num; // numero 3. short sem_op; // opération à réaliser 4. short sem_flg; // options 5. }

25 Sémaphores sous Linux Contrôle : int semctl(int semid, int semnum, int cmd, union semun arg) semctl(semid, 0, SETVAL, 3); initialisation à la valeur 3 du sémaphore 0 dans l'ensemble désigné par l'identifiant semid. Destruction : semctl(intsemid, 0, IPC_RMID, 0);

26 #include <stdio.h> #include <pthread.h> #include <sys/ipc.h> #include <sys/sem.h> int i, nb_place; int semid; struct sembuf operation; void reservation(){ operation.sem_num = 0; operation.sem_op = -1; operation.sem_flg = 0; semop(semid, &operation, 1); /* opération P */ nb_place= nb_place-1; /* section critique */ operation.sem_num = 0; operation.sem_op = 1; operation.sem_flg = 0; semop(semid, &operation, 1); /* opération V */ } main(){ pthread_t num_thread[3]; semid = semget(12, 1, IPC_CREAT IPC_EXCL 0600);// création semctl(semid, 0, SETVAL, 1);// Init à valeur 1 for(i=0; i<3; i++) pthread_create(&num_thread[i],null,(void *(*)())reservation,null); pthread_join(num_thread, NULL); semctl(semid, 0, IPC_RMID, 0); }

27 Mutex Outil de synchronisation de type pthread_mutex_t servant de verrou Protection de zones de codes ou de données particulières Deux états : disponible ou verrouillé Accessible uniquement par un thread à la fois Initialisation : int pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER; Verrouillage : int pthread_mutex_lock(pthread_mutex_t *mut); int pthread_mutex_trylock(pthread_mutex_t *mut); Libération : int pthread_mutex_unlock(pthread_mutex_t *mut); Destruction : int pthread_mutex_destroy(pthread_mutex_t *mut);

28 Interblocage

29 Interblocage Ensemble de n processus attendant chacun une ressource déjà possédée par un autre processus de l'ensemble : Aucun processus ne peut poursuivre son exécution Attente infinie

30 Coalition n processus monopolisant les ressources au détriment de p autres : Famine Attente finie mais indéfinie

31 Interblocage Exemple : Client : Attente de l'ouverture en lecture du tube 1 1. tub1 = open ("tube1", O_WRONLY); // écriture 2. tub2 = open ("tube2", O_RDONLY); // lecture Serveur : Attente de l'ouverture en lecture du tube 2 1. tub2 = open ("tube2", O_WRONLY); // écriture 2. tub1 = open ("tube1", O_RDONLY); // lecture

32 Interblocage 4 conditions simultanées nécessaires : Exclusion mutuelle Au moins 1 ressource en situation non partageable Occupation & Attente Un processus au moins attend une ressource bloquée ailleurs Pas de réquisition Impossibilité de préemption Attente circulaire Cycle d'attente, ces processus sont en interblocage

33 Attente circulaire

34 Politiques de traitement de l'interblocage Guérison Le permettre mais le corriger Prévention ou évitement Ne pas le permettre Autruche Ignorer le problème

35 Politique de guérison Le système maintient un graphe représentant l'allocation des ressources et les attentes des processus Régulièrement, le système parcourt le graphe à la recherche de cycles Si un cycle est découvert, celui-ci est cassé en avortant les processus en interblocage appartenant au cycle Cette politique est coûteuse

36 Politique de prévention Rendre impossible au moins l'une des conditions nécessaires : Exclusion mutuelle : difficile Occupation et attente : demander les ressources en une seule fois Pas de réquisition : difficile Attente circulaire : ordre total sur l'ordre de demandes de ressources

37 Politique de prévention Occupation et attente : demander les ressources en une seule fois Mauvaise utilisation des ressources

38 Politique de prévention Attente circulaire : ordre total sur l'ordre de demandes de ressources Unité de bandes avant le disque et avant l'imprimante

39 Politique d'évitement Examen dynamique de l'état des ressources pour éviter l'attente circulaire A chaque demande d'allocation, le système détermine si accepter conservera le système sain Allocation peut être refusée Vision pessimiste

40 Politique d'évitement Cas 1 12 exemplaires de ressources au total Le nombre de ressources disponibles est égal à 3. La séquence d exécution < P2, P1, P3 > est saine: satisfaction de P2, ressources disponibles = 1; restitution des ressources par P2, ressources disponibles = 5; satisfaction de P1, ressources disponibles = 0; restitution des ressources par P1, ressources disponibles = 10; satisfaction de P3, ressources disponibles = 3; restitution des ressources par P3, ressources disponibles = 12.

41 Politique d'évitement Cas 2 12 exemplaires de ressources au total Le nombre de ressources disponibles est égal à 2 L'état devient malsain et aucune séquence d'exécution incluant les trois processus ne peut être construite. Ici, seul P2 peut être satisfait : satisfaction de P2, ressources disponibles = 0; restitution des ressources par P2, ressources disponibles = 4. Maintenant, ni P3, ni P1 ne peuvent être satisfaits.

42 Politique de l'autruche Prétendre que les interblocages ne se produisent jamais et ne rien prévoir Un interblocage peut se produire et n'est pas détecté Détérioration des performances jusqu'à arrêt complet du système Redémarrage manuel du système

43 Politique de l'autruche Justification de ce choix Fréquence de l'interblocage

44 Le noyau Linux Le noyau dispose de 3 méthodes pour s'assurer de la cohérence de ses structures : Le noyau est non préemptible Le noyau peut masquer les interruptions Le noyau dispose de sémaphores Interblocage : Le noyau impose un ordre total sur les demandes d'allocations de ressources : Requêtes émises selon l'ordre croissant des adresses en mémoire centrale

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

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

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

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

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

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

Projet du cours d ARCHITECTURE Gestion distribué d un parking

Projet du cours d ARCHITECTURE Gestion distribué d un parking Projet du cours d ARCHITECTURE Gestion distribué d un parking 3 GI, INSA de Lyon Janvier 2004 1 Objectifs du projet Ce projet a pour but d apprendre à manipuler une application multitâche où les différentes

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

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

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

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

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

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

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

Plan de la séance. Notion de section critique. Solution logiciel (fausse puis vrai) : utilisation d un verrou

Plan de la séance. Notion de section critique. Solution logiciel (fausse puis vrai) : utilisation d un verrou 1 Plan de la séance Notion de section critique Solution logiciel (fausse puis vrai) : utilisation d un verrou Problème classique : philosophes chinois, producteur consommateur, etc. Définition et utilisation

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

Synchronisation de. processus B. Solutions partielles. Philosophes chinois Producteur consommateur. Solution aux. Producteur consommateur

Synchronisation de. processus B. Solutions partielles. Philosophes chinois Producteur consommateur. Solution aux. Producteur consommateur Effet de l ordonnancement Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Semestre 6 2012-2013 Le segment de code d un est constitué de plusieurs instructions.

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

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

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

Introduction aux systèmes d exploitation Partie 3 : Les processus Exclusion mutuelle

Introduction aux systèmes d exploitation Partie 3 : Les processus Exclusion mutuelle Introduction aux systèmes d exploitation Partie 3 : Les processus Exclusion mutuelle Jalil BOUKHOBZA UBO / Lab-STICC Email : boukhobza@univ-brest.fr Partie 3: exclusion mutuelle 1 Partie 3 : Les processus

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

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

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

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

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

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

Systèmes d'exploitation. Pierre Antoine Champin IUT A de Lyon Séance 4

Systèmes d'exploitation. Pierre Antoine Champin IUT A de Lyon Séance 4 Systèmes d'exploitation Pierre Antoine Champin IUT A de Lyon Séance 4 Plan de la séance 1. Concurrence 2. Problématique liée à la concurrence section critique mécanisme d'exclusion mutuelle 3. Solutions

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 à 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

Processus et gestion de processus

Processus et gestion de processus Processus et gestion de processus et gestion de processus Processus Définition Modélisation Descripteur État Création Destruction Allocation de ressources UNIX Processus UNIX - Modèle Création Terminaison

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

Cours Systemes d exploitation

Cours Systemes d exploitation Université de Kairouan Institut Supérieur des Siences Appliquées et de Technologie Cours Conçu Spécialement Aux Etudiants: De Master Pilotage et Réseaux Industriels Cours Systemes d exploitation Noureddine

Plus en détail

Unix - e2i5 - Synchronisation des processsus : sémaphores et variables d'exclusion mutuelle

Unix - e2i5 - Synchronisation des processsus : sémaphores et variables d'exclusion mutuelle Unix - e2i5 - Synchronisation des processsus : sémaphores et variables d'exclusion mutuelle Laurent Bobelin Polytech 2012 L.Bobelin (MESCAL) 2012 1 / 27 1 Rappels Processus IPC 2 Synchronisation entre

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

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

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

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

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

Programmation en temps partagé - communication entre processus

Programmation en temps partagé - communication entre processus LinuxFocus article number 281 http://linuxfocus.org Programmation en temps partagé - communication entre processus par Leonardo Giordani L auteur: Etudiant ingénieur en télécommunications

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

Les processus légers : threads

Les processus légers : threads Les processus légers : threads 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 Les threads Les threads sont des processus

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

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

Année 2012-2013 Licence 2 TD 6. Synchronisation et Sémaphores

Année 2012-2013 Licence 2 TD 6. Synchronisation et Sémaphores Institut Galilée Systèmes d exploitation et Réseaux Année 2012-2013 Licence 2 TD 6 Synchronisation et Sémaphores 1 Synchronisation : le coiffeur Une illustration classique du problème de la synchronisation

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

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

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique. École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation

Plus en détail

Cours de S.E. Coopération, exclusion mutuelle, synchronisation des processus

Cours de S.E. Coopération, exclusion mutuelle, synchronisation des processus Cours de S.E. Coopération, exclusion mutuelle, synchronisation des processus A. B. Dragut Univ. Aix-Marseille, IUT Aix en Provence A. B. Dragut Cours de S.E. Coopération, exclusion mutuelle, synchronisation

Plus en détail

Vous pouvez vous aider du programme suivant :

Vous pouvez vous aider du programme suivant : TP MULTITÂCHE DÉCOUVERTE DES MUTEX ET DES SEMAPHORES Exercice 1 Exclusion mutuelle : Mutex Ecrire un programme qui permet à 5 threads d'écrire un message complet à l'écran (par exemple "Message du thread

Plus en détail

Synchronisation entre processus

Synchronisation entre processus Synchronisation entre processus Processus utilisateur (espace protégé) Synchronisation Communication pilote Système d exploitation Outils : verrou, file de messages, etc 1 INTRODUCTION Nous nous intéressons

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

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

ELE-542 Systèmes ordinés en temps réels. Cours # 10 Contrôle d accès et synchronisation 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: http://www.ele.etsmtl.ca/academique/ele542/ Systèmes ordinés

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

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

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

Synchronisation et communication entre processus

Synchronisation et communication entre processus 13 Synchronisation et communication entre processus Nous avons déjà dit que, si les processus étaient des entités autonomes et indépendantes, ils pouvaient se trouver en conflit pour l'accès à certaines

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

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

(Archi-2) d Exploitation. Sémaphores. Lecture Architecture des Systèmes d Exploitation

(Archi-2) d Exploitation. Sémaphores. Lecture Architecture des Systèmes d Exploitation (Archi-2) Sémaphores Lecture 2007-2008 Institut Universitaire de Technologie de Montpellier (Archi-2).1 Les objectifs du cours sont : Comprendre les problèmes engendrés par la concurrence Comprendre le

Plus en détail

SYSTÈMES D EXPLOITATION 1 ère année. M. FONDA ENSI de Bourges

SYSTÈMES D EXPLOITATION 1 ère année. M. FONDA ENSI de Bourges SYSTÈMES D EXPLOITATION 1 ère année M. FONDA ENSI de Bourges 1 Cas 1 : Une tâche A est en attente de l information provenant d une tâche B Cas 2 : A positionne une valeur en vue de son exploitation ultérieure,

Plus en détail

ARCHITECTURES MATÉRIELLES SYSTÈMES INFORMATIQUES

ARCHITECTURES MATÉRIELLES SYSTÈMES INFORMATIQUES CENTRALISÉE RÉPARTIE mémoire locale mémoire locale mémoire locale mémoire locale mémoire locale mémoire locale processeur processeur processeur processeur processeur processeur instructions messages MÉMOIRE

Plus en détail

Plan. Concurrence, l exclusion mutuelle. Exemple : le spool d impression. Les race conditions : exemples Exclusion mutuelle par attente active

Plan. Concurrence, l exclusion mutuelle. Exemple : le spool d impression. Les race conditions : exemples Exclusion mutuelle par attente active Plan Concurrence, l exclusion mutuelle Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 13 décembre 2005 1 Les

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

Les Systèmes d Exploitation

Les Systèmes d Exploitation Les Systèmes d Exploitation Comment Comment Comment Comment ça a marche marche marche marche???? RTX M. DALMAU - IUT de Bayonne - Les systèmes d'exploitation 1 Les Systèmes d Exploitation 1. Introduction

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

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

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

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

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

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

Introduction à la programmation concurrente

Introduction à la programmation concurrente à la programmation concurrente et sémaphores 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 a Creative

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

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

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

Résumé du chapitre 8 Ressources et interblocage

Résumé du chapitre 8 Ressources et interblocage Résumé du chapitre 8 Ressources et interblocage Jacques Mossière 12 août 2004 1 Introduction Ce chapitre est consacré à l étude d un problème classique dans les systèmes, l interblocage, c est à dire l

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

Exercices de programmation concurrente (PCO) semestre printemps 2014-2015. Exclusion mutuelle, synchronisation, coordination

Exercices de programmation concurrente (PCO) semestre printemps 2014-2015. Exclusion mutuelle, synchronisation, coordination Prof. Yann Thoma Exercices de programmation concurrente (PCO) semestre printemps 2014-2015 Exclusion mutuelle, synchronisation, coordination Question 1: Exclusion mutuelle Soit les deux tâches T 0 et T

Plus en détail

LINUX processus et outils de communication. NSY103 J. Delacroix 1

LINUX processus et outils de communication. NSY103 J. Delacroix 1 LINUX processus et outils de communication NSY103 J. Delacroix 1 Processus Processus LINUX NSY103 J. Delacroix 2 Caractéristiques Générales Un processus Unix/Linux est identifié par un numéro unique, le

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

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

Les sémaphores et leur implémentation

Les sémaphores et leur implémentation Rappel :Le concept de sémaphore Un sémaphore est une variable entière partagée. Sa valeur est positive ou nulle et elle est uniquement manipulable à l aide de deux opérations wait(s) et signal(s), où s

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

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

CEG4566/CSI4541 Conception de systèmes temps réel. Chapitre 8 - Communication et synchronisation dans les systèmes temps réel

CEG4566/CSI4541 Conception de systèmes temps réel. Chapitre 8 - Communication et synchronisation dans les systèmes temps réel CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 8 - Communication et synchronisation dans les systèmes temps réel Sommaire 8.1 Objets partagés et exclusion mutuelle 8.2 Moniteurs et synchronisation

Plus en détail

Les sémaphores et leur implémentation

Les sémaphores et leur implémentation Les sémaphores et leur implémentation 1 Rappel :Le concept de sémaphore Un sémaphore est une variable entière partagée. Sa valeur est positive ou nulle et elle est uniquement manipulable à l aide de deux

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

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

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

INTRODUCTION À LA PROGRAMMATION CONCURRENTE

INTRODUCTION À LA PROGRAMMATION CONCURRENTE INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente

Plus en détail

Examen 30 mai 2013. Vol de tâche. Système ENS L3 Info. Année 2012-2013

Examen 30 mai 2013. Vol de tâche. Système ENS L3 Info. Année 2012-2013 Système ENS L3 Info. Année 2012-2013 Examen 30 mai 2013 L énoncé est composé de 5 pages. Cette épreuve est prévue pour une durée de 2h. Les notes de cours et de TDs sont autorisées. Vol de tâche Le but

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

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

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

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

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CONSERVATOIRE NATIONAL DES ARTS ET METIERS Durée : 2 heures METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CORRECTION DE L'EXAMEN DE RATTRAPAGE de SEPTEMBRE 2012 Année 2011 2012, deuxième semestre

Plus en détail

Les sémaphores. Définition, utilisation, opérations génériques

Les sémaphores. Définition, utilisation, opérations génériques Les sémaphores La problématique Synchronisation multi-processus Accès à une section critique Les sémaphores Définition, utilisation, opérations génériques Implémentation en C sous Linux IPC SystemV et

Plus en détail