Vous êtes sur la page 1sur 34

Introduction

Chapitre 1
Définition d'un système distribué (1)

Un système distribué est :

Un ensemble d'ordinateurs
indépendants qui apparaît à
ses utilisateurs comme un
système unique et cohérent.
Définition d'un système distribué (2)

1.1

Un système distribué organisé en middleware.


Notez que la couche middleware s'étend sur plusieurs machines.
Transparence dans un système distribué
Transparence Description
Masquer les différences dans la représentation des
Accéder données et la manière dont une ressource est
accessible
Emplacement Masquer l'emplacement d'une ressource
Masquer le fait qu'une ressource peut être déplacée
Migration
vers un autre emplacement
Masquer le fait qu'une ressource peut être déplacée
Déménagement
vers un autre emplacement pendant son utilisation
Masquer qu'une ressource peut être partagée par
Réplication
plusieurs utilisateurs concurrents
Masquer qu'une ressource peut être partagée par
Concurrence
plusieurs utilisateurs concurrents
Échec Masquer la panne et la récupération d'une ressource
Masquer si une ressource (logicielle) est en mémoire
Persistance
ou sur disque
Différentes formes de transparence dans un système distribué.
Problèmes d'évolutivité

Concept Exemple

Services centralisés Un seul serveur pour tous les utilisateurs

Données centralisées Un annuaire téléphonique unique en ligne

Faire un routage basé sur des informations


Algorithmes centralisés
complètes

Exemples de limitations d’évolutivité.


Techniques de mise à l'échelle (1)

1.4

La différence entre louer :


a) un serveur ou
b) un client vérifie les formulaires au fur et à mesure qu'ils
Techniques de mise à l'échelle (2)

1,5

Un exemple de division de l'espace de noms DNS en zones.


Concepts matériels

1.6

Différentes organisations et mémoires de base dans un ordinateur


distribué
Multiprocesseurs (1)

1.7

Un multiprocesseur basé sur un bus .


Multiprocesseurs (2)

1.8

a) Un interrupteur crossbar
b) Un réseau de commutation oméga
Systèmes multi-ordinateurs homogènes

1-9

a) Grille
b) Hypercube
Concepts logiciels
Objectif
Système Description
principal

Système d'exploitation étroitement couplé Masquer et gérer


DOS pour multiprocesseurs et multi-ordinateurs les ressources
homogènes matérielles

Système d'exploitation faiblement couplé Offrir des services


SAI pour multi-ordinateurs hétérogènes (LAN et locaux aux clients
WAN) distants
Assurer la
Couche supplémentaire au-dessus du NOS
Intergiciel transparence de la
implémentant des services à usage général
distribution

Un aperçu de
• DOS (systèmes d'exploitation distribués)
• NOS (systèmes d'exploitation réseau)
• Intergiciel
Systèmes d'exploitation
monoprocesseur

1.11

Séparer les applications du code du système d'exploitation via


un micro-noyau.
Systèmes d'exploitation
multiprocesseurs (1)
surveiller le compteur {
privé:
nombre entier = 0 ;
publique:
int valeur() { nombre de retour ;}
void incr () { nombre = nombre + 1;}
void decr() { nombre = nombre – 1;}
}

Un moniteur pour protéger un entier contre les accès simultanés.


Systèmes d'exploitation
multiprocesseurs (2)
surveiller le compteur {
privé: vide décr() {
nombre entier = 0 ; si (compte ==0) {
int bloqué_procs = 0; bloqué_procs = bloqué_procs + 1 ;
état débloqué ; attendre (débloqué);
publique: bloqué_procs = bloqué_procs – 1 ;
int valeur () { nombre de }
retour ;}
autre
void incr () {
compte = compte – 1 ;
si (blocked_procs == 0)
}
compte = compte + 1 ;
}
autre
signal (débloqué);
}
Un moniteur pour protéger un entier contre les accès concurrents, mais
bloquer un processus.
Systèmes d'exploitation multi-
ordinateurs (1)

1.14

Structure générale d'un système d'exploitation multi-ordinateurs


Systèmes d'exploitation multi-
ordinateurs (2)

1.15

Alternatives pour bloquer et mettre en mémoire tampon le passage des


messages.
Systèmes d'exploitation multi-
ordinateurs (3)
Tampon Communication fiable.
Point de synchronisation
d'envoi garanti?
Bloquer l'expéditeur jusqu'à ce que le
Oui Pas nécessaire
tampon ne soit pas plein
Bloquer l'expéditeur jusqu'à l'envoi du
Non Pas nécessaire
message
Bloquer l'expéditeur jusqu'à ce que le
Non Nécessaire
message soit reçu
Bloquer l'expéditeur jusqu'à la livraison du
Non Nécessaire
message

Relation entre le blocage, la mise en mémoire tampon et les


communications fiables.
Systèmes de mémoire partagée distribuée
(1)
a) Pages d'espace
d'adressage réparties
sur quatre machines

b) Situation après CPU


1 références page 10

c) Situation si la page
10 est en lecture
seule et que la
réplication est
utilisée
Systèmes de mémoire partagée distribuée
(2)

1.18

Faux partage d'une page entre deux processus indépendants.


Système d'exploitation réseau (1)

1-19

Structure générale d'un système d'exploitation réseau.


Système d'exploitation réseau (2)

1-20

Deux clients et un serveur dans un système d'exploitation réseau.


Système d'exploitation réseau (3)

1.21

Différents clients peuvent monter les serveurs à différents endroits.


Middleware de positionnement

1-22

Structure générale d'un système distribué en tant que middleware.


Middleware et ouverture

1.23

Dans un système distribué basé sur un middleware ouvert, les


protocoles utilisés par chaque couche middleware doivent être les
mêmes, ainsi que les interfaces qu'elles offrent aux applications.
Comparaison entre les systèmes
Système d'exploitation
distribué Système
Système
d'exploitation
Article d'exploitati
basé sur un
Multiproc. Multicomp. on réseau
middleware

Degré de transparence Très haut Haut Faible Haut

Même système
d'exploitation sur tous Oui Oui Non Non
les nœuds
Nombre de copies du
1 N N N
système d'exploitation
La memoire Spécifique au
Base de communication messages Des dossiers
partagée modèle
La gestion des Mondial, Mondial,
Par nœud Par nœud
ressources central distribué
Une comparaison entre les systèmes d'exploitation multiprocesseurs, les systèmes
Évolutivité Non
d'exploitation multi-ordinateurs, lesModérément Oui réseau et les
systèmes d'exploitation Varie
systèmes distribués basés sur un middleware.
Ouverture Fermé Fermé Ouvrir Ouvrir
Clients et serveurs

1,25

Interaction générale entre un client et un serveur.


Un exemple de client et de serveur (1)

Le fichier header.h utilisé par le client et le serveur.


Un exemple de client et de serveur (2)

Un exemple de serveur.
Un exemple de client et de serveur (3)

1-27b

Un client utilisant le serveur pour copier un fichier .


Niveau de traitement

1-28

L'organisation générale d'un moteur de recherche Internet


en trois couches différentes
Architectures à plusieurs niveaux (1)

1-29

Organisations client-serveur alternatives (a) – (e).


Architectures à plusieurs niveaux (2)

1-30

Un exemple de serveur agissant en tant que client.


Architectures modernes

1-31

Un exemple de distribution horizontale d'un service Web.

Vous aimerez peut-être aussi