TD3. Le problème de l'exclusion mutuelle et les mutexes. LP RGI Prog. système
|
|
- Heloïse Bastien
- il y a 8 ans
- Total affichages :
Transcription
1 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 / L P R G I
2 Plan A. L'exclusion mutuelle B. Une solution (trop) simple... C. Une solution logicielle : l'algo de Dekker D. Les sémaphores 05/10/14 LP RGI : TD2 T2
3 A. L'exclusion mutuelle Unix est multi-taches et multi-utilisateurs : Donc plusieurs processus en compétition peuvent accéder en même temps à une même ressource Ceci peut impliquer des problèmes de cohérence! P. ex. si un processus lit dans un fichier pendant qu un autre écrit 05/10/14 LP RGI : TD2 T3
4 Exemple Un compte en banque doit être crédité de euros et débité de 30 euros Un processus est chargé d'ajouter euros solde=lire(compte) solde = solde Ecrire(solde,compte) Un autre est chargé de soustraire 30 euros solde=lire(compte) solde = solde - 30 Ecrire(solde,compte) 05/10/14 LP RGI : TD2 T4
5 Exemple scénario 1 Le processus créditeur s exécute avant le processus débiteur solde=lire(compte) solde=250 solde=solde solde= =10250 Écrire(solde,compte) compte=10250 solde=lire(compte) solde=10250 solde=solde 30 solde= =10220 Écrire(solde,compte) compte= compte 05/10/14 LP RGI : TD2 T5
6 Exemple scénario 2 Les processus créditeur et débiteur s exécutent «en même temps» solde=lire(compte) solde=250 solde=solde 30 solde=250 30=220 i=lire(compte) i=250 i=i i= =10250 Écrire(i,compte) compte= compte A l'issue du premier scénario, le compte valait euros!!! Écrire(solde,compte) compte=220 05/10/14 LP RGI : TD2 T6
7 Conclusion Il aurait fallu que le premier processus interdise au second d accéder au fichier pendant qu il calculait le nouveau solde C'est un problème d'exclusion mutuelle Usage exclusif... au maximum un processus à un instant donné... d'une ressource critique ici, le fichier contenant le compte en banque 05/10/14 LP RGI : TD2 T7
8 Les propriétés de l'em (Dijkstra) P1 : exclusion mutuelle. A tout instant, un seul processus peut avoir accès à la section critique. P2 : progression. Si aucun processus n'est en section critique, un processus en attente entre en section critique au bout d'un temps fini. 05/10/14 LP RGI : TD2 T8
9 Les propriétés de l'em P3. Si un processus est bloqué en dehors d'une section critique, ce blocage ne doit pas empêcher l'entrée d'un autre processus en section critique. P4. Aucun processus ne doit être privilégié pas d'hypothèse de priorité ou de vitesse 05/10/14 LP RGI : TD2 T9
10 Les propriétés de l'em P5. Equité : un processus en attente d'entrer en SC y accédera en un temps fini P6. Tolérance aux défaillances. Si un processus en SC se termine brutalement, le système ne doit pas devenir instable 05/10/14 LP RGI : TD2 T10
11 Les propriétés de l'em Symétrie : l'algorithme d'em doit être le même pour tous les processus 05/10/14 LP RGI : TD2 T11
12 Les problèmes liés à l'exclusion mutuelle Interblocage : deux processus concurrents s'attendent mutuellement. Famine. Un processus peut ne jamais accéder à la ressource critique 05/10/14 LP RGI : TD2 T12
13 Plan A. L'exclusion mutuelle B. Une solution (trop) simple... C. Une solution logicielle : l'algo de Dekker D. Les sémaphores 05/10/14 LP RGI : TD2 T13
14 B. Une solution (trop) simple... Libre : variable partagée booléenne associée à la ressource critique et initialisée à vrai Cas de deux processus P0 et P1 P0 TantQue Libre = faux faire attendre FinTantQue Libre faux Libre vrai P1 TantQue Libre = faux faire attendre FinTantQue Libre faux Libre vrai 05/10/14 LP RGI : TD2 T14
15 Un scénario d'exécution TantQue Libre = faux faire attendre FinTantQue TantQue Libre = faux faire attendre FinTantQue Libre faux... Libre faux Libre vaut vrai Libre vaut faux Libre vaut faux Pas d'exclusion mutuelle!!! 05/10/14 LP RGI : TD2 T15
16 Plan A. L'exclusion mutuelle B. Une solution (trop) simple... C. Une solution logicielle : l'algo de Dekker D. Les sémaphores 05/10/14 LP RGI : TD2 T16
17 C. Les solutions logicielles : algo de Dekker Hypothèse : l'accès aux variables est atomique... C'est à dire non interruptible, indivisible 05/10/14 LP RGI : TD2 T17
18 Première version Tour : désigne le processus autorisé à accéder en ressource critique P0 TantQue Tour = 1 faire attendre FinTantQue Tour 1 P1 TantQue Tour = 0 faire attendre FinTantQue Tour 0 P3 non vérifiée : comme l'accès à la RC a lieu en alternance, si PO est bloqué hors de la SC alors que c'est à son tour d'accéder à la RC, P1 est bloqué en attente d'accéder à la RC 05/10/14 LP RGI : TD2 T18
19 Deuxième version Deux variables booléennes C0 et C1 : Ci est vrai si Pi est en SC Ci est faux si Pi est hors de sa SC P0 TantQue C1 = vrai faire attendre FinTantQue C0 vrai C0 faux P1 TantQue C0 = vrai faire attendre FinTantQue C1 vrai C1 faux 05/10/14 LP RGI : TD2 T19
20 Deuxième version TantQue C1 = vrai faire attendre FinTantQue C0 vrai TantQue C0 = vrai faire attendre FinTantQue C1 vrai... C0 faux faux faux vrai vrai vrai vrai C1 faux faux faux faux vrai vrai vrai Pas d'exclusion mutuelle!!! 05/10/14 LP RGI : TD2 T20
21 Troisième version Deux variables booléennes C0 et C1 : Ci est vrai si Pi est en SC ou demande à y entrer Ci est faux si Pi est hors de sa SC P0 C0 vrai TantQue C1 = vrai faire attendre FinTantQue C0 faux P1 C1 vrai TantQue C0 = vrai faire attendre FinTantQue C1 faux 05/10/14 LP RGI : TD2 T21
22 Troisième version C0 vrai C1 vrai TantQue C1 = vrai faire attendre FinTantQue TantQue C0 = vrai faire attendre FinTantQue C0 faux vrai vrai C1 faux faux vrai interblocage!!! 05/10/14 LP RGI : TD2 T22
23 Quatrième version : algo de Dekker (1965) Deux variables booléennes C0 et C1 Tour valant 0 ou 1 P0 C0 vrai TantQue C1 = vrai faire Si Tour = 1 alors C0 faux FinSi TantQue Tour = 1 faire attendre FinTantQue C0 vrai FinTantQue Tour 1 C0 faux P0 veut rentrer en SC P1 veut aussi rentrer en SC Si c est le tour de P1 Alors P0 laisse la place P0 attend P0 redemande à rentrer en SC P0 passe le tour à P1 05/10/14 LP RGI : TD2 T23
24 Quatrième version : algo de Dekker (1965) Théorème : L algo. de Dekker résout le problème de l exclusion mutuelle, sans interblocage, sans famine et de manière équitable. Cet algo a été amélioré en 1981 par Peterson 05/10/14 LP RGI : TD2 T24
25 5. Les problèmes des algo de Dekker et Peterson Problème 1 : attente active coûteuse en ressource machine C0 vrai TantQue C1 = vrai faire Si Tour = 1 alors C0 faux FinSi TantQue Tour = 1 faire attendre FinTantQue C0 vrai FinTantQue Tour 1 C0 faux Généralement : sleep(1)... Artisanal et coûteux!!! 05/10/14 LP RGI : TD2 T25
26 Les problèmes des algo de Dekker et Peterson Problème 2 : contrairement à l'hypothèse de départ, les opérations de manipulation de variables ne sont pas atomiques Exemple 1 : N N+1 LDA N ADA #1 STA N Exemple 2 : N=M LDA N LDB M EQ A B Conclusion : Les algorithmes basés sur des solutions logicielles sont rarement utilisés. On se tourne vers des solutions avec blocage passif. 05/10/14 LP RGI : TD2 T26
27 Plan A. L'exclusion mutuelle B. Une solution (trop) simple... C. Une solution logicielle : l'algo de Dekker D. Les sémaphores 05/10/14 LP RGI : TD2 T27
28 C. Les sémaphores de Dijkstra Une solution pour résoudre les problèmes d'exclusion mutuelle A une ressource critique est associé un sémaphore Dr. Edsger Wybe Dijkstra ( ) 05/10/14 LP RGI : TD2 T28
29 2. Le principe Sémaphore : entier valant 0 ou 1et muni de deux opérations atomiques Opération P : abaisser le sémaphore Si le sémaphore vaut 1, il est décrémenté. S il vaut 0, le processus est mis en sommeil. Opération V : lever le sémaphore Le sémaphore est mis à 1. S il valait 0, les processus endormis en attente de son incrémentation sont réveillés. 05/10/14 LP RGI : TD2 T29
30 3. L'algorithme Algorithme d accès exclusif à une ressource critique On associe un sémaphore à la ressource critique Initialisé à 1 Puis chaque processus adopte l'algorithme suivant : Opération P Accès exclusif Opération V Démonstration : les deux bricoleurs et le marteau 05/10/14 LP RGI : TD2 T30
31 Exemple S : 1 P(S) V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T31
32 Exemple S : 0 P(S) V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T32
33 Exemple S : 0 P(S) SOMMEIL V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T33
34 Exemple S : 0 P(S) SOMMEIL V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T34
35 Exemple S : 1 P(S) SOMMEIL V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T35
36 Exemple S : 0 P(S) V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T36
37 Exemple S : 0 P(S) V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T37
38 Exemple S : 1 P(S) V(S) P(S) V(S) 05/10/14 LP RGI : TD2 T38
39 4. Exercices Exercice 1. Soient deux RC R1 et R2 protégées par S1 et S2 Processus P1 P(S1) /* Action sur la ressource R1 */ P(S2) V(S1) /* Action sur la ressource R2 */ V(S2) Processus P2 P(S2) /* Action sur la ressource R2 */ P(S1) V(S2) /* Action sur la ressource R1 */ V(S1) Ceci conduit à un interblocage!!! Pour éviter cela, ne pas imbriquer les opérations P et V 05/10/14 LP RGI : TD2 T39
40 4. Exercices Exercice 2. Soient trois processus parallèles P1, P2 et P3. Compléter pour que la séquence d exécution soit toujours : A1-A2-A3-A1-A2-A3-A1 05/10/14 LP RGI : TD2 T40
41 5. L'implémentation thread : les mutexes Sous Unix. Création d'un mutex Adresse où récupérer l identifiant du mutex #include <pthread.h> int pthread_mutex_init (pthread_mutex_t *mutex_pt, pthread_mutexattr_t *attr) ; NULL 05/10/14 LP RGI : TD2 T41
42 5. L'implémentation Pthread : les mutexes Opération P sur un mutex Identifiant du mutex renvoyé par pthread_mutex_init #include <pthread.h> int pthread_mutex_lock(pthread_mutex_t *mutex_pt); Baisser le mutex S il est déjà baissé : mise en sommeil de l'activité appelante 05/10/14 LP RGI : TD2 T42
43 5. L'implémentation Pthread : les mutexes Création d un mutex Opération V pour un mutex Identifiant du mutex renvoyé par pthread_mutex_init #include <pthread.h> int pthread_mutex_unlock(pthread_mutex_t *mutex_pt); Lever le mutex S il était baissé : réveil des activités endormies 05/10/14 LP RGI : TD2 T43
44 5. L'implémentation Pthread : les mutexes Destruction d'un mutex Identifiant du mutex renvoyé par pthread_mutex_init #include <pthread.h> int pthread_mutex_destroy(pthread_mutex_t *mutex_pt) ; 05/10/14 LP RGI : TD2 T44
45 5. L'implémentation Pthread : les mutexes Sous Microsoft Windows Les mutexes sont des objets de la classe mutex Voir TP3! 05/10/14 LP RGI : TD2 T45
Les processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Plus en détail03/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étailINTRODUCTION 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étailCours 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étailExclusion 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étailProblè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étailINTRODUCTION À 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étailCours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads)
Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads) Concurrence entre processus & Problème d Exclusion Mutuelle 1. Introduction 2. Solutions avec attente active, dites Sans Arbitrage
Plus en détailChapitre 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étailIntroduction à 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étail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailJ2SE 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étailComplexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
Plus en détailGestion des processus
65 La Gestion des Processus 1 Définitions, exemples 2. Politiques d'allocation du processeur 3. Synchronisation des processus 66 Programme : Un programme est une suite figée d'instructions, un ensemble
Plus en détailNIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE
NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE Une application se construit par étapes 1) CAHIER DES CHARGES + ANALYSE FONCTIONNELLE = organisation fonctionnelle (QUE FAIRE) 2) ANALYSE OPERATIONNELLE
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Plus en détail4. 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étailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
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 Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
Plus en détailOn 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étailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailCours d Informatique
Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1
Plus en détailCours de Base de Données Cours n.12
Cours de Base de Données Cours n.12 Gestion des transactions : contrôle de concurrence Elisabetta De Maria - http://www.i3s.unice.fr/ edemaria/ UFR Sciences et Laboratoire I3S, CNRS 2013-2014 Université
Plus en détailLe 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étailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Plus en détailCORRECTION EXERCICES ALGORITHME 1
CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré
Plus en détailLE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Plus en détailSynchro 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étailAlgorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailIntroduction 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étailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailCOMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)
SIN STI2D - Système d'information et Numérique TD TP Cours Synthèse Devoir Evaluation Projet Document ressource COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE) 1 GESTION DES
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailalg - Classes, instances, objets [oo] Exercices résolus
alg - Classes, instances, objets [oo] Exercices résolus Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 27 avril 2015 Table des matières 1 Compte bancaire OO 2 1.1
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailAlgorithmique avec Algobox
Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après
Plus en détailOrdonnancement temps réel
Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailFeuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailDAns un système multi-utilisateurs à temps partagé, plusieurs processus
Chapitre 8 Ordonnancement des processus Dns un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d exécution. Si plusieurs processus sont
Plus en détailSolutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
Plus en détail1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2
Série de TD 2 Exercice 2.1 Quel résultat produit le programme suivant? Var val, double : entier ; Val := 231 ; Double := Val * 2 ; Ecrire (Val) ; Ecrire (Double) ;. Exercice 2.2 Ecrire un programme qui
Plus en détailCEG4566/CSI4541 Conception de systèmes temps réel
CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 6 Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6.1 Introduction générale aux notions de sécurité
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailInitiation au HPC - Généralités
Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailInstruction n 99-05 du 17 Octobre 1999 relative à la tenue de la comptabilité des titres par les intermédiaires en opérations de bourse
Instruction n 99-05 du 17 Octobre 1999 relative à la tenue de la comptabilité des titres par les intermédiaires en opérations de bourse Article 1er: La présente instruction a pour objet de fixer les modalités
Plus en détailProcessus! 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étailStructurer ses données : les tableaux. Introduction à la programmation
Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de
Plus en détailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Plus en détailCorrection TD Algorithmique 5.3 Pile - 5.4 Liste 5.3 Pile
Correction TD Algorithmique 5.3 Pile - 5.4 Liste 5.3 Pile Classe Pile var sommet : entier var vals : Tableau Methode Pile() vals nouveau Tableau (?) sommet -1 Methode estvide() :booléen Renvoie
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailIntroduction aux Systèmes et aux Réseaux
Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailCours 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étailC++ - Classes, instances, objets [oo] Exercices résolus
C++ - Classes, instances, objets [oo] Exercices résolus Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 27 avril 2015 Table des matières 1 Compte bancaire OO 2 1.1
Plus en détailExé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étailMétriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Plus en détailCas de synthèse n 1 : Société BIGFLASH SA Bilan d ouverture, journal, grand-livre et balance
Enoncé Cas de synthèse n 1 : Société BIGFLASH SA Bilan d ouverture, journal, grand-livre et balance En date du 1 er juillet N, la société BIGFLASH reprend l activité de distribution de produits de luxe
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailProbabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
Plus en détailCorrection TD algorithmique
Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un
Plus en détailLes transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions
1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent
Plus en détailLa fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Plus en détailLes Réseaux sans fils : IEEE 802.11. F. Nolot
Les Réseaux sans fils : IEEE 802.11 F. Nolot 1 Les Réseaux sans fils : IEEE 802.11 Historique F. Nolot 2 Historique 1er norme publiée en 1997 Débit jusque 2 Mb/s En 1998, norme 802.11b, commercialement
Plus en détailCours de Programmation Impérative: Zones de mémoires et pointeurs
Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailL ALGORITHMIQUE. Algorithme
L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailIntroduction aux algorithmes répartis
Objectifs et plan Introduction aux algorithmes répartis Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR http://sardes.inrialpes.fr/people/krakowia! Introduction aux algorithmes
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailJulien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration
Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...
Plus en détailAlgorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)
Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailTRIGONOMETRIE Algorithme : mesure principale
TRIGONOMETRIE Algorithme : mesure principale Déterminer la mesure principale d un angle orienté de mesure! 115" Problèmatique : Appelons θ la mesure principale, θ et! 115" sont deux mesures du même angle,
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailCours 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 : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Plus en détailC f tracée ci- contre est la représentation graphique d une
TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe
Plus en détailSystèmes et algorithmes répartis
Systèmes et algorithmes répartis Tolérance aux fautes Philippe Quéinnec Département Informatique et Mathématiques Appliquées ENSEEIHT 4 novembre 2014 Systèmes et algorithmes répartis V 1 / 45 plan 1 Sûreté
Plus en détailConversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Plus en détailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailSystèmes temps-réel. Plan général. Matthieu Herrb. http://homepages.laas.fr/matthieu/temps-reel.pdf. Mars 2015. 1 Introduction - concepts généraux
Systèmes temps-réel Matthieu Herrb http://homepages.laas.fr/matthieu/temps-reel.pdf Mars 2015 Plan général 1 Introduction - concepts généraux 2 Processus 3 Synchronisation 4 Gestion de la mémoire 5 Conclusion
Plus en détailIntroduction : les processus. Introduction : les threads. Plan
IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres
Plus en détail4. Outils pour la synchronisation F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr
4. Outils pour la synchronisation F. Boyer, Laboratoire Sardes 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étailBaccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
Plus en détail