Systèmes en temps réel Services de Communication.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
GEF 435 Principes des systèmes dexploitation Principes et structure du logiciel dE/S (Tanenbaum 5.2 & 5.3)
Machines séquentielles
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Formation universitaire à .NET: Introduction à C#
Génie Logiciel 2 Julie Dugdale
Détecteurs de fautes pour réseaux dynamiques P. Sens, L. Arantes, M. Bouillaguet Projet REGAL.
Algorithmique et évaluation
Synchronisation des processus père - fils
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Systèmes en temps réel Sujets divers. Sujets divers - 2 Synopsis Services dexceptions Encore plus sur les services de chrono Cardinalité et structure.
Critère d’ordonnancement en temps réel Partie III
Threads et Capsules Optionnels
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
Systèmes en temps réel Héritage avec les capsules.
Systèmes en temps réel Délais des événements Développé par le maj R. Smith Traduit par le maj A. Beaulieu.
Systèmes en temps réel Classes passives & Passage de données.
Modélisation de la structure en UML (Partie II)
Tolérance aux défaillances de logiciel
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
Architectures Orientées Services
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Les cas d’utilisation (use cases)
26/03/2017 Fonctionnement d ’un cluster sous AIX grâce à HACMP : High Availability Cluster Multi-Processing Raphaël Bosc, IR5.
Conception et programmation Programmation Parallèle
Chapitre 3 Interblocages
Architecture de réseaux
IRISA18 novembre ACI Sécurité DADDi Dependable Anomaly Detection with Diagnosis IRISA.
FLSI602 Génie Informatique et Réseaux
Laboratoire d’Interaction Collaborative, Téléformation, Téléactivités
Confidential © , Amazon.com, Inc. or its affiliates. All rights reserved. Comment bien commencer lannée 2ème Partie: Ecoulez votre Stock plus.
Parallel Programming in C with MPI and OpenMP
RAPPEL Durée des congés : voir règlement intérieur du laboratoire Compte Epargne Temps (CET): Possibilité pour tout agent IT, BIATS et chercheurs CNRS.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Guide Web des Directeurs SCEI
Le modèle O.S.I..
UML : DIAGRAMME D’ACTIVITES
Analyse et Conception des Systèmes d’Informations
TRANSMISSION DES DONNEES.
Fonction COMMUNIQUER les liaisons série
1 Introduction : Management des systèmes dinformation version 1.1 du 13 Novembre 2001 Introduction : Management des systèmes dinformation ENSGI Cours MSI.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
8.1 URDL22005 Systèmes dexploitation Interblocages Modèle Système Caractérisation dinterblocage Méthodes pour Gérer les Interblocages Prévention des Interblocages.
Présentation Structures de Données et TDA
Programmation concurrente
Le diagramme de séquences
Synchronisation Classique
Interoperabilité des SI - Urbanisation
Animateur : Med HAIJOUBI
TCP – Transmission Control Protocol
Jeu de Librairies Virtuelles « DLL » Windows pour la réalisation de programmes informatiques.
Un survol du language C.
Le langage Racket (Lisp)
J. Cardoso — C. Sibertin-Blanc — C
Nouvelles Technologies Internet & Mobile
IFT 232 Méthodes de Conception Orientées Objets Introduction.
MOCK.
Processus Légers. Rappel sur le fork() fork() Processus 1 Pile Data Text Processus 2 Pile Data Text.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP― slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Diagrammes de comportement Présentation. Diagramme de séquence  Permet de modéliser les envois de messages entre objets chronologiquement.  Modélisation.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Procédure de recherche TIR 2009 Les statuts et les évènements liés à la procédure de recherche en régime TIR ● Les titulaires de carnet TIR ont à leur.
Transcription de la présentation:

Systèmes en temps réel Services de Communication

Communication (partie 1) - 2 Synopsis Communication Asynchrones Communication Synchrones Utilisation des communication synchrones Problèmes communs Réception de Messages Invoqué par chrono Exemple de brouilleur coordonné Déferrage dévénements

Communication (partie 1) - 3 Communications Asynchrones La capsule qui envoie ne bloque pas quand les messages sont en transit Elle va compléter tous le code de transitions dans la chaîne avant que le(s) message(s) envoyés aient la chance dêtre traités Dautres messages, et autres chaînes de transitions, peuvent même être traités dans lintérim Mécaniques: myPort.mySignal( [data] ).send( [priority] ); Voir la classe OutSignal dans la bibliothèque des Services optionnel

Communication (partie 1) - 4 Communications Asynchrones On se rappel de la sémantique dexécution jusquà la fin: Quand déclenchée, chaque chaîne de transitions va naturellement exécuter jusquà la fin. Tout message(s) envoyé durant lexécution de code dans la chaîne de transitions va être mis dans une file par le service de traitement de messages le la bibliothèque de services en temps réel Les messages à priorité égale seront traité PAPS Les autres messages déjà dans la file (derrière celui qui à commencé la transition originale) vont être traités avant le(s) nouveau(x) message(s) envoyé(s).

Communication (partie 1) - 5 Communications Synchrones - définit Fournit un moyen de contourner la sémantique normale dexécution jusquà la fin La capsule qui envoie (invoque) bloque jusquà ce quune réponse soit reçu (sémantique dappel de procédure Le bloque est efficace même contre la réception de messages à plus haute priorités. Les communications synchrones imbriqués (nested) sont permises, mais pas circulaire

Communication (partie 1) - 6 Communications Synchrones - mécaniques OutSignal.invoke( ) //envoyeur Message replies; Message[] replies = senderPort.senderSignal( ).invoke(); if (replies[0] != null) { code pour traiter une réponse valide } else {code pour traiter une réponse invalide } //receveur receiverPort.receiverSignal( ).reply( );

Communication (partie 1) - 7 Communications Synchrones – découplage du receveur Le comportement événementiel de RoseRT assure que les états sont toujours en mode réception Les messages reçus sont traités de la même façon (du côté de la réception) peut importe quils soient envoyés asynchrone ou synchrone Découple limplémentation du receveur/envoyeur Cependant, pour utiliser cette assurance, il faut que le receveur envoie une réponse dans tous les cas

Communication (partie 1) - 8 Communications Synchrones– invoqué par chrono La ponctualité pour la capsule qui envoie (ou son thread) peut requérir quune invocation bloque seulement pour une période minimum Le receveur peut aussi être trop lent dans sa réponse Les délais de communication peuvent être trop longs Les communications Donc une invocation peut avoir besoin dune temporisation optionnel Aucun mécanisme dimplémentation en RoseRT Retourne seulement une exception si aucune réponse est reçu

Communication (partie 1) - 9 Communications Synchrones - Pourquoi lutiliser? Pour contrôler la séquence des événements (changements détats) exemple: notre coordination de receveur/brouilleur Pour assurer la synchronisation exemple: le système de peinture de widget Pour assurer quil n y a pas dinterférence entre les threads logiques ou processus (exclusion mutuelle) exemple: une base de données partagée

Communication (partie 1) - 10 Communications Synchrones - dangers Peut amener aux interblocages (invocation circulaire) Peut mettre en danger la ponctualité sur le thread de la capsule qui envoie Problèmes de communication multiprocesseurs long délais fiabilité (communications pauvres)

Communication (partie 1) - 11 Exemple – un contrôleur GE

Communication (partie 1) - 12 Contrôleur

Communication (partie 1) - 13 Brouilleur rxJamPort.Jamming( ).send( ); // du code pour actuellement // transmettre de lénergie FR Asynchrone: rxJamPort.Jamming( ).invoke(); if (replies[0] != null) { // du code pour actuellement // transmettre de lénergie FR } else { // abandonne le brouillage} Synchrone:

Communication (partie 1) - 14 Receveur Asynchrone: {pas de code} rxJamPort.ack( ).reply( ); //notez que la pointe serait noir // dans ce cas. Synchrone:

Communication (partie 1) - 15 Communications Synchrones - problèmes suplémentaires Invocation – Réponse en présence de chronos Invocation – Réponse et réponses longues Invocation – Réponse et réponses délayées Voir le fichier modèle: InvokeTest.rtmdl

Communication (partie 1) - 16 Modèle: InvokeReplywithTimers InvokeReplywithTimers - Capsules