Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013

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

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

Transcription

1 Systèmes d Exploitation temps réel 1

2 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 4. FreeRTOS

3 3 Programmation concurrente

4 4 Programmation concurrente Réfère à un système décomposé en tâches pouvant être exécutées dans un ordre quelconque. Certaines tâches sont exécutées avant d autres, et certaines le sont en parallèle. Ne pas confondre avec programmation parallèle (exécution simultanée de tâches sur différents processeurs).

5 5 Programmation concurrente Pourquoi? Le système agit avec des parties concurrentes de son environnement. Reconnaître le parallélisme dans le programme mène à une structure plus naturelle.

6 6 Notion de tâche Un système est une collection de tâches autonomes s exécutant en parallèle. Une tâche : (Statiquement) est décrite par un programme séquentiel. (A l exécution) a son propre fil de contrôle. peut communiquer et partager des ressources avec d autres tâches.

7 7 Notion de tâche Interprétation de la tâche varie au cours du cycle de développement : Analyse/conception : une tâche est une série d actions déclenchées par un stimulus provenant d un capteur ou l arrivée d une échéance temporelle. Implémentation : une tâche est un processus, un thread, une co-routine,

8 8 Processus et thread Processus : fil de contrôle exécuté dans sa propre machine virtuelle (espace mémoire, handle de fichiers, ). Tous les OS fournissent la notion de processus. Thread : fil de contrôle exécuté en parallèle d autres threads dans un même processus (partage de l espace mémoire, ). Certains langages fournissent cette notion (Ada, Java : oui / C, C++ : non).

9 9 Permet d exprimer : Constructions L existence ou la création de tâches concurrentes. La communication entre tâches. La synchronisation entre tâches. Les tâches peuvent être : Indépendantes. Coopérantes (besoin de communication). En compétition (besoin de synchronisation).

10 10 Modèles de concurrence

11 11 Création d une tâche Statique : toutes les tâches sont créées dès le démarrage du système. Elles ne changent pas au cours de l exécution. Dynamique : on peut créer des tâches en cours d exécution.

12 12 Création d une tâche // déclaration de tâche public class TacheA extends java.lang.thread { public void run(){ // prog séquentiel pour TacheA } } // création explicite TacheA a = new TacheA (); a.start();

13 13 Modèle fork / join Fork : spécifie qu une tâche commence à s exécuter en parallèle avec l appelant (parent). Join : permet à l appelant d attendre (état suspendu) la fin de la tâche créée. pid_t pid; pid = fork(); if(pid == (pid_t)-1) { /* Traitement d'erreur */ } else if(0 == pid) { /* Processus fils */ } else { /* Processus parent */ }

14 14 Synchronisation et communication

15 15 Synchronisation et communication Le comportement d un programme concurrent dépend de la synchronisation et de la communication entre ses différentes tâches.

16 16 Synchronisation et communication Synchronisation : satisfaction de contraintes sur l entrelacement des actions de plusieurs tâches (ex.: action A de la tâche P s exécute uniquement après action B de la tâche R).

17 17 Synchronisation et communication Communication : Passage d informations d une tâche à une autre. Le mécanisme est basé sur le partage d une mémoire commune ou le passage de messages. Les deux concepts sont liés.

18 18 Synchronisation

19 19 Interférence or not interférence? Thread 1 Thread 2 x = 5 mov AX, x mov AX, x inc AX inc AX mov x, AX mov x, AX x =?

20 20 Interférence or not interférence? Thread 1 Thread 2 x = 5 mov AX, x mov AX, x inc AX inc AX mov x, AX mov x, AX x =?

21 21 Interférence or not interférence? Thread 1 Thread 2 x = 5 mov AX, x mov AX, x inc AX inc AX mov x, AX mov x, AX x =?

22 22 Éviter les interférences! L exécution indivisible des séquences d instructions qui accèdent à des variables partagées est nécessaire. Mécanismes de synchronisation autour des sections critiques.

23 23 Éviter les interférences! Thread 1 Thread 2 x = 5 mov AX, x mov AX, x Section critique inc AX inc AX Section critique mov x, AX mov x, AX x = 7

24 24 Deux types de synchronisation Exclusion mutuelle : Assurance pour une tâche que l exécution d une séquence d instructions se fait sans interférences. Cette séquence d instruction s appelle section critique. Attente conditionnelle : Une tâche doit exécuter une action uniquement après une autre action d une autre tâche. Ex.: tampon fini. Consommateur Producteur

25 25 Exigences pour les sections critiques Exclusion mutuelle. Compétition constructive : Les tâches ne s'empêchent pas réciproquement d'entrer. Les tâches ne s'invitent pas réciproquement à entrer à l'infini. Indépendance : Si une tâche est plus lente cela n'a pas d'effet sur l'entrée des autres tâches dans leurs sections critiques Équité : Une tâche ne peut être retardée à l'infini à l'entrée de sa section critique

26 26 Synchronisation avec attente active Utiliser une variable partagée comme flag. Consommateur : while(flag){} // consommation flag = true; Attente active Producteur : // production flag = false; Fonctionne avec l attente active mais difficile à mettre en place dans le cas de l exclusion mutuelle.

27 27 Exclusion mutuelle avec attente active Fausse solution n 1 : Thread 1: while(1){ flag1 = true; while(flag2){} /* section critique */ flag1 = false; } Thread 2: while(1){ flag2 = true; while(flag1){} /* section critique */ flag2 = false; } Possibilité d interblocage.

28 28 Exclusion mutuelle avec attente active Fausse solution n 2 : Thread 1: while(1){ while(flag2){} flag1 = true; /* section critique */ flag1 = false; } Thread 2: while(1){ while(flag1){} flag2 = true; /* section critique */ flag2 = false; } Pas d exclusion mutuelle.

29 29 Exclusion mutuelle avec attente active Fausse solution n 3 : Thread 1: Thread 2: while(1){ while(2 == tour){} /* section critique */ tour = 2; /* section non critique */ } while(1){ while(1 == tour){} /* section critique */ tour = 1; /* section non critique */ } Les tâches doivent revenir à la section critique au même rythme.

30 30 Exclusion mutuelle avec attente active Algorithme de Peterson (1981) : Thread 1: Thread 2: while(1){ flag1 = true; tour = 2; while(2 == tour && flag2){} /* section critique */ flag1 = false; } while(1){ flag2 = true; tour = 1; while(1 == tour && flag1){} /* section critique */ flag2 = false; }

31 31 Exclusion mutuelle avec test_and_set Suppose une opération atomique test_and_set(b). Si b==0 alors (b=1, return 0) sinon (return 1) Thread 1: Thread 2: while(1){ while(test_and_set(b)){}; /* section critique */ b = 0; } Disponible sur certains processeurs. while(1){ while(test_and_set(b)){}; /* section critique */ b = 0; }

32 32 Éviter l attente active : sémaphores Sémaphore : mécanisme de synchronisation composé de : Une variable entière n. Si n > 0, alors n est le nombre de tâches qui peuvent passer par le sémaphore avant que ce dernier ne soit plein. Si n = 0, alors les tâches qui veulent passer par le sémaphore se rangent dans la file f et deviennent suspendues (attente passive). Une file d attente f.

33 33 Éviter l attente active : sémaphores n et f sont accessibles via deux opérations : P (WAIT) : la tâche courante souhaite obtenir le semaphore. Si n > 0, alors n = n -1 et retour immédiat Sinon suspension dans f V (SIGNAL) : la tâche courante libère le sémaphore. Si f non vide, choix d une tâche suspendue pour reprise Si f vide, n = n + 1

34 34 Éviter l attente active : sémaphores Il y a toujours une attente active pour l exclusion mutuelle entre P et V. mais la durée d attente est très courte et ne dépend pas des tâches utilisateur.

35 35 Conclusion sur les sémaphores Mécanisme puissant mais de bas niveau. Si une des tâche «oublie» une opération de sémaphore, cela peut mener tout le système à l interblocage. Mécanismes plus structurés existants.

36 36 Régions critiques conditionnelles (CCR) Grouper les données partagées dans une ressource. Une CCR est une portion de code en exclusion mutuelle sur une ressource. L entrée dans une CCR peut être gardée par une condition sur la ressource.

37 37 Moniteurs L objectif du moniteur est de grouper les régions critiques (pour une ressource) dans un seul endroit du code. Les régions critiques : Moniteur met à disposition des procédures. Variables partagées : Masquées par le moniteur. Accessibles uniquement par des procédures.

38 38 Moniteurs POSIX int pthread_mutex_init (pthread_mutex_t *mutex,...); int pthread_cond_init (pthread_cond_t *cond,...); int pthread_mutex_lock (pthread_mutex_t *mutex); int pthread_mutex_trylock (pthread_mutex_t *mutex); int pthread_mutex_timedlock (pthread_mutex_t *mutex, const struct timespec *abstime); int pthread_mutex_unlock (pthread_mutex_t *mutex); int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex); int pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); int pthread_cond_signal (pthread_cond_t *cond); int pthread_cond_broadcast (pthread_cond_t *cond);

39 39 Moniteurs JAVA Java fournit le concept de moniteur dans le contexte d objets ou de classes. Chaque objet ou classe a par défaut un mutex(lock) : Non accessible directement. Bloqué/débloqué par le mot clé «synchronized». Bloqué/débloqué par l entrée dans un bloc : synchronized(obj){ } Les méthodes synchronisées ont un accès exclusif à leurs objets.

40 40 Communication et synchronisation par messages

41 41 Message asynchrone Thread 1 Thread 2 Envoi message Reception message Nécessite un buffer pour stocker les messages.

42 42 Message synchrone Thread 1 Thread 2 Thread 1 suspendu Envoi message Reception message Pas besoin de buffer -> «rendez-vous».

43 43 Appel de procédure distante (RPC) Thread 1 Thread 2 Envoi message Thread 1 suspendu Reception message Exécution procédure Return

44 44 Résumé : communication et synchronisation Principaux types de synchronisation : Attente conditionnelle. Exclusion mutuelle. Section critique : groupe d instructions qui doit s exécuter en exclusion mutuelle.

45 45 Résumé : communication et synchronisation Mécanismes de synchronisation : Algos basés sur l attente active. Sémaphores. Régions critiques conditionnelles. Moniteurs. Formes de communication par message : Message asynchrone (pas d attente à l envoi). Message synchrone (attente, synchronisation). Appel de procédure distante.

46 46 Besoins en facultés temporelles

47 47 Besoin en facultés temporelles Notions liées au temps : Accéder à des horloges pour mesurer le passage du temps. Retarder un processus à un moment ultérieur. Programmer une temporisation pour traiter l absence d un évènement (timeout). Représenter les exigences temporelles : Spécification des échéances (deadline).

48 48 Notion de temps Mêmes propriétés que les nombres réels : Ordre strict : x, y, z : (x < y y < z) => x < z x, y : x < y y < x x = y x : not(x < x) Dense : x, y : x < y => z : (x < z y) (x z < y)

49 49 Types de données et opération Temps absolu : Identifie de manière unique chaque instant. Ex: Date : Heure Durée relative : Désigne la distance entre deux moments.

50 50 Le temps RT en Java Nombre de secondes depuis le 1er Janvier 1970, 00:00 GMT public abstract class Clock { public Clock(); public static Clock getrealtimeclock(); public abstract RelativeTime getresolution(); public AbsoluteTime gettime(); public abstract void settime(absolutetime time); public abstract void setresolution(relativetime resolution); }

51 51 Type clockid_t : Le temps RT en POSIX Constante CLOCK_REALTIME donne le temps relatif au 1 er Janvier 1970, 00:00 GMT. struct timespec : temps relatif ou absolu. Quelques fonctions : int clock_gettime(clockid_t clock_id, struct timespec *tp); int clock_settime(clockid_t clock_id, struct timespec *tp); int clock_getres(clockid_t clock_id, struct timespec *res); int nanosleep(struct timespec *rqtp, struct timespec *rmt);

52 52 Retarder un processus But : retarder sans occuper le processeur. Java / POSIX : fonction sleep(). Un délai est un minimum, pas un maximum. Granularité de l horloge En attente d ordonnancement Temps Appel à Sleep() Délai passé Processus reprend son activité

53 53 Programmer une temporisation But : limiter la durée d une tâche bloquée en attente d une communication / synchronisation. Ex: si les données du capteur de température ne sont pas disponibles au bout de 100ms, signaler la panne. Ex: si le consommateur ne libère pas une place dans le buffer au bout de 100ms, annuler l écriture. Lié aux primitives de synchronisation.

54 54 Temporisation des actions But : limiter la durée d exécution d une action. Ex: calcul par un algorithme itératif la valeur approximative d une variable V. Arrêt après 10ms. C est une sorte d interruption. Exemple d action interruptible en Java RT. interface javax.realtime.interruptible{ void run(asynchronouslyinterruptedexception e) throws AsynchronouslyInterruptedException; void interruptaction(asynchronouslyinterruptedexception e) }

55 55 Représenter les exigences temporelles Identifier les éléments à caractériser : Bloc de code, fonction, tâche, scénario impliquant plusieurs tâches, Caractériser finement l aspect temporel : Temps minimum entre arrivées, temps d exécution au pire cas, échéance relative ou absolue, temps d attente maximum pour une ressource, Associer une action au cas ou une exigence n est pas respectée.

56 56 Besoins : Résumé : facultés temporelles Accéder à des horloges. Retarder une tâche. Temporisation. Spécifier les caractéristiques temporelles des tâches. Tolérance aux fautes : Détection du dépassement d échéance, détection du dépassement du temps CPU, détection du non respect des lois d arrivée,

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Sommaire Généralités Caractéristiques récurrentes des STR Types de problèmes soulevées Programmation des STR Prog. concurrente

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

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

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

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

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

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

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

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

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

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

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

Plan du cours 5:Threads

Plan du cours 5:Threads Plan du cours 5:Threads introduction Définition Création des Threads Gestion des priorités Synchronisation Page : 1 Introduction(1) Les structure de contrôle: If.. Else.. While Switch. Try..catch.. Offrent

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie 7 : Exemple d application temps réelle en Ada et en C/Posix

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie 7 : Exemple d application temps réelle en Ada et en C/Posix Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie 7 : Exemple d application temps réelle en Ada et en C/Posix Plan du cours Présentation d un problème Solution en Ada Solution en

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

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

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

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

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

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

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

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

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

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

Système M1. Chapitre 3 : Gérer la communication et la synchronisation inter-tâches. J.-F. Pradat-Peyre & E Hyon

Système M1. Chapitre 3 : Gérer la communication et la synchronisation inter-tâches. J.-F. Pradat-Peyre & E Hyon Chapitre 3 : Gérer la communication et la synchronisation inter-tâches 1 Plan du cours Introduction aux problèmes de synchronisation Exemple de problèmes Section critique et verrous Exclusion Mutuelle

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

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

É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

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

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

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

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

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

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

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

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

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

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

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

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

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

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

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 de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

3IS - Système d'exploitation linux - Threads

3IS - Système d'exploitation linux - Threads 3IS - Système d'exploitation linux - Threads 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Qu'est-ce qu'un thread? ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET

Plus en détail

Noyau RTLinux. Noyau RTLinux

Noyau RTLinux. Noyau RTLinux Noyau RTLinux Noyau RTLinux 1 Principes de programmation RTLinux est implémenté sur la base du Minimal Real-time System Profile (POSIX 1003.13 draft 9) ou «système d'exploitation temps réel minimal», et

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

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

Initiation au HPC - Programmation concurrente

Initiation au HPC - Programmation concurrente Initiation au HPC - Programmation concurrente Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 12 octobre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Programmation

Plus en détail

2 ème partie : Programmation concurrente multi-thread

2 ème partie : Programmation concurrente multi-thread 2 ème partie : Programmation concurrente multi-thread TC-INFO-ASR4 Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : www-mips.unice.fr/~baude

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

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

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

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

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

Communication par Signal - premiers pas

Communication par Signal - premiers pas Communication par Signal - premiers pas Quelques remarques sur la gestion des signaux UNIX ================================================== Un premier problème se pose lorsque plusieurs exemplaires d

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

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

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

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

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

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

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

Parallélisme. (Basé sur Concepts of Programming Languages, 8 th edition, by Robert W. Sebesta, 2007)

Parallélisme. (Basé sur Concepts of Programming Languages, 8 th edition, by Robert W. Sebesta, 2007) Parallélisme (Basé sur Concepts of Programming Languages, 8 th edition, by Robert W. Sebesta, 2007) 1 Les différents types de Parallélisme Le Parallélisme dans l'exécution de logiciel peut se produire

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

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

La programmation concurrente

La programmation concurrente La programmation concurrente Jean-Ferdy Susini Maître de Conférences - CNAM Département Informatique Sources : Android Developpers, Wikipedia Paris, 06/05/2015 Architecture matérielle 2 Considérons l architecture

Plus en détail

Les threads : introduction. Bertrand Dupouy. Les threads Plan. Les threads. Présentation. Ordonnancement Synchronisation.

Les threads : introduction. Bertrand Dupouy. Les threads Plan. Les threads. Présentation. Ordonnancement Synchronisation. Plan Présentation : introduction Bertrand Dupouy Historique Définitions Implantations Apports Problèmes Ordonnancement Synchronisation Verrous Variables conditionnelles Sémaphores Threads Java ENST Dép.

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

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

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

3. Systèmes Temps Réel. Moniteur Temps Réel MTR86W32. 3. SYSTEMES TEMPS REEL - Moniteur Temps Réel MTR86W32

3. Systèmes Temps Réel. Moniteur Temps Réel MTR86W32. 3. SYSTEMES TEMPS REEL - Moniteur Temps Réel MTR86W32 3. SYSTEMES TEMPS REEL - Moniteur Temps Réel MTR86W32 Introduction au Moniteur Temps Réel multitâche MTR86W32 MTR86W32 : librairie de fonctions. création, activation, suppression de processus,. gestion

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

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

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

RICM 4 ème année 12/1/2012

RICM 4 ème année 12/1/2012 RICM 4 ème année 12/1/2012 Examen de Systèmes Répartis Durée : 2h, Documents autorisés à l exception des livres. Le barème est indicatif. Partie A Applications Web Question 1. Dans un répertoire contenant

Plus en détail

POSIX threads (programmation concurrente) Les threads. Les fils d exécution : threads ou processus légers. Introduction

POSIX threads (programmation concurrente) Les threads. Les fils d exécution : threads ou processus légers. Introduction POSIX threads (programmation concurrente) François Broquedis, Grégory Mounié, Matthieu Ospici, Vivien Quéma d après les œuvres de Jacques Mossière et Yves Denneulin Introduction Moniteur Exclusion mutuelle

Plus en détail

Exécutif temps réel Pierre-Yves Duval (cppm)

Exécutif temps réel Pierre-Yves Duval (cppm) Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications

Plus en détail

Travaux Pratiques de l option STR

Travaux Pratiques de l option STR Travaux Pratiques de l option STR Processeur Détecteur ultrasons Moteurs Détecteur de contacts Détecteur de lumière Détecteur de sons RTOS (OSEK/VDX) ECRobot C/C++API Gestion des moteurs Vitesse, angle

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

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

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

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

Programmation parallèle

Programmation parallèle Programmation parallèle IUT Lyon 1 Module programmation répartie Principe de la programmation parallèle Consiste à faire exécuter par des processus différents des parties de code d un même programme Par

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

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

Informatique Embarquée M2 / 2014. Quelle heure est-il?

Informatique Embarquée M2 / 2014. Quelle heure est-il? Informatique Embarquée M2 / 2014 Quelle heure est-il? 2014 FA-P7-Info Emb. 1 Différents Temps Temps «horloge murale» Avance sans arrêt, quelque soit l'activité des processus, processeurs Temps CPU N'augmente

Plus en détail

Le parallélisme en Java

Le parallélisme en Java Chapitre 7 Le parallélisme en Java L espoir du parallélisme est de pouvoir faire exécuter plusieurs tâches à un ordinateur (avec plusieurs processeurs). Ceci trouve un début d application sur certains

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

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1 CHAPITRE 1 FOURNIR À L'UTILISATEUR UNE MACHINE VIRTUELLE ET UN ENVIRONNEMENT D'EXÉCUTION DE PROGRAMMES Plan ENVIRONNEMENT DE TRAVAIL ADAPTÉ AU BESOIN DE L'UTILISATEUR Fonctions de l'environnement d'exécution

Plus en détail

Chap. V : Les interruptions

Chap. V : Les interruptions UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Nous étudions dans ce chapitre les interruptions matérielles (ou externes), c est-à-dire déclenchées par le matériel (hardware)

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

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

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

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 http://www.lrde.epita.fr/ didier Version 2@1.6 6 décembre 2004 Table des matières Table des matières Généralités... 3 États

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

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