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

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

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

Transcription

1 Huitième partie Processus communicants CSP/Ada Systèmes concurrents 2 / 44

2 Synchronisation Désignation, alternatives Architecture d'une application parallèle Plan 1 Processus communicants Synchronisation Désignation, alternatives Architecture d'une application parallèle 2 Producteurs/consommateurs Lecteurs/rédacteurs 3 Systèmes concurrents CSP/Ada 3 / 44

3 Processus communicants Synchronisation Désignation, alternatives Architecture d'une application parallèle Synchronisation obtenue via des primitives de communication bloquantes : envoi (bloquant) de messages / réception bloquante de messages Communicating Sequential Processes (CSP) / Calculus of Communicating Systems (CCS) / π-calcul Ada Les principes détaillés des échanges et leur utilisation pour développer des applications sont vus dans le module intergiciels. On ne s'intéresse ici qu'à la synchronisation. Systèmes concurrents CSP/Ada 4 / 44

4 Quelle synchronisation? Synchronisation Désignation, alternatives Architecture d'une application parallèle Réception Réception bloquante : attendre un message Émission Émission non bloquante ou asynchrone Émission bloquante ou synchrone : bloque jusqu'à la réception du message = rendez-vous élémentaire entre l'activité émettrice et l'activité destinataire Rendez-vous étendu : bloquant jusqu'à réception + réaction + réponse appel de procédure Émission asynchrone buers (messages émis non reçus) Synchrone 1 case maximum Systèmes concurrents CSP/Ada 5 / 44

5 Synchronisation Désignation, alternatives Architecture d'une application parallèle Désignation du destinataire et de l'émetteur Nommage Direct : désignation de l'activité émettrice/destinataire SEND message TO processname WAIT message FROM processname Indirect : désignation d'une boîte à lettres ou d'un canal de communication SEND message TO channel WAIT message FROM channel Systèmes concurrents CSP/Ada 6 / 44

6 Alternative Synchronisation Désignation, alternatives Architecture d'une application parallèle Alternative en émission ou en réception = choix parmi un ensemble de communications possibles : WAIT msg FROM channel1 OR channel2 (SEND msg1 TO pid1) OR (SEND msg2 TO pid2) (WAIT msg1 FROM channel1) OR (SEND msg2 TO channel2) Si aucun choix n'est faisable attendre Si un seul des choix est faisable le faire Si plusieurs choix sont faisables sélection non-déterministe (arbitraire) Systèmes concurrents CSP/Ada 7 / 44

7 Multiplicité Synchronisation Désignation, alternatives Architecture d'une application parallèle 1 1 Désignation de l'activité : 1 émetteur / 1 récepteur désignés n 1 Canal réservé en lecture (consommation) : envoi par n'importe quelle activité ; réception par une seule, propriétaire du canal n m Canal avec envoi par n'importe qui, réception par n'importe qui : pas de duplication : un seul destinataire consomme le message duplication à tous les destinataires : m fois n 1 Complexe et coûteux à mettre en uvre, nécessite une synchronisation globale entre tous les récepteurs Systèmes concurrents CSP/Ada 8 / 44

8 Divers Processus communicants Synchronisation Désignation, alternatives Architecture d'une application parallèle Asynchrone perte de messages? (buer plein par exemple) Construction d'une émission bloquante (rendez-vous) en cas d'émission non bloquante : (SENT m TO ch; WAIT _ FROM ack) (WAIT m FROM ch; SENT _ TO ack) Construction d'une émission non bloquante à partir d'émission bloquante : introduire une boîte intermédiaire qui accepte immédiatement tout message et le stocke dans une le. Systèmes concurrents CSP/Ada 9 / 44

9 Architecture Synchronisation Désignation, alternatives Architecture d'une application parallèle La résolution des problèmes de synchronisation classiques (producteurs/consommateurs... ) ne se fait plus en synchronisant directement les processus via des données partagées, mais indirectement via une activité de synchronisation. lecteur demander l'accès en lecture demander l'accès en écriture rédacteur lecteur gestionnaire LR lecteur rendre l'accès en lecture rédacteur Systèmes concurrents CSP/Ada 10 / 44

10 Intérêt Processus communicants Synchronisation Désignation, alternatives Architecture d'une application parallèle + découplage entre les activités clientes : l'interface partagée est celle de l'activité de synchronisation + réalisation centralisée et répartie + transfert explicite d'information : traçage + pas de données partagées pas de protection nécessaire + contrôle n des interactions + schéma naturel côté client : question/réponse = appel de fonction multiples recopies (mais optimisations possibles) parallélisation du service : au cas par cas Systèmes concurrents CSP/Ada 11 / 44

11 Producteurs/consommateurs Lecteurs/rédacteurs Plan 1 Processus communicants Synchronisation Désignation, alternatives Architecture d'une application parallèle 2 Producteurs/consommateurs Lecteurs/rédacteurs 3 Systèmes concurrents CSP/Ada 12 / 44

12 Producteurs/consommateurs Lecteurs/rédacteurs CSP Communicating Sequential Processes Syntaxe Émission bloquante Désignation de canaux de communications Existence statique des canaux (pas de création dynamique) Alternative en réception seulement ou mixte (variantes) envoi d'un message sur le canal c : c!msg (msg est une valeur) réception d'un message depuis le canal c : c?msg (msg est une variable) alternative en réception : c 1?m 1 c 2?m 2 alternative en émission : c 1!m 1 c 2!m 2 alternative mixte : c 1!m 1 c 2?m 2 réception gardée : guard c?m Systèmes concurrents CSP/Ada 13 / 44

13 Producteurs/consommateurs Lecteurs/rédacteurs Architecture simpliste Prod Cons1 Prod Prod/cons cons!m Prod prod!m Cons2 un canal pour les demandes de dépôt (sens producteur tampon) un canal pour les transmissions des valeurs déposées (sens tampon consommateur) Systèmes concurrents CSP/Ada 14 / 44

14 Producteurs/consommateurs Lecteurs/rédacteurs Producteurs/consommateurs Producteur Processus producteur boucle... msg :=... prod!msg... finboucle Consommateur Processus consommateur boucle... cons?msg utiliser msg... finboucle Systèmes concurrents CSP/Ada 15 / 44

15 Producteurs/consommateurs Lecteurs/rédacteurs Producteurs/consommateurs Activité de synchronisation Processus prodcons var int nbocc = 0; message m; file<messages> tampon ; boucle nbocc < N prod?m; nbocc++; tampon.ranger(m) ; nbocc > 0 m := tampon.extraire ; cons!m; nbocc--; finboucle Nécessite l'alternative mixte (plus complexe que l'alternative en réception) Nécessite la réception multiple (plusieurs activités attendent sur le canal cons) Systèmes concurrents CSP/Ada 16 / 44

16 Producteurs/consommateurs Lecteurs/rédacteurs Architecture eective Prod Prod Prod prod!m Prod/cons cons!demande(cons1) Cons1 cons1!rép(m) Cons2 Un canal pour les demandes de dépôt Un canal pour les demandes de retrait Un canal par activité demandant le retrait (pour la réponse à celle-ci) Systèmes concurrents CSP/Ada 17 / 44

17 Producteurs/consommateurs Lecteurs/rédacteurs Producteurs/consommateurs Producteur Processus producteur boucle... msg :=... prod!msg... finboucle Consommateur Processus consommateur1 Canal moi boucle... cons!demande(moi); moi?rép(msg); utiliser msg finboucle Systèmes concurrents CSP/Ada 18 / 44

18 Producteurs/consommateurs Lecteurs/rédacteurs Producteurs/consommateurs Processus de synchronisation Processus pc var int nbocc = 0; message m; canal c; boucle nbocc < N prod?dépôt(m); nbocc++; ranger m nbocc > 0 cons?demande(c); m :=...; c!rép(m); nbocc--; finboucle Nécessite des variables canal, passables en paramètre. Systèmes concurrents CSP/Ada 19 / 44

19 Producteurs/consommateurs Lecteurs/rédacteurs Lecteurs/rédacteurs lecteur demander l'accès en lecture demander l'accès en écriture rédacteur lecteur gestionnaire LR lecteur rendre l'accès en lecture rédacteur Un canal pour chaque type de requête Émission bloquante n'accepter un message (une requête) uniquement si l'état l'autorise Systèmes concurrents CSP/Ada 20 / 44

20 Producteurs/consommateurs Lecteurs/rédacteurs Lecteurs/rédacteurs Utilisateur Processus utilisateur boucle DL!_; // demander lecture... TL!_; // terminer lecture... DE!_; // demander écriture... TE!_; // terminer écriture finboucle Systèmes concurrents CSP/Ada 21 / 44

21 Producteurs/consommateurs Lecteurs/rédacteurs Lecteurs/rédacteurs Processus de synchronisation Processus SynchroLR var int nblec = 0; boolean ecr = false; boucle nblec = 0 ecr DE?_; ecr := true; ecr DL?_; nblec++; TE?_; ecr := false; TL?_; nblec--; finboucle Systèmes concurrents CSP/Ada 22 / 44

22 Plan 1 Processus communicants Synchronisation Désignation, alternatives Architecture d'une application parallèle 2 Producteurs/consommateurs Lecteurs/rédacteurs 3 Systèmes concurrents CSP/Ada 23 / 44

23 Modèle Ada Intérêt Modèle adapté à la répartition, contrairement aux sémaphores ou aux moniteurs, intrinsèquement centralisés. Similaire au modèle client-serveur. Contrôle plus n du moment où les interactions ont lieu. Vocabulaire : tâche = activité Systèmes concurrents CSP/Ada 24 / 44

24 Une tâche possède des points d'entrée de rendez-vous. Une tâche peut : demander un rendez-vous avec une autre tâche désignée explicitement ; attendre un rendez-vous sur un (ou plusieurs) point(s) d'entrée. Un rendez-vous est dissymétrique : tâche appelante ou cliente vs tâche appelée ou serveur. Échanges de données : lors du début du rdv, de l'appelant vers l'appelé ; lors de la n du rdv, de l'appelé vers l'appelant. Systèmes concurrents CSP/Ada 25 / 44

25 Rendez-vous client en premier T1 appelante T2 appelée demande de rdv b lo param d'entrée acceptation du rdv q u ée excéution du corps du rdv param de retour fin du rdv Systèmes concurrents CSP/Ada 26 / 44

26 Rendez-vous serveur en premier T1 appelante T2 appelée acceptation du rdv demande de rdv bloquée param d'entrée b lo q u ée excéution du corps du rdv param de retour fin du rdv Systèmes concurrents CSP/Ada 27 / 44

27 Si un client demande un rendez-vous alors que le serveur n'est pas prêt à l'accepter, le client se bloque en attente de l'acceptation. Si un serveur indique qu'il est prêt à accepter un rendez-vous et qu'il n'y a pas de demandeur, il se bloque. En outre, l'appelant est bloqué pendant l'exécution du corps du rendez-vous. Important : il est impossible d'accepter/refuser un rendez-vous selon la valeur des paramètres. Systèmes concurrents CSP/Ada 28 / 44

28 Déclaration d'une tâche Déclaration task <nom> is { entry <point d'entrée> (<param formels>); }+ end task X is entry A; entry B (msg : in T); entry C (x : out T); entry D (a : in T1; b : out T2); end X Systèmes concurrents CSP/Ada 29 / 44

29 Appel de rendez-vous Appel de rdv <nom tâche>.<point d'entrée> (<param effectifs>); Similaire à un appel de procédure. X.A; X.D(x,y); Systèmes concurrents CSP/Ada 30 / 44

30 Acceptation d'un rendez-vous Acceptation accept <point d'entrée> (<param formels>) [ do { <instructions> }+ end <point d'entrée> ] accept D (a : in Natural; b : out Natural) do if a > 6 then b := a / 4; else b := a + 2; end if; end D; Systèmes concurrents CSP/Ada 31 / 44

31 Acceptation parmi un ensemble Alternative gardée select when C1 => accept E1 do... end E1; or when C2 => accept E2 do... end E2; or... end select; Systèmes concurrents CSP/Ada 32 / 44

32 Producteurs/consommateurs Déclaration du serveur task ProdCons is entry Deposer (msg: in T); entry Retirer (msg: out T); end ProdCons; Client : utilisation begin -- engendrer le message m1 ProdCons.Deposer (m1); ProdCons.Retirer (m2); -- utiliser m2 end Systèmes concurrents CSP/Ada 33 / 44

33 task body ProdCons is Libre : integer := N; begin loop select when Libre > 0 => accept Deposer (msg : in T) do deposer_dans_tampon(msg); end Deposer; Libre := Libre - 1; or when Libre < N => accept Retirer (msg : out T) do msg := retirer_du_tampon(); end Retirer; Libre := Libre + 1; end select; end loop; end ProdCons; Systèmes concurrents CSP/Ada 34 / 44

34 Producteurs/consommateurs un exemple d'exécution task body Prod is begin m := ProdCons.Deposer (m); end Prod; (client attend) para entrée para sortie task body ProdCons is begin accept Deposer (msg : in T) do (serveur attend) deposer_dans_tampon(msg); end Deposer; nbocc := nbocc + 1; accept Retirer (msg : out T) do retirer_du_tampon(msg); end Retirer; nbocc := nbocc - 1; end ProdCons; paramètres d'entrée paramètres de sortie task body Conso is begin ProdCons.Retirer (m); (client attend) utiliser(m); end Conso; Systèmes concurrents CSP/Ada 35 / 44

35 Remarques Les accept ne peuvent gurer que dans le corps des tâches. accept sans corps synchronisation pure. Une le d'attente (FIFO) est associée à chaque entrée. rdv'count (attribut des entrées) donne le nombre de clients en attente sur une entrée donnée. La gestion et la prise en compte des appels dièrent par rapport aux moniteurs : la prise en compte d'un appel au service est déterminée par le serveur ; plusieurs appels à un même service peuvent déclencher des traitements diérents ; le serveur peut être bloqué, tandis que des clients attendent. Systèmes concurrents CSP/Ada 36 / 44

36 Allocateur de ressources Un système comporte des ressources critiques c'est-à-dire non partageables et non préemptibles, comme les pages mémoire. L'allocateur de ressources est un service qui permet à un processus d'acquérir par une seule action plusieurs ressources. On ne s'intéresse qu'à la synchronisation et on ne s'occupe pas de la gestion eective des identiants de ressources. Déclaration du serveur task Allocateur is entry demander (nbdemandé: in natural; id : out array of RessourceId); entry rendre (nbrendu: in natural; id : in array of RessourceId); end Allocateur; Systèmes concurrents CSP/Ada 37 / 44

37 task body Allocateur is nbdispo : integer := N; begin loop select accept Demander (nbdemandé : in natural) do while nbdemandé > nbdispo loop accept Rendre (nbrendu : in natural) do nbdispo := nbdispo + nbrendu; end Rendre; end loop; nbdispo := nbdispo - nbdemandé; end Demander; or accept Rendre (nbrendu : in natural) do nbdispo := nbdispo + nbrendu; end Rendre; end select; end loop; Systèmes end concurrents Allocateur; CSP/Ada 38 / 44 Processus communicants

38 Construire un automate ni à états : identier les états du système un état est caractérisé par les rendez-vous acceptables un rendez-vous accepté change (éventuellement) l'état Producteurs/consommateurs à 2 cases Déposer Déposer Vide NiVideNiPlein Plein Retirer Retirer Systèmes concurrents CSP/Ada 39 / 44

39 task body ProdCons is type Etat is (Vide, NiVideNiPlein, Plein); etat : Etat := Vide; begin loop if etat = Vide then select accept Deposer (msg : in T) do deposer_dans_tampon(msg); end Deposer; etat := NiVideNiPlein; end select; elsif etat = NiVideNiPlein then select accept Deposer (msg : in T) do deposer_dans_tampon(msg); end Deposer; etat := Plein; or accept Retirer (msg : out T) do msg := retirer_du_tampon(); end Retirer; etat := Vide; end select;

40 elsif etat = Plein then select accept Retirer (msg : out T) do msg := retirer_du_tampon(); end Retirer; etat := NiVideNiPlein; end select; end if; end loop; end ProdCons; Systèmes concurrents CSP/Ada 41 / 44

41 Automate paramétré Représenter un ensemble d'états comme un unique état paramétré. Les valeurs du paramètre diérenciant les états de l'ensemble peuvent être utilisées pour étiqueter les transitions. Producteurs/consommateurs à N cases Déposer NiVideNiPlein Déposer avec NbOcc = N 1 Vide UneCase N 1 Plein Retirer avec NbOcc = 1 Retirer Retirer avec NbOcc /= 1 Déposer avec NbOcc /= N 1 Systèmes concurrents CSP/Ada 42 / 44

42 Lecteurs/rédacteurs Lecteurs/rédacteurs DL Libre DE DL TL 1 lect TE 1 réd 2 lect TL DL = demander lecture DE = demander écriture TL = terminer lecture TE = terminer écriture Systèmes concurrents CSP/Ada 43 / 44

43 Lecteurs/rédacteurs prio rédacteurs Lecteurs/rédacteurs prio rédacteurs DL si DE count = 0 Libre DE lect(s) TL TE 1 réd DL si DE count = 0 TL Systèmes concurrents CSP/Ada 44 / 44

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

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

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

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

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

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

Recherche dans un tableau

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

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

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 treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

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

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

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Algorithmique des Systèmes Répartis Protocoles de Communications

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

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

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

Introduction à la Programmation Parallèle: MPI

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

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

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

Plus en détail

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME

Plus en détail

Structurer ses données : les tableaux. Introduction à la programmation

Structurer 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étail

Le langage VHDL. Eduardo Sanchez EPFL

Le langage VHDL. Eduardo Sanchez EPFL Le langage VHDL Eduardo Sanchez EPFL Livres conseillés: John F. Wakerly Digital design (4th edition) Prentice Hall, 2005 Peter J. Ashenden The designer's guide to VHDL (3rd edition) Morgan Kaufmann, 2008

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Systèmes et algorithmes répartis

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é

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

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

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

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

PROGRAMMATION EVENEMENTIELLE sur EXCEL

PROGRAMMATION EVENEMENTIELLE sur EXCEL MASTERs SMaRT & GSI PROGRAMMATION EVENEMENTIELLE sur EXCEL Pierre BONNET Programmation évènementielle La programmation évènementielle permet un appel de procédure depuis l'interface HMI d'excel (ou d'un

Plus en détail

Ordonnancement temps réel

Ordonnancement 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étail

4. 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 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étail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

Transmissions série et parallèle

Transmissions série et parallèle 1. Introduction : Un signal numérique transmet généralement plusieurs digits binaires. Exemple : 01000001 ( huit bits). Dans une transmission numérique on peut envisager deux modes : les envoyer tous en

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin 1 Transactionnel et transactionnel réparti Source R.CHEVANCE G.Gardarin Plan Concept de transaction - Propriétés ACID Transactionnel réparti Moniteur transactionnel Modèle X/Open Exemple de moniteur transactionnel:

Plus en détail

Algorithmique & programmation

Algorithmique & programmation Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer

Plus en détail

Mobyt Intégration par Webservice TABLE DES MATIERES

Mobyt Intégration par Webservice TABLE DES MATIERES Mobyt Intégration par Webservice TABLE DES MATIERES INTRODUCTION... 2 CONFIGURATION DE LA LIBRAIRIE... 2 ENVOI DE SMS... 3 ÉTAT DES MESSAGES... 4 HISTORIQUE DES MESSAGES... 5 CRÉDIT SMS DISPONIBLE... 6

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 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é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

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases Description des Use cases. Demander un virement bancaire 2. Constituer les listes reflets S'identifier et s'authentifier «include» Demander un v irement bancaire Abonné Smartphone «include» Consulter le

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009 SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les

Plus en détail

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Manuel d'utilisation

Manuel d'utilisation Manuel d'utilisation Version 1.0 Le 25/09/2014 par i-médias, service commun informatique et multimédia Pôle Services numériques Pôle Applications & Développements I-médias Manuel d'utilisation de l'application

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

Alcatel-Lucent 500 DECT Handset. Localisation and notification management Guide de Configuration

Alcatel-Lucent 500 DECT Handset. Localisation and notification management Guide de Configuration Alcatel-Lucent 500 DECT Handset Localisation and notification management Guide de Configuration 8AL90844FRAAed00A Mars 2011 Sommaire Toc 1. Configuration.............................................. p.

Plus en détail

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Le MSMQ. Version 1.0. Pierre-Franck Chauvet Le MSMQ Version 1.0 Z Pierre-Franck Chauvet 2 [Le MSMQ] [Date : 10/10/09] Sommaire 1 Introduction... 3 2 Le Concept... 5 2.1 Les messages... 5 2.2 Les files d attentes... 5 2.3 WorkGroup... 7 2.4 Active

Plus en détail

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones. PERSPECTIVES Le Single Sign-On mobile vers Microsoft Exchange avec OWA et ActiveSync Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des

Plus en détail

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

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

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

UML : DIAGRAMME D ETATS

UML : DIAGRAMME D ETATS UML : DIAGRAMME D ETATS Le modèle dynamique représente l évolution du système au cours du temps en réaction aux événements externes. L évolution du système est définie par l évolution (cycle de vie) des

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Cours Programmation Système

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 m.daoudi@fso.ump.ma Février

Plus en détail

Chapitre 5 : Les procédures stockées PL/SQL

Chapitre 5 : Les procédures stockées PL/SQL I. Introduction Une procédure ou une fonction stockée est un bloc PL/SQL nommé pouvant accepter des paramètres et être appelée. Généralement, on utilise une fonction pour calculer une valeur. Les procédures

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Date: 22/10/12 www.sugarpshop.fr Version: 3.2

Date: 22/10/12 www.sugarpshop.fr Version: 3.2 Date: 22/10/2012 contact@sugarpshop.fr Page 1 / 16 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 QUE VOUS APPORTE L INTERFACE SUGARPSHOP?... 4 3 DESCRIPTION FONCTIONNELLE GENERALE... 5 4 MODULE DE DEMANDE

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

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

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014

Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014 Systèmes Répartis Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014 Introduction aux systèmes répartis 2 Les ordinateurs ont subi des changements incroyables depuis leur mise en opération vers 1945: plus

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Guide d'utilisation du Serveur USB

Guide d'utilisation du Serveur USB Guide d'utilisation du Serveur USB Copyright 20-1 - Informations de copyright Copyright 2010. Tous droits réservés. Avis de non responsabilité Incorporated ne peut être tenu responsable des erreurs techniques

Plus en détail

Manipulations du laboratoire

Manipulations du laboratoire Manipulations du laboratoire 1 Matériel Les manipulations de ce laboratoire sont réalisées sur une carte électronique comprenant un compteur 4-bit asynchrone (74LS93) avec possibilité de déclenchement

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

.NET remoting. Plan. Principes de.net Remoting

.NET remoting. Plan. Principes de.net Remoting Plan.NET remoting Clémentine Nebut LIRMM / Université de Montellier 2 de.net Remoting côté serveur côté client.net Remoting en ratique Les canaux de communication L'activation L'invocation Les aramètres

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

KL5121. Pour activer des sorties en fonction de la position d'un codeur

KL5121. Pour activer des sorties en fonction de la position d'un codeur KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006 Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre

Plus en détail

T. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS

T. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS T. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS SOMMAIRE I. Le VHDL pour qui, pourquoi, quand, comment? A. Le VHDL!...... 1 B. Pourquoi un langage de description?...... 1 C. Les limites actuelles...... 2

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Bases de Données Avancées PL/SQL

Bases de Données Avancées PL/SQL 1/170 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

4. Groupement d objets

4. Groupement d objets Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux

Plus en détail

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 15 2.2 Mode de fonctionnement client/serveur 16 2.3 Les plates-formes possibles 18 2.4 Les composants de SQL

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

Un ordonnanceur stupide

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

Plus en détail

Bases de données avancées

Bases de données avancées Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,

Plus en détail

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos) Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 14 2.2 Mode de fonctionnement Client/Serveur 16 2.3 Les plates-formes possibles 17 2.4 Les composants de SQL

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail