Chapitre 5 - Communication inter-processus. Gabriel Girard



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

Projet Active Object

Introduction à la programmation concurrente

Ordonnancement temps réel

Cours de Systèmes d Exploitation

Configuration d'un compte géré par plusieurs utilisateurs

Windows Internet Name Service (WINS)

Métriques de performance pour les algorithmes et programmes parallèles

ANTIDOTE 8 INSTALLATION RÉSEAU WINDOWS

Parallélisme et Répartition

Circuits RL et RC. Chapitre Inductance

Mises à jour CELCAT depuis la version 6.4

STARTUP GUIDE FileExchange

systèmes étendus Guide des Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign

Université de La Rochelle. Réseaux TD n 6

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

CAPTURE DES PROFESSIONNELS

NFP111 Systèmes et Applications Réparties

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

COMMENT PROTÉGER LE FLUX SORTANT?

SECTION 5 BANQUE DE PROJETS

Programmation parallèle et distribuée

Messagerie asynchrone et Services Web

Conception des systèmes répartis

Conditions générales d affaires (CGA) Portail clients SanitasNet

NO-BREAK KS. Système UPS dynamique PRÉSENTATION

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Liste des Paramètres 2FC4...-1ST 2FC4...-1PB 2FC4...-1PN 2FC4...-1SC 2FC4...-1CB

1 Mesure de la performance d un système temps réel : la gigue

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

But de cette présentation

Network musical jammin

Master e-secure. VoIP. RTP et RTCP

Réseau Global MIDI Note applicative

Paiement sécurisé sur Internet. Tableau de bord Commerçant

Programmation parallèle et distribuée

Base de données II Module 3b

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Le serveur modulaire d alerte, de recherche de personnes et de communication

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

Créer le schéma relationnel d une base de données ACCESS

Logistique. My Post Business Mode d emploi

ELP 304 : Électronique Numérique. Cours 1 Introduction

Travaux pratiques : configuration et vérification des listes de contrôle d'accès IPv6 Topologie

Manipulation 4 : Application de «Change».

Le spam introduction. Sommaire

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Les techniques de multiplexage

ANSSI PROCEDURES DE REPORTING DES INCIDENTS AVEC LE CIRT RÔLES DES PARTIES PRENANTES 15/02/2014. SEMINAIRE DE Joly Hôtel

Cours Bases de données 2ème année IUT

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Guide d installation des licences Solid Edge-NB RB

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

Cours CCNA 1. Exercices

INITIATION AU LANGAGE JAVA

Dans une stratégie de fidélisation, l ing comprend notamment l envoi d s d informations, d offres spéciales et de newsletters.

Transmissions série et parallèle

FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO

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

Compte-rendu du TP n o 2

Carte Relais GSM (Manuel Utilisateur)

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

Cisco Certified Network Associate

1 Définition et présentation. 2 Le réseau Numéris. 3 Les services. 3.1 Les services Support (Bearer service) SYNTHESE

Le filtrage de niveau IP

Sommaire. 1. Tout savoir sur la Box. 1.1 Caractéristiques techniques

Configurer l adressage des serveurs et des clients

Guide pratique pour les gestionnaires de flotte

OUTILS DE GESTION ET D EVALUATION AU POSTE : Collecte/réparation/vente d électroménager. Assistant(e) secrétaire commercial(e)

7. Le Service de certification déchiffre le document avec sa clé privée de déchiffrement.

Chapitre 1: Introduction générale

modélisation solide et dessin technique

gestion des processus La gestion des processus

Structure fonctionnelle d un SGBD

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

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

Présentation du PL/SQL

DEVENEZ UN POKER-KILLER AU TEXAS HOLD EM!

Les diagrammes de modélisation

Comment ouvrir un compte et accéder à la télédéclaration? Rendez-vous sur le site :

SYSTÈME DE GESTION DE FICHIERS

Prérequis. Résolution des problèmes WMI. Date 03/30/2010 Version 1.0 Référence 001 Auteur Antoine CRUE

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

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

Consignes pour la remise des données RESEAU

.. Guy de Girard de Charbonnieres.

La norme Midi et JavaSound

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Utilisation d une tablette numérique 01 Initiation à l utilisation de l ipad

Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2)

Stéphanie Lacerte. Document technique. Connextek. 31 mai Cloudtel

Transcription:

/40 Processus concurrents et parallélisme Processus concurrents et parallélisme Chapitre 5 - Communication inter-processus Gabriel Girard 2007

2/40 Processus concurrents et parallélisme Chapitre 5 - Communication inter-processus 1 Présentation et définition Types de communication 2 Mémoire commune 3 Synchronisation dans les messages Nature des messages Protection Implantation 4 Conclusion

Présentation et définition Types de communication Présentation 4/40 Processus concurrents et parallélisme Deux techniques de communications : mémoire partagée passage de messages

Mémoire commune 6/40 Processus concurrents et parallélisme Mémoire commune Le programmeur est responsable de fournir la communication Nécessite de la synchronisation explicite

8/40 Processus concurrents et parallélisme Les processus ne partagent pas de mémoire Doivent utiliser des appels systèmes pour communiquer

9/40 Processus concurrents et parallélisme Primitives des base send message to destination receive message from source Autres primitives possibles wait sendreply receivereply

10/40 Processus concurrents et parallélisme Avantages aucune synchronisation explicite Problèmes à résoudre : Comment spécifier les noms de la source et de la destination? Comment synchroniser la communication?

11/40 Processus concurrents et parallélisme La désignation de la source et de la désignation sert à établir un lien logique appelé canal de communication Un canal est représenté par un couple (source,destination) Technique de spécification du canal la désignation directe le port global (boîte aux lettre) le port

La désignation directe 12/40 Processus concurrents et parallélisme La plus simple On utilise les noms des processus comme source et destination send message to processus1 receive message from processus2

La désignation directe 13/40 Processus concurrents et parallélisme propriétés du canal un canal par paire de processus un canal est associé à seulement deux processus le canal est bidirectionnel

Exemple : système batch 4/40 Processus concurrents et parallélisme Program OPSYS ; process lecteur; var ligne : entree ; loop lecture ligne; send ligne to traitement; end ; end process ; Process traitement; var ligne : entree; resultat : sortie; loop end ; end process ; receive ligne from lecteur; traitement de ligne et génération de resultat; send resultat to imprimante;

Exemple : système batch 5/40 Processus concurrents et parallélisme Process imprimante; var resultat : sortie; loop receive resultat from traitement; impression de resultat; end ; end process ;

La désignation directe 16/40 Processus concurrents et parallélisme Cet exemple illustre le concept de pipeline La désignation directe est bien adaptée pour le pipeline La désignation directe s adapte difficilement au concept de client/serveur

Exemple : clients/serveur 7/40 Processus concurrents et parallélisme Un client envoie des demandes de service le serveur reçoit de façon répétitive les demandes, il les exécute et il retourne une réponse. Le serveur reçoit les messages dans l ordre d arrivée sans se préoccuper de sa provenance

Exemple : clients/serveur 18/40 Processus concurrents et parallélisme La désignation directe est incapable d implanter cette relation avec la réception sélective Solution :?

Exemple : clients/serveur 9/40 Processus concurrents et parallélisme La désignation directe est incapable d implanter cette relation avec la réception sélective Solution : introduction d une primitive de réception non-sélective receive message

Désignation directe 20/40 Processus concurrents et parallélisme Avantages : simple Inconvénients changement de processus serveurs multiples

Boîte aux lettres 21/40 Processus concurrents et parallélisme Une boîte aux lettres peut apparaître dans le send et dans le receive send message to bo^ıte receive message from bo^ıte Un message peut donc être reçu par tous les processus ayant accès à la boîte Convient mieux à la relation client/serveur

Boîte aux lettres (port global) 22/40 Processus concurrents et parallélisme Propriétés du canal La communication implique l existence d une boîte aux lettres Un canal peut s associer à plus de deux processus Plusieurs canaux peuvent exister entre une même paire de processus Le canal peut être unidirectionnel ou bidirectionnel

Boîte aux lettres (port global) 23/40 Processus concurrents et parallélisme Synchronisation requise pour les accès simultanés Opérations requises pour manipulation

Boîte aux lettres : manipulation 4/40 Processus concurrents et parallélisme Propriété du système ou du processus? système appels systèmes processus support du langage

Boîte aux lettres 25/40 Processus concurrents et parallélisme On distingue propriétaire et utilisateur le propriétaire est l unique récepteur les utilisateurs envoient des messages Chaque boîte possède un seul propriétaire Lorsque le processus disparaît, la boîte disparaît Désignation du propriétaire : déclaration de variables,...

Boîte aux lettres du système 26/40 Processus concurrents et parallélisme Le système fournit des appels suivants : création, destruction, envoi, réception. Le créateur est le propriétaire par défaut La notion de propriété est transférable et partageable La destruction de la boîte est explicite (si oubli???)

Boîte aux lettres du système 27/40 Processus concurrents et parallélisme Les boîtes aux lettres sont coûteuses à implanter Que faire lors d un envoi sur une boîte distribuée? Que faire lors de la réception sur un boîte distribuée?

Port 28/40 Processus concurrents et parallélisme Cas particulier des boîtes aux lettres Un seul processus peut recevoir d un port Avantages? Inconvénients?

Problèmes des ports 29/40 Processus concurrents et parallélisme Deux façons de les utiliser : orientation vers les messages orientation vers les liens Désignation (statique ou dynamique)

Synchronisation dans les messages Degrés de synchronisation 0/40 Processus concurrents et parallélisme La transmission du message assure automatiquement la synchronisation Il existe différents degrés de synchronisation souvent reliés à la capacité du système d emmagasiner ou non les messages

Synchronisation dans les messages Synchronisation (Envoi) 31/40 Processus concurrents et parallélisme Processus expéditeur bloque jusqu à réception (aucun emmagasinage, rendez-vous) Processus expéditeur ne bloque jamais (espace infini) Processus expéditeur bloque selon la régulation du flux des messages nombre maximum de messages par port, par processus ou dans le système. Processus expéditeur bloque jusqu à la réception d une réponse

Synchronisation dans les messages Synchronisation (Réception) 32/40 Processus concurrents et parallélisme Récepteur bloque jusqu à l arrivée du message Récepteur ne bloque pas : on doit prévoir une primitive pour attendre la réception

Nature des messages Nature des messages 33/40 Processus concurrents et parallélisme Les messages peuvent être typés La taille peut être fixe ou variable Il peut exister plusieurs formats de messages

Protection Protection 34/40 Processus concurrents et parallélisme Dans un système orienté vers le passage de messages on doit se protéger des influences indirectes : messages erronés fin de processus erreurs de communication...

Protection Exemples 35/40 Processus concurrents et parallélisme Si un des processus interlocuteurs termine de façon impromptu. attente d un message d un processus qui n existe plus. envoi d un message à un processus qui n existe plus Filtrage des messages (protection) Erreurs de communication

Protection Détection des erreurs 36/40 Processus concurrents et parallélisme Deux questions : Qui détecte les erreurs et comment? Qui??? le système détecte et effectue la reprise le processus détecte et effectue la reprise le système détecte et le processus effectue la reprise Comment??? horloge de garde ramasse miette code détecteur et correcteur

Implantation Implantation 37/40 Processus concurrents et parallélisme Généralement implanté par le noyau Utilise le PCB (bloc de contrôle) Deux cas à traiter : si emmagasine les messages, alors une file par PCB synchronisé par des sémaphores si rendez-vous, le système tient une table de rendez-vous

Implantation Implantation 38/40 Processus concurrents et parallélisme Transmission des messages par contenu (on recopie tout le message) par adresse

Conclusion 40/40 Processus concurrents et parallélisme Conclusion