Systèmes d Exploitation IF4-2009/2010 Y. SLIMANI

Documents pareils
Conception des systèmes répartis

Urbanisme du Système d Information et EAI

Les Architectures Orientées Services (SOA)

Messagerie asynchrone et Services Web

L exclusion mutuelle distribuée

Patrons de Conception (Design Patterns)

Le cadre des Web Services Partie 1 : Introduction

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Systèmes d'informations historique et mutations

Java - RMI Remote Method Invocation. Java - RMI

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Projet Active Object

Cours de Génie Logiciel

Architectures d'intégration de données

BES WEBDEVELOPER ACTIVITÉ RÔLE

Systèmes et algorithmes répartis

La démarche SOA et l interopérabilité applicative

4.2 Unités d enseignement du M1

Chapitre 5 : Flot maximal dans un graphe

Fiche de l'awt Intégration des applications

UE 8 Systèmes d information de gestion Le programme

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Chapitre 4 : Exclusion mutuelle

Les Services Web. Jean-Pierre BORG EFORT

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

NFP111 Systèmes et Applications Réparties

Programmation Web Avancée Introduction aux services Web

Introduction aux «Services Web»

Business Process Execution Language

Remote Method Invocation en Java (RMI)

GRIDKIT: Pluggable Overlay Networks for Grid Computing

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

Le modèle client-serveur

Description de la formation

Algorithmique répartie

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Appui SIE :Développement de services web ADES/SIE

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Software Engineering and Middleware A Roadmap

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Business Process Modeling (BPM)

Votre Réseau est-il prêt?

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

Algorithmique des Systèmes Répartis Protocoles de Communications

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Analyse des techniques et des standards pour l interopérabilité entre plateformes

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Chapitre 3 - VODEL, un langage de description d architectures logicielles statiques et dynamiques

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Mise en œuvre des serveurs d application

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

La sécurité dans les grilles

Introduction aux algorithmes répartis

Développement d un interpréteur OCL pour une machine virtuelle UML.

Master Informatique Aix-Marseille Université

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

L apprentissage automatique

Nouvelles technologies pour l intégration : les ESB

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

DESCRIPTION DU COMPOSANT

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Groupe Eyrolles, 2004, ISBN :

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Introduction à la Programmation Parallèle: MPI

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

Bases de données. Chapitre 1. Introduction

Intégration de systèmes

Modèles et politiques de sécurité pour les infrastructures critiques

Architecture Orientée Service, JSON et API REST

Administration des ressources informatiques

THÈSE de DOCTORAT. Sémantique, interactions et langages de description des services web complexes

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

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

Introduction aux applications réparties

Architectures n-tiers Intergiciels à objets et services web

Gouvernance des mesures de sécurité avec DCM-Manager. Présentation du 22 mai 2014

Programme de la 1ère année

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

Cisco Discovery - DRSEnt Module 7

Architecture distribuée

Urbanisation des Systèmes d'information

Sécurité des Web Services (SOAP vs REST)

IDEC. Windows Server. Installation, configuration, gestion et dépannage

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

2 Chapitre 1 Introduction

Conception, architecture et urbanisation des systèmes d information

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Comment initialiser une démarche SOA

Programmation parallèle et distribuée

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Généralités sur le Langage Java et éléments syntaxiques.

Objets et Programmation. origine des langages orientés-objet

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Transcription:

Faculté des Sciences de Tunis Département des Sciences de l Informatique SECTION IF4 (Ingénieur en Informatique) Matière Système d Exploitation 2009/2010 IF4 1

PARTIE 8 Temps et ordre 2

Ordonnancement (1) Objectifs Définir un ordre entre les événements d un système Nécessaire pour prendre des décisions Allocation, Préemption, Cas centralisé Ordonnancement toujours possible Horloge physique unique Dates différentes pour 2 événements 3

Ordonnancement (2) Contraintes en réparti Absence de mémoire commune Support d un état Espace de stockage de l état Absence d horloge commune Impossibilité d ordonner Difficulté de définir un temps unique Asynchronisme des communications Asynchronisme des traitements 4

Ordonnancement (3) Utilité Raisonnement sur Système Application Définir et vérifier des propriétés Vérifier ces propriétés sur des états Suivre leur évolution Coordination Définir un ordre entre événements 5

Propriétés (1) Objectif Vérifier l état d un système Classes de propriétés Sûreté (Safety) Vérifier qu un événement n arrivera jamais Evénement non désirable Exclusion mutuelle Incohérence de données Deadlock 6

Propriétés (2) Vivacité (Liveness) Souhaiter l arrivée d un événement Evénement désirable Message délivré à son destinataire Fin d un algorithme Sortie d une section critique Libération d une ressource 7

Modèles temporels (1) Modèle asynchrone Modéliser le monde réel Prendre en compte l asynchronisme Caractéristiques Le plus faible mais le plus fiable Impose des contraintes relativement fortes N offre aucune borne temporelle Possibilités de relaxer les contraintes du modèle 8

Modèles temporels (2) Principes Communication par messages Un émetteur et un récepteur Evénements possibles Evénements locaux Evénement de calcul (pas de communication) Emission de message Réception de message Absences de bornes Transmission d un message Vitesse d exécution des processus 9

Modèles temporels (3) 10

Communication (1) Propriétés d une communication Emission d un message Finit toujours par arriver Temps non borné Possibilité de détecter sa non réception Retransmission(s) jusqu à ce qu il arrive Pas d altération (non modifié) Hypothèses sur le canal FIFO Ordre de réception = Ordre d émission Autres 11

Communication (2) Instants importants pour un message Délivrance Réception 12

Evénements (1) Exécution d un processus Suite d événements Locaux Calcul Communication Ordonnés localement Horloge locale Trace ou historique 13

Evénements (2) Synchronisation de processus 2 suites d événements distinctes Imposer un ordre sur l ensemble des événements Dire si un événement Eiprécède Ej ou inversement Allocation de ressources Utilisation d une ressource partagée 14

Evénements (3) Problématique de la datation Centralisé Aucun problème Même horloge Donc deux dates différentes Réparti Sémantique de l opérateur précède? Existence d horloges locales Solution Principe de causalité 15

Causalité (1) Principe Cause précède toujours l effet Intérêt Définir une relation de précédence particulière Précédence causale Application au réparti Processus Ordonnancement naturel Effet sur les événements postérieurs 16

Causalité (2) 2 Processus Emission précède toujours la réception Composition Transitivité de la relation Définition Par Lamport (78) Relation de précédence causale e e 17

Causalité (3) 18

Causalité (4) Propriétés Relation potentielle (par négation) Sémantique particulière Causalité n est pas violée e cause potentielle de e Il n est pas sûr que e soit la cause de e Problème de sémantique (interprétation) e ne peut en aucun cas être la cause de e Certitude Le futur n agit pas sur le passé 19

Causalité (5) Dépendance et indépendance Définition Passé ou historique d un événement hist(e ) = {e} e e {e } Exemples e e e peut influencer e (e e ) e ne peut pas influencer e 20

Causalité (6) (e e ) et (e e) e et e sont causalement indépendants e e 21

Problème de Datation (1) Problématique Pas de système central Absence de vue globale Etats partiels Comment obtenir une vue globale? Solution centralisée Définir un observateur extérieur au système Le mettre au courant de tous les événements 22

Problème de Datation (2) 23

Observations (1) Propriété d une observation Validité L observation doit respecter la causalité e e Obs(e) Obs(e ) 24

Observations (2) 25

Observations (3) Approche Temps de transmission borné (α) Existence d une horloge (H) Forme d un message émis Message estampillé Message plus une estampille (marque, signature) (m, H(m)) m : message H(m): date de transmission de m (estampille) 26

Observations (4) Instant de délivrance Instant t Délivrer tous les messages avec Estampille < t- α Délivrance selon l ordre des estampilles Condition de validité faible e e H(e) < H(e ) 27

Horloges logiques (1) Définies par Lamport But Dater des événements Assurer la condition de validité Déterminée par une consultation locale Principe Horloge logique (scalaire) sur chaque site Compteur : Hi 28

Horloges logiques (2) Evénement sur site i Daté par H(e) = H i 29

Horloges logiques (3) Algorithmique Init Hi = 0 pour tout i Evénement e local Hi = Hi + 1 (sauf pour la réception) Dater e avec Hi Emission d un message m Estampiller m ( m, Hi(m) ) 30

Horloges logiques (4) Réception d un message par Pj Hj = max ( Hj, Hi ) + 1 Dater la réception avec la nouvelle valeur de Hj 31

Horloges logiques (5) Ordre total (relation ) 2 événements a sur Si et b sur Sj a b ssi (H(a) < H(b)) ou (H(a) = H(b) et i<j) Exemple d observation e11 e21 e22 e31 e12 e23 e32 e13 e24 e25 e14 32

Horloges vectorielles (1) Problèmes des horloges logiques Ordre artificiel sur les événements Incohérence vis-à-vis de la relation FIFO Solution Les horloges vectorielles ou horloges de Mattern & Fidge 33

Horloges vectorielles (2) Principe Horloge vectorielle / Site Taille du vecteur d horloge Nombre de sites But Dater les événements Identique aux horloges logiques Plus riches en informations 34

Horloges vectorielles (3) Fonctionnement Associer un vecteur V i à chaque site P i Init V i = (0,, 0) Evénement local à P i V i [i] = V i [i]+1 Message m estampillé par V m V m = V i de l émetteur 35

Horloges vectorielles (4) Réception d un message (m, V m ) par Pi V i [i] = V i [i]+1 V i [j] = max(v i [j], V m [j]), pour j = 1..n, j i 36

37

Horloges matricielles (1) Synthèse Horloge logique ou scalaire Réduite à un nombre Ce que Pi connaît du système (Hi) Horloge vectorielle Vecteur d horloges scalaires Ce que Pi connaît de Pj (Hi[j]) 38

Horloges matricielles (2) Horloges matricielles Matrice d horloges Principe Ce que Pi connaît de ce que Pj connaît de Pk (Hi[j,k]) Horloge matricielle / Site nxn HMi 39

Horloges matricielles (3) Evénement ei de Pi Daté par la valeur courante de HMi Envoi de message Estampillé par HMi 40

Horloges matricielles (4) Sémantique Interprétation de HMi[j,k] Nombre de messages de Pj vers Pk dont Pi a connaissance Règles de gestion Evénement local à Pi HMi[i,i] = HMi[i,i] + 1 41

Horloges matricielles (5) Envoi de message vers Pj HMi[i,i] = HMi[i,i] + 1 HMi[i,j] = HMi[i,j] + 1 Réception de (m,em) par Pj Délivré que si tous les messages qui sont causalement antérieurs à lui ont été délivrés Em[j,i] = HMi[j,i] + 1 Pour tout k i,j Em[k,i] = HMi[k,i] 42

Horloges matricielles (6) Délivrance et MAJ horloges HMi[i,i] = HMi[i,i] + 1 HMi[j,i] = HMi[j,i] + 1 Pour tout k i,j et pour tout l i HMi[k,l] = max(hmi[k,l], Em[k,l]) 43

44

Asynchronisme (1) Problématique Comment délivrer un ensemble d éléments dans un certain ordre Exemple Solution File de messages Propriété d un message reçu Stabilité Pas de message d estampille inférieure 45

Asynchronisme (2) Règle de délivrance Ne délivrer un message que s il est stable 46

Diffusion causale (1) Principe Diffusion d un message à un ensemble de processus destinataires Diffusion générale (broadcast) Diffusion sélective (multicast) Intérêt Très utile en programmation répartie Diffusion d un état 47

Diffusion causale (2) Problèmes Spécification précise du mécanisme de diffusion Définition d invariants Différentes formes de diffusion Garantir les propriétés (totalement ou partiellement) lors de défaillances 48

Diffusion causale (3) Diffusion causale Principes Communication fiable Propriété à garantir 49

Diffusion fiable Principe Un message est délivré à tous ses destinataires ou à aucun Sémantique du tout ou rien 50

Diffusion atomique Principe Appelée aussi diffusion totalement ordonnée Deux propriétés Diffusion est fiable Messages sont délivrés dans le même ordre à tous leurs destinataires 51

Diffusion FIFO Principe Deux messages émis par le même émetteur sont délivrés à tout récepteur dans leur ordre d émission 52

Etat d un SR (1) Théorie Existence d un observateur Accès instantané au système Impossible à mettre en œuvre physiquement Problématique Qu est ce qu un état en réparti? Quelle sémantique lui associer? 53

Etat d un SR (2) Coupure (cut) Image «instantanée» du système Ensemble d événements Eléments à gauche de la coupure Définition et propriétés Coupure C C E E = {Ensemble de tous les événements} 54

Etat d un SR (3) e C et (e e) e C Ordre par inclusion C 1 < C 2 si C 1 C 2 55

Coupure Cohérence Respect de la causalité Un message ne peut pas venir du futur Coupure cohérente Fermée par la relation de dépendance causale Etat global cohérent Associé à une coupure cohérente 56

57

58

59

PARTIE 9 Applications Réparties 60

Applications Réparties (1) Schémas d organisation Client / Serveur Question/Réponse (Requête/Résultat) Exécution de type synchrone Modèle de base: RPC Remote Procedure Call Appel de Procédure à Distance Modèle étendu: RMI Remote Method Invocation Invocation de méthode à distance 61

Applications Réparties (2) Basées sur la notion d objet Architectures à objets répartis Flots de communication Discrets Messages Continus Multimédia (Vidéo) 62

Applications Réparties (3) Applications mobiles Code (données) qui se déplace Machine virtuelle Hétérogénéité entre machines Problèmes de sécurité Mémoire partagée Localisation Centralisée Distribuée 63

Applications Réparties (4) P2P Peer-to-Peer ou Pair-à-Pair Modèle C/S plus flexible Tous les composants jouent le même rôle 64

Source: M. Quinson (ESIAL) 65

Introduction Application répartie Ensemble d applicatifs Fonctionnement collaboratif Communication + Synchronisation Aspects d une application répartie Traitement Stockage Echange avec l extérieur 66

Applications (1) Composant de base Procédure Elément d exécution et d échange Encapsulation du fonctionnement interne Accessible par son interface Plate-forme Locale Distante 67

Applications (2) Utilisation Appel de procédure Local Distant Modèle RPC (Remote Procedure Call) Invocation de méthode Local Distant Modèle RMI (Remote Method Invocation) 68

Modèles d exécution Plusieurs modèles Client/Serveur Communication par messages Communication par événements Objet Composant Services Services Web (Web services) 69

Modèle Client/Serveur Fonctionnalités Client Envoi de requêtes Demande de service Exécution synchrone Serveur Fournit un ou plusieurs services Exemples Serveur de fichiers, de BD, de noms, 70

Plate-forme d exécution (1) Centralisée Client et Serveur sur la même machine Appel de procédure classique Invocation de méthode Référence à un objet local Partage de ressources Communication par ressources partagées Signaux, Tubes (pipes), 71

Plate-forme d exécution (2) Répartie Client et Serveur sur deux machines distantes Pas de partage Communication par messages Hétérogénéité ou homogénéité Modèles de fonctionnement RPC RMI 72

Conception (1) Découpage d une application Déterminer les procédures (objets) qui la composent Découpage fin (granularité fine) Augmentation du nombre d appels Peu de calcul interne Augmentation de la charge réseau Effet sur le temps de traitement 73

Conception (2) Augmenter le grain Trouver un équilibre entre calcul et communication Améliorer le ratio Coût/Communication Structuration applicative Découpage au sens entreprise L application correspond à une activité de l entreprise 74

Conception (3) 3 niveaux Présentation Interfaces essentiellement graphiques Logique applicative Traitements Applications métiers Données Gestion (stockage, accès, ) 75

Modèle à 1 niveau Source: S. Krakowiak 76

Modèle à 2 niveaux Source: S. Krakowiak 77

Modèle à 3 niveaux Source: S. Krakowiak 78

Modèle à 3 niveaux (Suite) Source: S. Krakowiak 79

Modèle à 4 niveaux Source: S. Krakowiak 80

Schémas de conception (1) Conception et programmation d applications réparties Architecture de l application Définir les éléments de l application Relations entre ces éléments Désignation et liaison Comment nommer et découvrir Machines, Services, 81

Schémas de conception (2) Sécurité Différents niveaux Applicatif, OS, Données, etc. Gestion des erreurs Gestion des pannes Réseau, Client, Serveur Qualité de services (QoS) Gestion des transactions Transfert, exécution, erreurs, etc. 82

Application répartie Conception et mise en œuvre 3 concepts fondamentaux Encapsulation Séparation entre l interface et la partie programmation interne Abstraction Etre le plus indépendant possible Décomposition en niveaux Schémas de conception Patterns 83

Schéma Pattern (1) Design Patterns (Patrons de conception) Définition de règles qui tiennent compte de deux aspects Classe de besoins précise Environnement de mise en œuvre Caractéristiques Basés sur le passé (expériences) Solutions réutilisables Schéma de conception réutilisable 84

Schéma Pattern (2) Principes de conception Ne font aucune référence à l implémentation Solution à un problème récurrent Ne décrit pas toute la solution Dépendance vis-à-vis de l environnement 85

Schéma Pattern (3) Qu est ce qui n est pas pattern Brique de base Dépend de l environnement Une règle Ne s applique pas mécaniquement Une méthode Ne dit pas comment prendre une décision Le pattern est la solution 86

Schéma Pattern (4) Exemples MVC Modèle (Données) Vue (Représentation des données) Contrôle (Traitement sur les données) Motifs Adapter, Factory 87

Schéma Proxy Présentation Appelé aussi schéma mandataire Eléments de l application Objets répartis Accessibles à distance par des clients Transparence totale pour le client Localisation Réseaux Protocoles, Routages, etc 88

89

Schéma Factory (1) Schéma Fabrique Application Ensemble d objets distants Problèmes Créer dynamiquement plusieurs instances d une même classe Pas d espace partagé Paramétrer les instances Instances évolutives Pas de codage en dur 90

Schéma Factory (2) Solution Définition d une interface et d une organisation pour créer des objets Distinguer entre création fictive et création réelle Création réelle Déléguée à une fabrique qui implémente les méthodes de création Objectif d une factory Renvoyer des objets concrets qui implémentent une interface commune 91

Schéma Factory (3) Exemple Application où les utilisateurs doivent pouvoir exporter les données de plusieurs types d'objets (Personne, Société, Voiture, ) dans un format spécifique Ces objets ne doivent pas savoir qu'ils peuvent être exportés Contiennent juste des variables d'instance, des getters et setters mais jamais de méthode export() ou équivalent public static ExportObject createexportable(object source) 92

Schémas Wrapper (1) Schéma Adapter Fournisseurs délivrent des services Services accessibles par les clients Services définis par des interfaces Possibilité de modifier l interface d un serveur Convertir l interface d une classe vers une autre «interface» que le client connaît 93

Schémas Wrapper (2) Motivations Création de classes pour être réutilisées Contexte d utilisation de l objet n est pas dans le même domaine d utilisation que l application Exemple : Utiliser un objet Cercle dans un contexte d objets carrés Utilisation du code applicatif mais pas son interface 94

Schémas Wrapper (3) Principe Utilisation de l héritage multiple Créer un objet tiers (troisième objet) qui réunira deux objets de domaines différents 95

Schémas Interceptor (1) Schéma Intercepteur Basé sur la notion de service Contextes C/S, P2P, Synchrone, Asynchrone, Problèmes liés au service Modification, Mobilité, 96

Schémas Interceptor (2) Objectif Transformer un service sans modifier les clients et les serveurs Solution Créer des objets d interposition Interceptent les appels (retours) et insèrent des traitements spécifiques 97

Applications Web (1) Définition Manière standard d'invoquer une application distante et récupérer les résultats de son exécution à travers le web Web Support d exécution des applications Support de communication Indépendant de tout langage et de plateforme 98

Applications Web (2) Motivations Intégration d applications Qu est ce que l on intègre? Service Spécialisation d une tâche Service courrier Problématiques Applications indépendantes Applications hétérogènes 99

Applications Web (3) Objectifs Interopérabilité entre applications Couplage faible Coopération à travers des interfaces Outil de base XML 100

Applications Web (4) Propriétés d un service Auto-descriptif Repérable ou identifiable à partir d une description Eléments d un service web WSDL Web Services Description Language Langage de description d une interface 101

Applications Web (5) Accès à un service Web SOAP Simple Object Access Protocol Protocole Internet pour la communication Annuaire des Services UDDI Universal Description, Discovery and Integration Protocole pour l enregistrement et la découverte de services 102

Mise en oeuvre Source: S. Krakowiak 103

WSDL 104

SOAP Présentation Mécanisme d échange d informations typées et structurées Description à l aide d XML 105

Source: S. Krakowiak 106

UDDI Présentation Annuaire de description des services Assure plusieurs fonctions Pages jaunes Fournisseurs de services (catégorie) Pages blanches Fournisseurs de services (nom) Pages vertes Définition des services fournis 107