Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence
|
|
|
- Clementine Sévigny
- il y a 10 ans
- Total affichages :
Transcription
1 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 Promela suivant : (7 points) int n=0; a c t i v e proctype Q( ) { q1 : n=n+1; q2 : n=n+1; q3 : s k i p } a c t i v e proctype P( ) { p1 : do : : n < 2 > p2 : p r i n t n : : else > p3 : p r i n t od } 1. Construire les exécutions qui affichent les mots suivants (donnés sous forme d expressions régulières) : 012 *, 002 *, 0 *. 2. Ecrire en LTL les propriétés suivantes en explicitant les proposition atomiques utilisés : (a) 2 doit apparaître dans l affichage (b) 2 apparaît au plus une fois (c) 2 apparaît une infinité de fois (d) 2 peut apparaître que après 0 3. Pour chaque propriété ci-dessus, indiquer sa classe (vivacité, sûreté ou les deux) et sa valeur de vérité pour le programme considéré. Question 2 : (8 points) L algorithme du jeton circulaire (token ring) assure l exclusion mutuelle entre de processus distribués, communiquant par échange de messages. Soient N 2 sites connectés en anneau (le site i communique uniquement avec ses voisins, les sites i 1 mod N et i + 1 mod N) par des canaux de taille 1. Sur chaque site, il existe un processus qui doit exécuter (de façon répétée) un travail en exclusion mutuelle par rapport aux processus travailleurs des autres sites. Le principe de cet algorithme est de faire circuler dans l anneau un jeton unique. Le site qui a le jeton autorise son processus travailleur à effectuer son travail. Un fois le travail fini, le site communique le jeton à son voisin i + 1 mod N et ainsi de suite. 1. Donner une modélisation en Promela pour cet algorithme en explicitant (a) le type des messages échanges sur les canaux et la déclaration des canaux, (b) les processus participant à cet algorithme et leur appartenance aux sites. 2. Exprimer en LTL la propriété d exclusion mutuelle à tester pour votre modélisation. 3. Commenter pour cet algorithme la propriété d attente bornée. 1
2 Question 3 : Soit l algorithme d exclusion mutuelle suivant modélisé en Promela : (7 points) 1 #define N 5 2 int requete = 0 ; 3 int reponse = 0 ; 4 a c t i v e proctype Serveur ( ) { 5 do : : true > 6 ( requete!= 0 ) ; 7 reponse = r e q u e t e ; 8 ( reponse == 0 ) ; 9 requete = 0 10 od 11 } 1 a c t i v e [N] proctype C l i e n t ( ) { 2 do : : true > 3 / s e c t i o n non c r i t i q u e / 4 do : : reponse!= p i d > 5 r e q u e t e = p i d 6 : : else > break 7 od ; 8 / s e c t i o n c r i t i q u e / 9 reponse = 0 10 od 11 } 1. Expliquer (1 page maximum) comment cet algorithme fonctionne. Rappel : pid est le numéro unique associé à chaque processus (le processus Serveur ayant le pid 0). 2. Montrer, en raisonnant sur l algorithme, que cet algorithme satisfait les propriétés d exclusion mutuelle et d absence d inter-blocage. 3. Qu en est-il des propriétés d absence de famine et d attente bornée? 4. Y-a-t-il un processus privilégié parmi les clients? Question 4 : (8 points) Dans une ville tranquille, un coiffeur possède un petit salon ayant une porte d entrée, une porte de sortie, un fauteuil de coiffure et N chaises. Les clients arrivent par la porte d entrée et sortent par la porte de sortie après avoir eu leur coupe de cheveux. Comme le salon est petit, uniquement le client sur le fauteuil de coiffure peut être servi à un moment donné par le coiffeur. Le coiffeur passe sa vie entre dormir et servir ses clients. Quand il n a aucun client, le coiffeur dort. Quand un client arrive et le fauteuil est libre, il s assoit dans le fauteuil et il réveille le coiffeur. Si le fauteuil n est pas libre, le client occupe une chaise s il y a des chaises libres ou il attend qu une chaise se libère sinon. Un client sur une chaise attend que le fauteuil se libère. Après avoir fini une coupe, le coiffeur fait sortir le client servi et s endort. Modéliser ce problème en utilisant les sémaphores pour la synchronisation entre le coiffeur et ses clients. Pour cela, écrire (dans le langage de votre choix) : 1. un processus générique Client dans lequel sont identifiés clairement ses états : en attente d une chaise, sur une chaise en attente du fauteuil, sur le fauteuil en attente de la fin de sa coupe et servi, 2. un processus Coiffeur avec les états : endormi et en service et 3. des déclarations de sémaphores avec leur type (binaire ou généralisé) et leur valeur initiale. 4. De plus, en utilisant LTL, spécifier la propriété suivante : le coiffeur est réveillé que si le fauteuil est occupé. 2
3 Correction 1 : ( ) Fig. 1 Point 1.1 : séquences d exécution. Point 1.2 : Pour capturer le fait que une certaine valeur v de n est imprimée pendant l exécution, on définit le prédicat suivant : print(v) = (n = v) En instanciant v par 0 et 2, on obtient les deux prédicats print0 et print2 utilises dans les formules ci-dessous. 1. a. print2 2. b. print2 (print2 print2) 3. c. print2 4. d. Propriété difficile, car on parle du passé et qu on ne demande pas que 0 et 2 se suivent! On décompose la propriété en deux cas disjoints (c est donc une disjonction de deux formules) : (a) si 0 n apparaît pas, alors 2 n apparaît pas non plus : ( print0) ( print2) (b) il n est pas possible d avoir un 2 avant la première occurrence de 0 (ici 0 est forcé d apparaître) : ( print0 print2)uprint0 3
4 Point 1.3 : 1. a. Propriété de vivacité, fausse (voir séquence 0 ). 2. b. Propriété de sûreté (2 ne doit pas apparaître 2 fois), vraie car une fois que 2 est affiché, le processus P choisit que la branche du test, donc il n imprime plus n. 3. c. Propriété de vivacité, fausse car complémentaire de b. 4. d. Propriété de sûreté (2 ne doit apparaître avant un 0), fausse (voir séquence (q1, p1, 0) (q1, p2, 0) (q2, p2, 1) (q3, p2, 2) print2 (q3, p1, 2) )). Correction 2 : ( ) Comme dans les algorithmes d exclusion mutuelle dans un cadre distribué, sur chaque site il faut faire fonctionner deux processus : un qui effectue le travaille et demande la section critique (Worker ci-dessous) et un autre qui gère les messages (Msg ci-dessous). Ces deux processus communiquent entre eux par une mémoire partagée sur chaque site (donc c est chaque variable est un tableau de taille N) : un booléen requete indique une demande de SC de la part du travailleur et un booléen reponse indique si la requette est satisfaite. Point 2.1a : Comme convention, les canaux relient les processus tel que le processus i lit son canal et envoie un message sur le canal i + 1%N. Le message échangé est vide, mais pour simplifier, on considère qu il s agit d un booléen. 1 chan ch [N] = [ 1 ] o f b i t ; Point 2.1b : Le code exécuté par chaque composant sur chaque site est : 1 b i t requete [N] = 0 ; 2 b i t reponse [N] = 0 ; 1 a c t i v e [N] proctype Worker ( ) { 2 do : : 1 > 3 / s e c t i o n non c r i t i q u e / 4 s k i p ; 5 / pre p r o t o c o l e / 6 requete [ p i d ] = 1 ; 7 ( reponse [ p i d ] == 1 ) ; 8 sc : / s e c t i o n c r i t i q u e / 9 s k i p ; 10 / post p r o t o c o l e / 11 reponse [ p i d ] = 0 ; 12 requete [ p i d ] = 0 ; 13 od 14 } 1 a c t i v e [N] proctype Msg ( ) { 2 int id = p i d N; 3 b i t b ; 4 do : : 1 > 5 ch [ id ]? b ; 6 i f : : r e q u e t t e [ id ] == 1 > 7 reponse [ id ] = 1 ; 8 ( r e q u e t t e [ id ] == 0) 9 : : else > s k i p 10 f i ; 11 ch [ id+1 % N]! b 12 od 13 } On suppose qu initialement, le canal d index 0 contient un message. Point 2.2 : Si on définit par sc i = W orker[i]@sc alors l exclusion mutuelle s écrit en LTL : i j sc i sc j. 4
5 Point 2.3 : Pour la modélisation ci-dessus, la propriété d attente bornée est satisfaite car, si un processus fait la demande de la SC, sa demande sera satisfaite après au plus N 1 exécutions de SC. En effet, le jeton est bloqué sur un site uniquement si le Worker exécute la SC, sinon, le jeton est transmis au site suivant (c est pourquoi on a besoin de processus Msg). Comme les SC se terminent forcement, le temps d attente du demandeur est donc borné. Correction 3 : ( ) Point 3.1 : Il s agit d un algorithme d exclusion mutuelle centralisé dans un système à mémoire partagée : un serveur reçoit des requêtes de la part des processus accédant à la SC à travers la variable requete. Cette requête contient le numéro unique, strictement positif, du demandeur. Le serveur répond en affectant la variable reponse à un numéro reçu (le dernier vu dans requete avant l affectation). Le processus demandeur ayant ce numéro peut ainsi entrer dans sa section critique. Le post-protocole consiste à changer la valeur de la reponse à 0 afin d indiquer au serveur qu il peut traiter un autre demandeur. Point 3.2 : Exclusion mutuelle : les invariants utilisés pour la preuve sont : 1. Tous les clients ont des pids différents et strictement positifs : 2. Quand le serveur se trouve en dehors de la ligne 8, la variable reponse est 0 : ( l {5,6,7,9} Server@l) (reponse = 0) 3. La variable reponse est 0 alors tous les clients sont dans la section non-critique ou dans le pre-protocole : (reponse = 0) ( j [0,N 1] m [2,5] Client[j]@m) 4. Quand la variable reponse est non nulle, le serveur est en attente à la ligne 8 : (reponse 0) Server@8 5. Quand la variable reponse est non nulle, elle a des valeurs parmi les pids des clients : (reponse 0) 1 reponse N (facile à vérifier en regardant les endroits où les variables du programme sont affectées). 6. De plus, un client peut se trouver aux lignes 6 9 : (reponse 0) j. 1 j N m [6,9] Client[j]@m Ces invariants sont faciles à vérifier sur le code. Le code des clients montre que un client arrive en SC que si, à un certain moment, la variable reponse a été égale à sont pid, donc non nulle. Dans ce cas, le serveur est bloquée à la ligne 8 et ne peut pas changer la valeur de reponse (à la ligne 7). De plus, les autres clients sont bloqués aux lignes 2 5. Donc au plus un client se trouve en SC tant que reponse a une valeur non-nulle. Absence d interblocage : si plusieurs clients exécutent en même le pré-protocole, le dernier qui affecte la variable requete avant que le serveur effectue l affectation de la ligne 7 sera choisi par le serveur. 5
6 Point 3.3 : La famine est possible, donc la propriété d attente bornée n est pas satisfaite. En effet, en prenant comme exemple le cas de deux clients, il est possible d exhiber une trace dans laquelle le premier client est en famine (on choisit comme états l état du serveur, celui des deux clients et les valeurs de requete et reponse) : (S@6, C[1]@4, C[2]@4, 0, 0) (S@6, C[1]@5, C[2]@4, 0, 0) (S@6, C[1]@5, C[2]@5, 0, 0) (S@6, C[1]@4, C[2]@5, 1, 0) (S@6, C[1]@4, C[2]@4, 2, 0) (S@7, C[1]@4, C[2]@4, 2, 0) (S@8, C[1]@4, C[2]@4, 2, 2) (S@8, C[1]@4, C[2]@7, 2, 2) (S@8, C[1]@4, C[2]@8, 2, 2) (S@8, C[1]@4, C[2]@9, 2, 2) (S@8, C[1]@4, C[2]@4, 2, 0) (S@9, C[1]@4, C[2]@4, 2, 0) (S@6, C[1]@4, C[2]@4, 0, 0) Point 3.4 : Il n y a pas de client privilégié car : le serveur ne sélectionne pas un numéro spécial de requête et l affectation de la variable requete dans le clients ne tiens pas compte d une valeur spécifique. Correction 4 : () Point 4.3 : les sémaphores utilisés sont : reveil : un sémaphore binaire (initialisé à 0) pour le barbier (initialement endormi), fincoupe : un sémaphore binaire (initialisé à 0) pour le client servi (initialement aucun, c est le barbier qui le signale et le client qui se bloque en attente de de fin service), faut-libre : sémaphore binaire (initialement à 1) pour le fauteuil, chaise-libre : sémaphore généralisé (initialement à N) pour les chaises. 1 bsem r e v e i l = 0 ; 2 bsem f i n coupe = 0 ; 3 bsem faut l i b r e = 0 ; 4 sem chaise l i b r e = N; Point 4.1 : le code du client 1 a c t i v e [M] proctype C l i e n t ( ) { 2 do : : 1 > 3 / v i e normale / s k i p ; 4 / c o i f f e u r / 5 wait ( chaise l i b r e ) ; 6 wait ( faut l i b r e ) ; 7 s i g n a l ( chaise l i b r e ) ; 8 s i g n a l ( r e v e i l ) ; 9 wait ( f i n coupe ) ; 10 s i g n a l ( faut l i b r e ) 11 od 12 } Point 4.2 : on a considéré que le coiffeur essaie de s endormir entre deux clients : 6
7 1 a c t i v e proctype C o i f f e u r ( ) { 2 do : : 1 > 3 / dors / s k i p ; 4 wait ( r e v e i l ) ; 5 / t r a v a i l l e / s k i p ; 6 s i g n a l ( f i n coupe ) 7 od 8 } Point 4.4 : Le coiffeur est réveillé aux lignes 5 6 (cr =Coiffeur@5-6) et le fauteuil est occupé quand le sémaphore faut-libre est 0 (f o =faut-libre==0). Alors la propriété s écrit : [fo cr]. 7
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
Exclusion Mutuelle. Arnaud Labourel Courriel : [email protected]. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : [email protected] Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
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
L exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
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
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
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
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
1/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
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig [email protected]
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig [email protected] Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs
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
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
É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
Un 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
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Introduction 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
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
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
Genie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost
Institut Galilée Vivien Boyi-Banga INFO 2 Genie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost Enseignant : M.Feiz Année 2009-2010 1. Définir la borne de notre système Le système est composé
Modèles à Événements Discrets. Réseaux de Petri Stochastiques
Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés
ET 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
INTRODUCTION À LA PROGRAMMATION CONCURRENTE
INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente
CEG4566/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é
IN 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
Cours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas [email protected] Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Cours 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
1 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
Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes [email protected] 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
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
Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France
Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes
Licence 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
Intégration et probabilités TD1 Espaces mesurés
Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?
Plateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Introduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Les systèmes de gestion de version
Les systèmes de gestion de version Matthieu Herrb Envol 2010 http://homepages.laas.fr/matthieu/talks/envol10-sgv.pdf Systèmes de gestion de version - kesako? Logiciel permettant de gérer l historique des
Network musical jammin
Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le
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
Bases 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
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Algorithmique des Systèmes Répartis Protocoles de Communications
Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation
SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1
SPF FIN Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale Version 1.1 Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale Date: 17/06/2004 Historique
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
Algorithmique répartie
Université Joseph Fourier 23/04/2014 Outline 1 2 Types de communication message envoyé à un groupe de processus Broadcast (diffusion) message envoyé à tous les processus du systèmes Unicast message envoyé
Travaux 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
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Programmation 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
Débuter avec EXPRESS. Alain Plantec. 1 Schema 2
Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................
Définition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Cours 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 [email protected] Février
UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP
Université de Strasbourg Licence Pro ARS UFR de Mathématiques et Informatique Année 2009/2010 1 Adressage IP 1.1 Limites du nombre d adresses IP 1.1.1 Adresses de réseaux valides Réseaux Locaux TP 04 :
UML et les Bases de Données
CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..
Intégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Architecture 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
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
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Encryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
Initiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Algorithmique 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
NIVEAU 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
Recherche 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
É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
Systè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é
REALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Exercices INF5171 : série #3 (Automne 2012)
Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre
Cours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Sélection du contrôleur
Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du
Algorithmique 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
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
Cours 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
OPTENET DCAgent 2.01. Manuel d'utilisateur
OPTENET DCAgent 2.01 Manuel d'utilisateur SOMMAIRE 1. INTRODUCTION...1 2. INSTALLATION...2 3. ÉTABLISSEMENT DES PERMISSIONS...4 Pour de plus amples informations, reportez-vous aux annexes «Conditions requises
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
L informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
TP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Cours 1 : introduction
Cours 1 : introduction Modèle entité-association Exemple : Deux entités (produit et dépôt) sont mises en relation (stock). Une entité doit être constituée d un identifiant et peut être complétée par des
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Mé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
DAns 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
Guide d utilisation - Intranet de l ASG Pour utilisateurs d Albatros Version 8.7
Guide d utilisation de l Intranet de l ASG 1 Albatros Windows Anwender Version 8.7 Guide d utilisation - Intranet de l ASG Pour utilisateurs d Albatros Version 8.7 2 Mesdames et Messieurs, L Intranet de
Programmation d Applications Concurrentes et Distribuées (INF431)
Programmation d Applications Concurrentes et Distribuées (INF431) Julien Cervelle Albert Cohen Eric Goubault Francesco Zappa Nardelli François Pottier Samuel Mimram Benjamin Werner 1er janvier 2015 2 Table
Gestion des transactions et accès concurrents dans les bases de données relationnelles
Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.
NOTIONS DE RESEAUX INFORMATIQUES
NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des
Pourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Expérience 3 Formats de signalisation binaire
Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
Ordonnancement temps réel
Ordonnancement temps réel [email protected] 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
Configuration d un Client VPN «TheGreenBow» 1) Création d un compte utilisateur dans la base LDAP Netasq
Configuration d un Client Mobile IPSec «TheGreenBow» avec un Firewall Netasq Le but de ce document est de proposer un mode opératoire pour permettre à un utilisateur nomade de se connecter à son réseau
Solutions 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 (
Correction 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
Groupe symétrique. Chapitre II. 1 Définitions et généralités
Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations
Model checking temporisé
Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS [email protected] ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier
