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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcription

1 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 appelant «en attente de C» C.signaler : réveil d un processus en attente de C Exemple 1 : lecture écriture sync : moniteur; var fait:booléen; i : condition ; procédure _écrire ; fait:=vrai; i.signaler ; procédure _lire ; si non fait alors i.attendre ; fait := faux ; _ sync --initialisation rendezvous : moniteur Exemple 2 : rendez-vous var n entier ; tous_la :condition procédure arriver; n:=n+1; si n<n alors tous_la.attendre ; tous_la.signaler -- le dernier est arrivé ; -- initialisation n := 0 ; rendezvous Exercice 1 : Allocateur de ressources Ressource : N exemplaires/unités équivalents (ex: tampons en mémoire/sur disque, unités de bandes magnétiques) Chaque proc. peut en acquérir 1 ou plusieurs puis doit les libérer. Règles d utilisation : une unité ne peut être allouée qu à un proc. à la fois une unité ne peut être allouée que si elle est libre une opération de libération s applique toujours aux dernières ressources acquises par le proc. qui l exécute une demande d allocation est bloquante en cas d échec 1

2 Allocateur de ressources Solution 1 (1/2) Moniteur : 2 procédures, demander et libérer ps:ressource.demander(n); --demande de n unités --attente si échec <utiliser les ressources acquises> ressource.libérer(n); --libération des unités Condition de synchronisation : n =< nlibre ressource : moniteur; var nlibre : entier ; disp : condition ; procédure demander(n) ; tantque n > nlibre faire disp.attendre ; disp.signaler ftantque ; nlibre := nlibre n; ; -- réveil en chaîne procédure libérer(n) ; nlibre := nlibre + n; disp.signaler ; Solution 1 (2/2) ressource: moniteur ; type élément: struct taille : entier ; proc : processus ; ; Solution 2 (1/4) nlibre := N ressource -- initialisation var nlibre : entier ; disp : tableau[processus] de condition ; <déclaration de la file d attente f et de ses procédures d accès : entrer, sortir et premier> 2

3 Solution 2 (2/4) Solution 2 (3/4) procédure demander(n); var e : élément; si n > nlibre alors e.taille := n; e.proc := p; entrer(e,f); disp[p].attendre ; nlibre := nlibre n ; -- p est le processus appelant -- par tailles croissantes procédure libérer(n) var e : élément; nlibre := nlibre + n; tantque premier(f).taille =< nlibre faire sortir(e,f); -- élément sorti = premier(f) disp[e.proc].signaler -- e.proc = processus réveillé ftantque ; ; nlibre := N ; f := <vide> ressource Solution 2 (4/4) -- initialisation Exercice 2 lecteurs / rédacteurs Maintien de la cohérence (nred = 0) et (nlect >= 0) -- fichier en lecture ou (nred = 1) et (nlect = 0) -- fichier en écriture Moniteur fich _lire, _lire, _écrire, _écrire ecr = une écriture est en cours nl = nombre de lecteurs en attente ou en cours de lecture c_ecr, c_lect = conditions Priorité donnée aux lecteurs 3

4 Solution (1/2) Solution (2/2) procédure _lire nl := nl + 1 ; si ecr alors c_lect.attendre ; c_lect.signaler -- réveil en chaîne des lecteurs procédure _lire ; nl := nl 1 ; si nl = 0 alors ; procédure _écrire si ecr ou nl>0 alors c_ecr.attendre ; ecr := vrai ; procédure _écrire ; ecr := faux ; si nl >0 alors --lecteurs prio. c_lect.signaler sinon ; Lecteurs / Rédacteurs Variantes 1. Priorité donnée aux écrivains 2. Garantir à chaque rédacteur qu il aura accès au fichier au bout d un temps i => Blocage des nouveaux lecteurs si un ou plusieurs rédacteurs en attente procédure _lire nl := nl + 1 ; si ecr alors c.lect.attendre ; c.lect.signaler -- réveil en chaîne des lecteurs Variante 1 Solution (1/2) procédure _lire ; nl := nl 1 ; si nl = 0 alors ; 4

5 procédure _écrire si ecr ou nl>0 alors ne := ne+1; c_ecr.attendre ; ne := ne - 1; ecr := vrai ; Variante 1 Solution (2/2) procédure _écrire ; ecr := faux ; si ne >0 alors --écr. prio. sinon si nl>0 alors c_lect.signaler ; procédure _lire si ecr ou ne>0 alors nla := nla + 1; c.lect.attendre ; c.lect.signaler -- réveil en chaîne nla := nla - 1; nl := nl + 1; Variante 2 Solution (1/2) procédure _lire ; nl := nl 1 ; si nl = 0 alors ; procédure _écrire si ecr ou nl>0 alors ne := ne+1; c_ecr.attendre ; ne := ne - 1; ecr := vrai ; Variante 2 Solution (2/2) procédure _écrire ; ecr := faux ; si ne >0 alors --écr. prio. sinon si nla>0 alors c_lect.signaler Producteur / Consommateur Deux processus (ou plus) communiquent en s envoyant des messages de taille fixe dans un tampon en memoire commune pouvant contenir N messages. Un message n est retiré qu une seule fois Les messages ne doivent pas être perdus Une opération impossible (dépôt/plein ou retrait/vide) est bloquante. aut(déposer):n<n aut(retirer):n>0 5

6 Producteur / Consommateur Moniteur tampon Processus producteur : produire(message_émis); tampon.déposer(message_émis); Processus consommateur tampon.retirer(message_recu) consommer(message_recu) tampon: moniteur ; var n :0..N; non_plein, non_vide: condition; <déclaration des procédures entrer et sortir> Moniteur tampon solution (1/2) procédure déposer(m:message); si n = N alors non_plein.attendre ; n:=n+1; entrer(m); non_vide.signaler ; Moniteur tampon solution (2/2) Tampon circulaire procédure retirer(m:message); si n = 0 alors non_vide.attendre ; sortir(m); n:=n-1; non_plein.signaler ; -- initialisation n:=0 tampon type message : <>; ptr : 0..N-1; var file : tableau [ptr] de message; tête, queue : ptr; procédure entrer(m:message); file[queue]:=m; queue:=queue +1 mod N; ; procédure sortir (var m:message); m:=file[tête]; tête:=tête +1 mod N; ; <compléter l'initialisation du moniteur par: tête:=0; queue:=0;> 6

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

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

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

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

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

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

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

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

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

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

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

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

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

Synchronisation et communication entre processus

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

Plus en détail

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

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

Plus en détail

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

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

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

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

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

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

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

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

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

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

É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

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

3.3 Les Files d attente (Queues)

3.3 Les Files d attente (Queues) 3.3 Les Files d attente (Queues) 3.3.1 Définition La file d attente est une structure qui permet de stocker des objets dans un ordre donné et de les retirer dans le même ordre, c est à dire selon le protocole

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

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

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

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

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

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

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

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

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

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

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

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

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

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

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

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

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

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

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

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

On appelle variable condition une var qui peut être testée et

On appelle variable condition une var qui peut être testée et Un concept plus général: g Variables condition On appelle variable condition une var qui peut être testée et endort le thread qui la teste si la condition est fausse le réveille quand la condition devient

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

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

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

É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

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

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TP2 Les sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TP2 Les sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TP2 Les sémaphores Les sémaphores - 0.1 - S O M M A I R E 1. IDENTIFICATION EXTERNE DES OBJETS IPC... 1 1.1. PRESENTATION... 1 1.2. EXERCICE N 1 LA FONCTION FTOK...

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

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

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

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

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

Plus en détail

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

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

enregistrement indexation catalogage intercalation équipement

enregistrement indexation catalogage intercalation équipement Avant l arrivée de l informatique dans les bibliothèques, au début des années 1980, le travail était fait entièrement à la main. Il demandait aux bibliothécaires beaucoup de patience et de précision, et

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

%DUELHU)UpGpULF*, /RXUG5RGROSKH*, (',7,21&2//$%25$7,9( 5$33257

%DUELHU)UpGpULF*, /RXUG5RGROSKH*, (',7,21&2//$%25$7,9( 5$33257 %DUELHU)UpGpULF*, /RXUG5RGROSKH*, (',7,21&2//$%25$7,9( 5$33257 6200$,5( 1. Cahier des charges...3 a. Création...3 b. Ouverture...3 c. Modification...3 d. Fermeture...3 e. Schéma de l'interface...4 2. Spécifications...5

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

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

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

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

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

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

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

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

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

Plus en détail

Le but de ce chapitre est de présenter quelques méthodes et outils qui ont été proposés pour résoudre le problème de la programmation concurrente.

Le but de ce chapitre est de présenter quelques méthodes et outils qui ont été proposés pour résoudre le problème de la programmation concurrente. 7 CHAPITRE II : METHODES ET OUTILS DE SYNCHRONISATION Le but de ce chapitre est de présenter quelques méthodes et outils qui ont été proposés pour résoudre le problème de la programmation concurrente.

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

Construction de logiciels.

Construction de logiciels. SEG 2506 Construction de logiciels. LABORATOIRE 8 : Evaluation de Performance SDL vs. Java présenté à: prof. G. Bochmann, Ph.D. par: Renaud Bougueng Tchemeube #4333634 rboug039@uottawa.ca Note : 13/10

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

Plus en détail

Gestion des processus

Gestion des processus 1/27 Gestion des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/27 Table des matières 1 2 Ordonnancement des processus 3 sur les processus 4 entre processus 5 4/27 Programme vs. Processus

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

encadrés par C. Attiogbé, S. Faucou

encadrés par C. Attiogbé, S. Faucou M4102C - Modélisation et construction des applications réparties MCAR (C. Attiogbé) - 2015/2016 Travaux dirigés/pratiques encadrés par C. Attiogbé, S. Faucou Cahier d exercices 1 - Modélisation avec les

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

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

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada Huitième partie Processus communicants CSP/Ada Systèmes concurrents 2 / 44 Synchronisation Désignation, alternatives Architecture d'une application parallèle Plan 1 Processus communicants Synchronisation

Plus en détail

Caractérisation des mécanismes de synchronisation déblocages mémorisés ou non ; mécanismes directs ou indirects.

Caractérisation des mécanismes de synchronisation déblocages mémorisés ou non ; mécanismes directs ou indirects. Synchronisation Principe général : rendez-vous 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

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

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

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

Traducteur mot à mot

Traducteur mot à mot Traducteur mot à mot CORRECTION Ce document, ainsi que le programme C et un exemple de programme trad-fr-us, peut être trouvé en ligne à l'addresse suivante : http ://www.lifl.fr/hauspie/hauspie/teaching.

Plus en détail

SOMMAIRE. 12 - Utilisation Bitlocker avec un périphérique USB. Chapitre 1 Procédure 2

SOMMAIRE. 12 - Utilisation Bitlocker avec un périphérique USB. Chapitre 1 Procédure 2 Page 1 sur 16 SOMMAIRE Chapitre 1 Procédure 2 1.1 Activation de BitLocker 2 1.2 Mot de passe perdu 8 1.3 Connexion de la clé USB sur XP ou Vista 12 1.4 Désactivation de BitLocker 14 Page 2 sur 16 Chapitre

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

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

Algorithmique au lycée

Algorithmique au lycée Stage PAF christian.brucker@ac-strasbourg.fr jean-paul.quelen@ac-strasbourg.fr 13 mars 2015 Lycée Jean Monnet STRASBOURG Sommaire du stage Les programmes Sommaire du stage Les programmes Sommaire du stage

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

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

Le fichier séquentiel [fs]

Le fichier séquentiel [fs] Le fichier séquentiel [fs] Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 17 avril 2015 Table des matières 1 Présentation 2 2 Exploitation d un document 3 3 Primitives

Plus en détail