ARCHITECTURES
ET
SYSTEMES EVOLUES
RACHID MBAREK
1MRID-ISITCOM
[Link]@[Link]
1
PLAN DU COURS
Chapitre I : Evolution des systèmes d’exploitation
Chapitre II : Paradigmes des systèmes
Chapitre III : Micro-noyaux
Chapitre IV : Systèmes d’exploitation modernes
Chapitre V : Ordonnancement des événements
Cours ASE
MRID-ISITCOM 2
PARTIE I
EVOLUTION DES
EVOLUTION
SYSTEMESDES
SYSTEMES
D’EXPLOITATION
D’EXPLOITATION
3
Architecture des systèmes (1)
Liée à l’architecture des
machines
Nécessite :
✓ D’avoir une idée globale sur l’architecture
✓ De définir une méthode de structuration
✓ De définir des méthodes d’organisation
Exploiter toutes les
potentialités d’une architecture
Cours ASE
MRID-ISITCOM 4
Architecture des systèmes (2)
Architecture : mode de
structuration
Monolithique
En couches
Machine Virtuelle
Client/Serveur
Micro noyaux, noyaux extensibles
Etc.
Cours ASE
MRID-ISITCOM 5
Evolution historique
(source : S. Krakowiack)
Cours ASE
MRID-ISITCOM 6
Recherche en système
Nécessaire pour :
Comprendre
Développer
Adapter
Création de paradigmes
Paradigme
✓ Démarche, mode d’organisation, modèle à
suivre
Cours ASE
MRID-ISITCOM 7
Introduction (1)
Notion de Système
Notion très universelle
✓ Vie courante
système politique, système éducatif, système
solaire, système numérique, système nerveux,
système D, …
✓ Informatique
système d’exploitation, système d’informations,
système distribué, système temps-réel, système
de gestion de base de données
Cours ASE
MRID-ISITCOM 8
Introduction (2)
Eléments communs
Ensemble d’éléments
Environnement spécifique
Interaction entre éléments
Objectif
✓ Remplir une fonction déterminée
Cours ASE
MRID-ISITCOM 9
Systèmes et Informatique
( 1)
Définition classique
Intermédiaire entre
✓ Matériel
✓ Applications
Définition réduite à l’aspect gestion
Définition plus large
✓ SGBD, IHM, …
Cours ASE
MRID-ISITCOM 10
Systèmes et Informatique
( 2)
Définition plus spécifique
Système défini par ses fonctions et ses
propriétés
✓ Machine virtuelle (Interfaces)
✓ Gestion ressources (physiques et logiques)
✓ Services (API)
✓ Qualité de services
Sécurité, Tolérance aux fautes, Performances, …
Cours ASE
MRID-ISITCOM 11
Evolution des systèmes (1)
Progrès (1)
Développement des réseaux
Informatique répartie
Nouveaux domaines
Middleware
Interopérabilité (hétérogénéité)
Communication
Répartition
Cours ASE
MRID-ISITCOM 12
Evolution des systèmes (2)
Conséquence
Système
✓ Composant comme tous les autres
Progrès (2)
Informatique mobile
✓ Pas de distinction entre système et
applications
✓ Système intégré aux applications
Cours ASE
MRID-ISITCOM 13
Systèmes modernes (1)
Bas niveau
Matériel
✓ Système d’exploitation, noyaux, micro
noyaux
Niveau intermédiaire
Middleware
Intégration horizontale de systèmes ou
d’applications
Cours ASE
MRID-ISITCOM 14
Systèmes modernes (2)
Intégrés aux applications
Systèmes temps-réel
Systèmes embarqués
Intégration verticale
Cours ASE
MRID-ISITCOM 15
Systèmes modernes (3)
Cours ASE
MRID-ISITCOM 16
Cours ASE
MRID-ISITCOM 17
Déconstruction de
systèmes (1)
Approche
Système décomposé en composants
élémentaires
Construction à la carte
✓ Adapté à un environnement particulier
✓ Plus performant
✓ Evolutif
Cours ASE
MRID-ISITCOM 18
Déconstruction de
systèmes (2)
Cours ASE
MRID-ISITCOM 19
Bases conceptuelles (1)
Gestion des ressources
Ordonnancement
Gestion de mémoire
Evaluation des performances
Cours ASE
MRID-ISITCOM 20
Bases conceptuelles (2)
Gestion de l’information
Nommage
Liaison
Représentation
Tolérance aux fautes
Sécurité
Cours ASE
MRID-ISITCOM 21
Bases conceptuelles (3)
Programmation
Parallèle
Répartie
Objets répartis
Mobile
Par composants
Web services
Cours ASE
MRID-ISITCOM 22
PARTIE II
PARADIGMES
PARADIGMES
23
Paradigmes des Systèmes
Virtualisation
Composition / Décomposition
Désignation / Liaison
Matérialisation
Cours ASE
MRID-ISITCOM 24
Virtualisation (1)
Virtualisation
Abstraction pure
Interfaces et boîtes noires
Ressource Virtuelle
✓ Processeur : Thread
✓ Mémoire : Mémoire Virtuelle
✓ Disque : Fichier
✓ Périphérique d ’E/S : Flot
✓ Ecran : Fenêtre
Cours ASE
MRID-ISITCOM 25
Eléments de la virtualisation
(source : S. Krakowiack)
Cours ASE
MRID-ISITCOM 26
Virtualisation (2)
Intérêts
✓ Hiérarchie de ressources
✓ Machines Virtuelles
Différentes de la machine physique
Simulateurs : DISCO, JVM
Identiques à la machine physique
Hyperviseurs : CP-67, VM-370
✓ Outil de conception (Interfaces)
✓ Elément essentiel pour le raisonnement
Définition d’invariants et preuves
Cours ASE
MRID-ISITCOM 27
Virtualisation (3)
✓ Guide pour l’implémentation
Spécification à suivre par les programmeurs
✓ Propice pour la recherche
Innovation, simulation
Choix de conception
Gestion de l’évolution
Inconvénients
✓ Performances
✓ Excès d’abstraction (contrôle)
Cours ASE
MRID-ISITCOM 28
Exemple : M.V (1)
Objectifs visés
Portabilité du code
Plateforme universelle
Vérification de codes binaires
Indépendance vis-à-vis des systèmes
d’exploitation
Support de code mobile
Cours ASE
MRID-ISITCOM 29
Exemple : M.V (2)
Cours ASE
MRID-ISITCOM 30
Exemple : JVM
Cours ASE
MRID-ISITCOM 31
Exemple : Emulateur
(VMWare)
Cours ASE
MRID-ISITCOM 32
Exemple : Exo-noyau
(Aegis)
Cours ASE
MRID-ISITCOM 33
Exemple : Grappes
virtuelles
Cours ASE
MRID-ISITCOM 34
Composition/Décomposition
(1)
Composition et
décomposition
Composition modulaire
✓ Paradigme très ancien
✓ Méthode de conception (modulaire)
Accès par interface (encapsulation)
Indépendance entre interface et implantation
✓ Evolutive
✓ Réutilisation (composants standards)
Cours ASE
MRID-ISITCOM 35
Composition/Décomposition
(2)
Paradigmes
✓ Composition hiérarchique
✓ Interception - Interposition
Exemple 1 : UNIX réparti
Unifie plusieurs SGF en une super-racine
Exemple 2 : Modèle RPC
Exemple 3 : Subcontracts
Spécialiser le comportement d ’un système
Exemple 4 : Proxies
Déplacer des fonctions coûteuses
✓ Composition dirigée par les données
Cours ASE
MRID-ISITCOM 36
Composition/Décomposition
(3)
Avantages / Inconvénients
✓ Concept simple
✓ Difficile à définir
✓ Manque de formalismes
✓ Solution :
Spécialiser ( Quoi, Comment ? )
Cours ASE
MRID-ISITCOM 37
Interception/Interposition
( 1)
Interface
Interface entre deux entités
Interposition d’une couche
supplémentaire
✓ Intercepte et réinterprète les appels
✓ Interception transparente pour les deux
entités
✓ Indépendance entre interface et réalisation
Cours ASE
MRID-ISITCOM 38
Interception/Interposition
( 2)
Cours ASE
MRID-ISITCOM 39
Unix Réparti
Cours ASE
MRID-ISITCOM 40
Modèle RPC (1)
Appel de procédure à
distance
Talons ou Stubs
✓ Modules d’interposition
✓ Emballage/Déballage des paramètres
✓ Communication
✓ Traitement des erreurs
✓ Représentant distant
Cours ASE
MRID-ISITCOM 41
Modèle RPC (2)
Cours ASE
MRID-ISITCOM 42
Modèle RPC (3)
Cours ASE
MRID-ISITCOM 43
Modèle RPC (4)
Cours ASE
MRID-ISITCOM 44
Subcontracts ou Springs
( 1)
Spécialisation du
comportement d’un système
Accès à un groupe d’objets
Gestion de caches
Mode déconnecté
Cours ASE
MRID-ISITCOM 45
Subcontracts ou Springs
( 2)
Cours ASE
MRID-ISITCOM 46
Interposition/Adaptation
( 1)
Objectif
Porter une application répartie sur des
clients légers
Méthode
Créer des mandataires (proxies) pour
supporter des fonctions coûteuses
Programmation indépendante des
serveurs
Cours ASE
MRID-ISITCOM 47
Interposition/Adaptation
( 2)
Cours ASE
MRID-ISITCOM 48
Composition par flot (1)
Principe
Flots et filtres
Variantes
1 processus par flot
✓ Messages dans x-kernel
1 processus par module de traitement
✓ Pipes Unix, Streams d’OS6 et Pilot
Cours ASE
MRID-ISITCOM 49
Composition par flot (2)
Construction de protocoles
Composition dirigée par le flux de
messages
✓ File
✓ Arbre
✓ Graphe de filtres
Exemple : x-kernel
✓ Canevas de composition pour les
protocoles
Cours ASE
MRID-ISITCOM 50
Composition par flot (3)
Cours ASE
MRID-ISITCOM 51
Composition par flot (4)
Assemblage de composants
Click
✓ Canevas pour la composition de routeurs
✓ Généralise x-kernel
✓ Graphe quelconque (avec circuit)
Cours ASE
MRID-ISITCOM 52
Liaison (1)
Liaison dans les systèmes
Notion fondamentale
Encore « floue »
Désignation / Liaison
✓ Désignation
Associer deux éléments : objet et nom
✓ Liaison
Accès à l’objet via le nom
Le nom peut lui-même être une liaison
Cours ASE
MRID-ISITCOM 53
Liaison (2)
Elément clé de la liaison
Moment
✓ Avant (statique) : efficace
✓ Tardive (dynamique) : adaptation,
souplesse
Evaluation paresseuse (lazzy evaluation)
Liaison locale
✓ Accès à un objet local
Interpréter une adresse par un programme
Cours ASE
MRID-ISITCOM 54
Liaison (3)
✓ Opération de liaison
Obtenir l’adresse physique
✓ Réalisation
Référence initiale → Adresse physique (EDL)
Utilisation de l’indirection
Génération ou chargement du code d’accès
Cours ASE
MRID-ISITCOM 55
Liaison - Multics (4)
Cours ASE
MRID-ISITCOM 56
Liaison (5)
Liaison en réparti
Accès à un objet distant
Principe
✓ Ramener la liaison répartie en une
liaison locale
✓ Copie locale de l’objet
Duplication, migration (mobilité)
Cours ASE
MRID-ISITCOM 57
Liaison (6)
✓ Créer le code d’accès sur le site de l’objet
Function shipping, code mobile, agents mobiles
✓ Créer un représentant local de l’objet
Généralisation du modèle RPC
Discussion
✓ Pluralité de mécanismes
✓ Paradigmes de base
Interposition vs substitution de nom
Copie ou mobilité
Cours ASE
MRID-ISITCOM 58
Liaison (7)
Cours ASE
MRID-ISITCOM 59
Liaison (8)
Liaison et objet distant
Principe
✓ Généraliser le modèle RPC
✓ Création d’un représentant local de l’objet
distant avec la même interface
Cours ASE
MRID-ISITCOM 60
Liaison (9)
Cours ASE
MRID-ISITCOM 61
Liaison (10)
Liaison par interposition
Formes de l’objet de liaison
✓ Talon+Squelette+Protocole de
communication+Réseau
✓ Duplication ou migration de l’objet
✓ Génération ou chargement de code
Principe unificateur
✓ Fabrique de liaison (binding factory)
Cours ASE
MRID-ISITCOM 62
Liaison (11)
Cours ASE
MRID-ISITCOM 63
Matérialisation (1)
Matérialisation ou Réification
Diminuer l’abstraction
Réflexion et méta-objets
Contraire de la virtualisation
Matérialiser (Réifier, Instancier)
✓ Donner une forme concrète
✓ Matérialiser une entité, un objet
Cours ASE
MRID-ISITCOM 64
Matérialisation (2)
Intérêt
Se trouve dans la virtualisation
✓ Libère l’utilisateur du problème de la
gestion des ressources virtuelles
✓ Mais
Le prive de la maîtrise de leur utilisation
Cache leur interface
✓ Virtualisation excessive
Obstacle pour les performances et l’adaptabilité
Cours ASE
MRID-ISITCOM 65
Matérialisation (3)
Méthodes
Extension dynamique
Méta-objets
Systèmes réflexifs
Domaines d’application
Micro-, nano-, exo-, ... Noyaux
Middleware, Systèmes Répartis
Cours ASE
MRID-ISITCOM 66
PARTIE III
MICRO-NOYAUX
M ICRO-NOYAUX
67
TYPES DE SYSTEMES
Systèmes Généralistes vs.
Spécialisés
Systèmes classiques
✓ Non dédiés à une classe d’applications
particulières
Systèmes modernes
✓ Orientés (architectures, applications, etc.)
Temps-Réel, Parallèles, Distribués, Mobiles,
Tolérants aux fautes, Objets, Agents, Sécurisés, etc.
Cours ASE
MRID-ISITCOM 68
MICRO-NOYAUX (1)
Motivations
Remédier aux défauts des noyaux
monolithiques
Gestion de ressources libre
Concevoir des systèmes sur mesure
Réduction du noyau (mode superviseur)
Taille système vs taille ressources
✓ Mobile, Embarqué
Cours ASE
MRID-ISITCOM 69
Cours ASE
MRID-ISITCOM 70
MICRO-NOYAUX (2)
Noyau monolithique
Contient toutes les fonctionnalités
Noyau hétérogène et complexe
✓ Utilisateurs, Fichiers, Réseau, Processus,
Mémoire, etc.
Boîte noire
✓ Pas d’ajout, de suppression, de
modification
Cours ASE
MRID-ISITCOM 71
MICRO-NOYAUX (3)
Peu compréhensibles
Non (ou peu) modifiables
Exemple : SGF
Pas de support pour le distribué
Cours ASE
MRID-ISITCOM 72
Approche Monolithique
Cours ASE
MRID-ISITCOM 73
Approche Micro-noyau
Cours ASE
MRID-ISITCOM 74
MICRO-NOYAUX (4)
Introduction
Elément fondamental des OS
Principes
Noyau (Kernel) minimal
Reste du système : Ens. de Services
Non utilisable en l’état
Base pour la construction d’un OS
Unix, Linux
Cours ASE
MRID-ISITCOM 75
MICRO-NOYAUX (5)
Conception
Base pour construire un système
Contient les abstractions de base
Exemples
✓ Construction de systèmes UNIX
Chorus/Mix, mkLinux, Distributions Linux
✓ Construction de systèmes spécifiques
Temps-Réel, Distribué, Embarqué
Maintenance, Adaptation
Cours ASE
MRID-ISITCOM 76
MICRO-NOYAUX (6)
Micro-noyau
Modulaire
Flexible
Adaptable
Réparti
Structure
Partie Interne (intra)
Partie externe (au dessus du noyau)
Cours ASE
MRID-ISITCOM 77
MICRO-NOYAUX (7)
Contenu
Eléments de base
Identificateurs, acteurs, threads, messages, ports
Au dessus
Ensemble de services
Création d’abstractions utilisables à
partir d’abstractions du noyau
Processus, Fichiers, IPC
Cours ASE
MRID-ISITCOM 78
MICRO-NOYAUX (8)
Services groupés en Sous-Systèmes
Flexibles et adaptables
Quelques exemples
Les plus connus
✓ Mach , Chorus
Autres
✓ System-V, Amoeba
Cours ASE
MRID-ISITCOM 79
MICRO-NOYAUX (9)
Cours ASE
MRID-ISITCOM 80
CHORUS (1)
Micro-noyau très connu
Abstractions du noyau
Identificateur
✓ Identificateur unique pour tous les objets
✓ Unique dans un environnement réparti
Acteur
✓ Collection de ressources
✓ Possède un espace mémoire protégé
Cours ASE
MRID-ISITCOM 81
CHORUS (2)
✓ Supporte l’exécution d’un ou plusieurs
threads
✓ 3 Catégories d’acteurs :
Système
Superviseur
Utilisateur
Thread
✓ Unité d’exécution séquentielle (Processus)
✓ Appartient à un acteur unique
✓ Un acteur peut avoir plusieurs threads
Cours ASE
MRID-ISITCOM 82
CHORUS (3)
✓ Exécution concurrente
✓ Partagent le même espace d’adressage
✓ Communiquent via les IPC
Message
✓ Moyen de communication
✓ Local ou distant (échange banalisé)
Port
✓ Entité qui reçoit les messages
✓ Appartient à un acteur
Cours ASE
MRID-ISITCOM 83
CHORUS (4)
✓ Peuvent être rassemblés en Groupes
✓ Envoi de messages vers le groupe
Couche au dessus du noyau
Contient des services
Accessibles par les utilisateurs
Adapté à la flexibilité
Utilise les abstractions de bas niveau
Cours ASE
MRID-ISITCOM 84
CHORUS (5)
Exemple : SGF
✓ Défini par son port
✓ Emission des requêtes vers le port
✓ Implémente les fonctions associées
✓ Utilise d’autres services (device)
Cours ASE
MRID-ISITCOM 85
PARTIE IV
S YSTEMES
SYSTEMES
D’EXPLOITATION
D’EXPLOITATION
M ODERNES
MODERNES
86
Systèmes Evénementiels (1)
Définitions d’un système
informatique
Action
Réaction
✓ Comportement normal de programmes
systèmes
Interruptions
✓ Comportement d’applications
Interface graphique
Cours ASE
MRID-ISITCOM 87
Systèmes Evénementiels (2)
Mise en œuvre
Canevas applicatif
✓ On ne donne pas une liste de procédures
du système à appeler pour concevoir une
application
✓ On donne une liste de procédures que le
système appellera sur l’application au
moment voulu
Cours ASE
MRID-ISITCOM 88
Systèmes Evénementiels (3)
Cours ASE
MRID-ISITCOM 89
Systèmes à base de flux
( 1)
Données représentées par
des flux
Sockets, Fichiers, Tubes
Comportement du système
✓ Flux de données entrants
✓ Application d’opérations
✓ Flux de données sortants
ps –aux | grep rachid | sort
Cours ASE
MRID-ISITCOM 90
Systèmes à base de flux
( 2)
Avantages
Synchronisation par les données
Autorégulation de la charge
Cours ASE
MRID-ISITCOM 91
Systèmes à base de flux
( 3)
Cours ASE
MRID-ISITCOM 92
Systèmes Distribués (1)
Système centralisé
Un référentiel spatial (MC: Adressage)
Un référentiel temporel (UC: Horloge)
Partagés par les processus
Etat global instantané
Système simple
Mauvaise exploitation des ressources
Pas de vraie concurrence
Cours ASE
MRID-ISITCOM 93
Systèmes Distribués (2)
Système distribué (réparti)
Ensemble de machines autonomes
Reliées par un réseau
Interaction par message
Pas d’état global instantané
✓ Plusieurs espaces d’adressage
✓ Plusieurs horloges
✓ Pas de référentiels communs
Cours ASE
MRID-ISITCOM 94
Systèmes Distribués (3)
Meilleure exploitation des ressources
Très flexible
Adapté à l’informatique moderne
✓ Répartition et Mobilité
Tolérants aux fautes
Puissance à faible coût
✓ Réseau de PC (Cluster)
✓ Grilles de Calcul (Grid Computing)
Cours ASE
MRID-ISITCOM 95
Systèmes Distribués (4)
Adapté à la structuration des
applications
✓ Module, Objet, Agent
Dimensionnement facile d’un système
Généraux ou spécialisés
Problème majeur
✓ Datation des événements
✓ Mais aussi beaucoup d’autres
problèmes !!!
Cours ASE
MRID-ISITCOM 96
Systèmes Distribués (5)
Types
Système de communication de groupe
✓ ISIS , Horus
Système de Fichiers Répartis
✓ N FS
Système Clients / Serveurs
✓ DCE, Corba, DCOM
Cours ASE
MRID-ISITCOM 97
Communication de Groupe
(1)
Communication et Groupe
Outils de base pour construire des
applications et systèmes répartis
Objectif
Définir des groupes d’utilisateurs
Envoi au groupe
Problème
Ordonnancement des messages
Cours ASE
MRID-ISITCOM 98
Communication de Groupe
(2)
Diffusion de type FIFO
Processus émet 2 messages
Réception dans le même ordre par les
membres du groupe
Ordonnancement aléatoire du flux de
messages
Diffusion Atomique
Même ordre de réception
Cours ASE
MRID-ISITCOM 99
Communication de Groupe
(3)
Diffusion Causale
Trouver des relations de causalité entre
messages
Relations de causalité
✓ Emission précède la réception
✓ Réception message m puis émission
message m’
Ordre d’arrivée respecte la causalité
définie
Cours ASE
MRID-ISITCOM 100
Système de Fichiers Répartis
(1)
Partage d’un SGF
Plusieurs machines se partagent le
même système de fichiers
Accès locaux et distants
Exemple 1 : Système NFS
Architecture de type Client/Serveur
Serveurs stockent les fichiers grâce à
un système de fichier local (UFS)
Cours ASE
MRID-ISITCOM 101
Système de Fichiers Répartis
(2)
Clients montent des partitions distantes
Accès à un fichier
✓ Requête + Réponse à travers le réseau
Evite la duplication
Problèmes
✓ Sécurité
✓ Performances (clients, réseaux)
Cours ASE
MRID-ISITCOM 102
Système de Fichiers Répartis
(3)
Exemple 2 : Système AFS
Répartition à l’échelle mondiale
Utilise la notion de cache
Problèmes
✓ Existence du même fichier dans plusieurs
caches
✓ Ecritures concurrentes
Cours ASE
MRID-ISITCOM 103
Environnements
Client/Serveur (1)
Intérêt
Permettre la programmation
d’applications concurrentes
Structurer une application en services
Serveurs
✓ Implémentent les services
Clients
✓ Utilisent les services
✓ Accès aux services via des RPC (RMI)
Cours ASE
MRID-ISITCOM 104
Environnements
Client/Serveur (2)
Exemples
✓ Serveurs d’impression
✓ Serveurs de bases de données
Exemple 1 : DCE
Envt de programmation répartie
Système de fichiers AFS
Threads et RPC
Supporte l’hétérogénéité
Cours ASE
MRID-ISITCOM 105
Environnements
Client/Serveur (3)
Exemple 2 : CORBA
Spécification (Norme de l’OMG)
Elément essentiel : ORB
✓ Object Request Broker
✓ Interface ou Bus
Basé sur le modèle Objet
Cours ASE
MRID-ISITCOM 106
Environnements
Client/Serveur (4)
Objet Serveur
✓ Représenté par son interface IDL
(Interface Definition Language)
✓ Précise comment utiliser le serveur
Objet Client
✓ Invoque un serveur à travers son IDL
Assure l’interopérabilité
✓ ORB communiquent entre eux via une
couche IIOP
Cours ASE
MRID-ISITCOM 107
Environnements
Client/Serveur (5)
Exemple 3 : DCOM
Système Client/Serveur de MicroSoft
Modèle objet ( très limité !!! )
Homogène (Intel)
Cours ASE
MRID-ISITCOM 108
Avantages du modèle
Client/Serveur (1)
Première infrastructure
informatique pour un travail
coopératif
Centralisation des
traitements au niveau du
serveur
Cours ASE
MRID-ISITCOM 109
Avantages du modèle
Client/Serveur (2)
Pas de duplication des
données
Etat global observable
Gestion simple
Cohérence
Intégrité
Cours ASE
MRID-ISITCOM 110
Inconvénients du modèle
Client/Serveur (1)
Relation directe entre le
client et le serveur
Modèle scindé en deux
catégories
Clients proactifs
Serveurs réactifs
Cours ASE
MRID-ISITCOM 111
Inconvénients du modèle
Client/Serveur (2)
Augmentation de
l'hétérogénéité
Langages spécifiques aux plates-formes
de développement
Cours ASE
MRID-ISITCOM 112
Inconvénients du modèle
Client/Serveur (3)
Modèle trop rigide
N’assure pas l'évolution et la
réutilisabilité des composants
✓ Notification d’événements
Cours ASE
MRID-ISITCOM 113
Inconvénients du modèle
Client/Serveur (4)
Ne résout pas les problèmes
De portabilité
D’interopérabilité
Pas de transparence de
localisation
Cours ASE
MRID-ISITCOM 114
Systèmes à Objets Distribués
(1)
Modèle Objets Distribués
Description conceptuelle du modèle de
communication
Objets interopèrent à travers un
réseau
Implantation
Systèmes à objets distribués
Cours ASE
MRID-ISITCOM 115
Systèmes à Objets Distribués
(2)
Système client/serveur
Restriction du modèle à objets
distribués
Application d'objets
distribués
Application développée au sein d’un
système à Objets Distribués
Cours ASE
MRID-ISITCOM 116
Systèmes à Objets Distribués:
Propriétés (1)
Transparence de localisation
Transparence de concurrence
Transparence de duplication
Gestion de l’hétérogénéité
des plates-formes
Cours ASE
MRID-ISITCOM 117
Systèmes à Objets Distribués:
Propriétés (2)
Ouverture
Reconfiguration dynamique
Fiabilité
Reprise sur panne
Cours ASE
MRID-ISITCOM 118
Avantages et
Inconvénients (1)
Avantages
Modélisation naturelle
✓ Proche du monde réel
Réutilisabilité des composants assurée
Indépendance de localisation des objets
clients et serveurs
✓ Migration facile des objets
Intégration de systèmes propriétaires
Cours ASE
MRID-ISITCOM 119
Avantages et
Inconvénients (2)
Inconvénients
Absence d'un état global observable
✓ Pas de mémoire commune
Granularité des objets distribués
Performance
Déboguage
Cours ASE
MRID-ISITCOM 120
Problèmes
Persistance
Migration
Fragmentation
Réplication
Partage
Récupération d’objets
Cours ASE
MRID-ISITCOM 121
Systèmes à Mémoire Virtuelle
Répartie (1)
Problèmes liés au modèle
Client/Serveur
Structuration
✓ Basée sur la notion de service
✓ Programmation non naturelle
Modèle d’exécution
✓ Site d’exécution d’une tâche est statique
Cours ASE
MRID-ISITCOM 122
Systèmes à Mémoire Virtuelle
Répartie (2)
Solution
Créer une mémoire répartie mais
virtuelle
Accessible par toutes les machines
Programmation plus naturelle
✓ Threads
✓ Plus simple
✓ Moins performante
Cours ASE
MRID-ISITCOM 123
Systèmes Temps-Réel (1)
Attention !!!
Temps-réel ne signifie pas RAPIDE
Introduction
Temps
✓ Composante du système et/ou des
applications
✓ Associer une date de délivrance ou un
délai à un événement
Cours ASE
MRID-ISITCOM 124
Systèmes Temps-Réel (2)
Système Temps-réel
Garantie sur les temps de traitement
Types : 2
Contrainte sur les dates
✓ Systèmes TR Hard
Date doit être impérativement respectée
Aucune déviation n’est tolérée
✓ Systèmes TR Soft
Allégement de la contrainte de date ( + , - )
Cours ASE
MRID-ISITCOM 125
Systèmes Temps-Réel (3)
Tâches
Périodiques
Episodiques
Tolérantes aux fautes
Ordonnancement
Essentiel dans les systèmes TR
Maîtriser l’allocation des ressources
Cours ASE
MRID-ISITCOM 126
Systèmes Temps-Réel (4)
Spécification des tâches
Spécifier les contraintes temporelles
Exprimer les besoins en ressources
Cours ASE
MRID-ISITCOM 127
Systèmes Tolérants aux Fautes
(1 )
Composants d’un système
Physiques
Logiques
Soumis aux pannes
Problème
Réaction après une panne ?
✓ Continuer ou Arrêter
Cours ASE
MRID-ISITCOM 128
Systèmes Tolérants aux Fautes
(2 )
Pannes
Existent en centralisé
Mais aussi dans tout type de
système
Cours ASE
MRID-ISITCOM 129
Systèmes Tolérants aux Fautes
(3)
Terminologie
Défaillance
✓ Comportement différent de la spécification
Erreur
✓ Etat du système qui peut entraîner une
défaillance
Faute
✓ Cause de l’erreur
Cours ASE
MRID-ISITCOM 130
Systèmes Tolérants aux Fautes
(4)
Méthodes
Compensation de l’erreur
✓ Continuer malgré l’erreur
Recouvrement d’erreur
✓ Remplacer l’état erroné par un état sûr
Cours ASE
MRID-ISITCOM 131
Systèmes Tolérants aux Fautes
(4)
Technique
Redondance (Replication)
✓ Dupliquer un composant
Niveaux de tolérance
Un système ne peut pas tout tolérer
Définir ce que l’on peut tolérer
Définir la redondance associée
Définir la mise en œuvre
Cours ASE
MRID-ISITCOM 132
Systèmes Transactionnels
Unité de base
Transaction
✓ Unité de code
✓ Atomique
✓ Sémantique
Tout ou Rien
✓ Préserve la cohérence (ACID)
✓ Exemple : Transaction bancaire
Associés généralement aux SGBD
Cours ASE
MRID-ISITCOM 133
Systèmes Embarqués
Introduction
Associés à des dispositifs physiques
Objectifs
✓ Guider et/ou surveiller leur
comportement
✓ Fournir des informations en temps réel
Qualités
✓ Très rapides, Fiables
✓ Minimaux d’un point de vue taille
Cours ASE
MRID-ISITCOM 134
Systèmes Mobiles (1)
Présentation
Mobilité
✓ Composants physiques
✓ Composants logiques
Exemples
✓ Ordinateurs portables
✓ Téléphones portables
✓ Réseaux sans fils
Cours ASE
MRID-ISITCOM 135
Systèmes Mobiles (2)
Problèmes
Ressources limitées
✓ CPU, Mémoire, etc…
Déconnexion
Réseau exigé dans certains cas
✓ Mail, Serveur de fichiers distant
Adressage
Localisation
Cours ASE
MRID-ISITCOM 136
PARTIE V
O RDONNANCEMENT
ORDONNANCEMENT
D ES E
DES VENEMENTS
EVENEMENTS
137
Introduction (1)
Systèmes Répartis
Evolution asynchrone
Pas de mémoire commune
✓ Communication par messages
Pas d’horloge commune
Cours ASE
MRID-ISITCOM 138
Introduction (2)
Système de communication
TComm >>
TTransitions locaux
Temps de transmission variables
Ordre des messages non préservé
Cours ASE
MRID-ISITCOM 139
Introduction (3)
Conséquences
Perception différente d’un même
événement
Etat global instantané impossible à
définir
Problèmes
✓ Synchronisation
✓ Observation
✓ …
Cours ASE
MRID-ISITCOM 140
Modèle (1)
Eléments du modèle
Système
✓ Ensemble de processus (1/Site)
✓ Canaux de communication
Processus
✓ Séquence d’événements locaux
✓ Mémoire locale
✓ Horloge locale
Cours ASE
MRID-ISITCOM 141
Modèle (2)
Evénement
✓ Changement d’état d’un processus
Evénement interne
✓ Communication
Emission ou Réception
Objectifs
Temps global
✓ Temps virtuel
Ordre compatible avec une causalité
Cours ASE
MRID-ISITCOM 142
Relation de dépendance
causale (1)
Ordre partiel
Sur l’ensemble des événements
Noté
E1 E2
✓ E1 et E2 : événements du même processus
✓ E1 et E2 : événements de communication
✓ E3 : E1 E3 et E3 E2
Cours ASE
MRID-ISITCOM 143
Relation de dépendance
causale (2)
Dépendance causale
Dépendance potentielle
Cours ASE
MRID-ISITCOM 144
Relation de dépendance
causale (3)
Passé
Associé à un événement
Appelé aussi son historique
Noté Hist(e’)
Ensemble des événements e
✓ e e’
Cours ASE
MRID-ISITCOM 145
Relation de dépendance
causale (4)
Chaîne causale
e0, ... ,en : ei-1 ei, i=1,...,n
Evénements concurrents
Causalement indépendants
✓ e || e’ ssi ¬ (e e’) et ¬ (e’ e)
Cours ASE
MRID-ISITCOM 146
Relation de dépendance
causale (5)
Cours ASE
MRID-ISITCOM 147
Etat global et coupure (1)
Background
Calcul distribué
✓ Ensemble E d’événements
Coupure
✓ Image instantanée de l’état
Ensemble d’événements (virtuels)
Un par processus
Permet de définir un passé et un futur par rapport à
la coupure
Cours ASE
MRID-ISITCOM 148
Etat global et coupure (2)
Propriétés d’une coupure
✓ Relation d’ordre partiel sur les coupures
Par inclusion des passés
✓ Etat associé à une coupure C
Ensemble d’états locaux ci
Effet local de tout événement de C pris en compte
par ci
Cours ASE
MRID-ISITCOM 149
Etat global et coupure (3)
Cours ASE
MRID-ISITCOM 150
Coupures (1)
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
Cours ASE
MRID-ISITCOM 151
Coupures (2)
Cours ASE
MRID-ISITCOM 152
Observation (1)
Observation d’un calcul
réparti
Linéarisation
Ordre total sur les événements
Observation valide
✓ Compatible avec la relation de précédence
causale
✓ Si e e’ alors e e’
✓ Observée par un élément extérieur
Cours ASE
MRID-ISITCOM 153
Observation (2)
Conditions de validité
Construction d’une observation
✓ Par un processus extérieur P0
✓ P0 est un observateur
✓ Reçoit une notification de tous les
événements du système
Hypothèses
✓ Dater les événements H(e)
✓ Temps de transmission borné: d
Cours ASE
MRID-ISITCOM 154
Observation (3)
Principe de construction
Instant T
Suite d’événements
✓ Reçus au temps T-d
✓ Ordonnés par leur date
Valide si
e e’ H(e) H(e’)
Cours ASE
MRID-ISITCOM 155
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 sur chaque site
Compteur : Hi
Cours ASE
MRID-ISITCOM 156
Horloges logiques (2)
Evénement sur site i
✓ Daté par H(e) = Hi
Cours ASE
MRID-ISITCOM 157
Horloges logiques (3)
Algorithmique
Init : Hi = 0 pour tout i
Evénement e local
✓ Hi = Hi + 1
✓ Dater e avec Hi
✓ Emission d’un message m
Estampiller m
( m , Hi(m) )
Cours ASE
MRID-ISITCOM 158
Horloges logiques (4)
✓ Réception d’un message
Hj = max ( Hj , Hi ) + 1
Dater la réception avec Hj
Cours ASE
MRID-ISITCOM 159
Horloges logiques (5)
Cours ASE
MRID-ISITCOM 160
Horloges logiques (6)
Ordre total
2 événements
✓ e sur Si et e’ sur Sj
✓ e e’ ssi
(H(e) < H(e’)) ou (H(e) = H(e’) et i<j)
Exemple d’observation
e11 e21 e22 e31 e12 e23 e32 e13 e24 e25
e14
Cours ASE
MRID-ISITCOM 161
Horloges vectorielles (1)
Principe
Associer un vecteur Vi à chaque site Pi
Init : Vi = (0, …, 0)
Evénement local à Pi
✓ Vi[i] = Vi[i]+1
Message m estampillé par Vm
✓ Vm = Vi de l’émetteur
Cours ASE
MRID-ISITCOM 162
Horloges vectorielles (2)
Réception d’un message (m, Vm) par Pi
✓ Vi[i] = Vi[i]+1
✓ Vi[j] = max(Vi[i], Vm[j]) pour j = 1..n, j i
Cours ASE
MRID-ISITCOM 163
Horloges vectorielles (3)
Cours ASE
MRID-ISITCOM 164
Horloges vectorielles (4)
Propriétés
Relation d’ordre partiel
✓ V V’ défini par i : V[i] V’[i]
✓ V V’ défini par V V’ et V V’
✓ V V’ défini par (V V’) et (V’ V)
Cours ASE
MRID-ISITCOM 165
Horloges vectorielles et
coupures (1)
Cours ASE
MRID-ISITCOM 166
Horloges vectorielles et
coupures (2)
Coupure
Date
✓ (2, 3, 3, 2)
✓ Valeur
Vc = sup (V(c1), ... V(cn))
= sup ((2,1,0,0), (2,3,3,1), (2,1,2,1), (0,0,0,2)
= (2,3,3,2)
Cours ASE
MRID-ISITCOM 167
Horloges vectorielles et
coupures cohérentes
Coupure cohérente si
Vc = (V(c1)[1], ... , V(cn[n])
Cours ASE
MRID-ISITCOM 168