0% ont trouvé ce document utile (0 vote)
10 vues168 pages

Évolution des Systèmes d'Exploitation

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues168 pages

Évolution des Systèmes d'Exploitation

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi