next up previous index
Next: About this document ... Up: Systèmes d'exploitation (Module Maîtrise Previous: Interblocages   Index

Subsections

Les systèmes distribués

Structure des réseaux

Motivation

Partage de ressources. Accélération du calculs. Fiabilité. Communication.

Classification

Flynn a établi une classification qui tient compte du nombre de processeurs (un ou plusieurs) et du nombre de mémoires (une ou plusieures). Cela donne les quatre classes suivantes :

SISD
Single Instruction, Single Data : les machines ``classiques''. Tous les chapitres précédents s'y rapportent.
SIMD
Les calculateurs vectoriels.
MISD
les bi-processeurs actuels.
MIMD
les réseaux : c'est l'objet de ce qui suit.

Topologie

Complètement connectés. Partiellement connectés. Réseaux hiérarchiques. Réseaux en étoile. Réseaux en anneau. Réseaux de bus à accès multiples. Réseaux hybrides.

Types de réseaux

Réseaux locaux. Réseaux à grande distance.

Communication

Nommage. (DNS)

Routage. (fixe, circuit virtuel, dynamique)

Connexion (circuits, messages, paquets)

Conflits (CSMA/CD, jeton, emplacements (ATM))

Structure des systèmes répartis

Systèmes d'exploitation de réseaux

Connexion à distance (telnet)

Transfert de fichiers (ftp)

Peu transparent à l'utilisateur, qui doit soit connaître plusieurs S.E. (telnet), soit maîtriser des commandes supplémentaires (ftp) et dupliquer de l'information (cohérence).

Systèmes d'exploitation répartis

Migration de données (ftp automatisé)

Migration de calculs (RPC)

Migration de processus (extension des RPC)

Les services à distance

Les appels de procédures distantes
(RPC) schéma page 514

Les threads
(processus légérs).

La robustesse

Le réseau peut tomber en panne (liaison, site, perte d'un message). Il faut pouvoir détecter et corriger ses défaillances.

Détection des défaillances
est un problème difficile. Il est généralement impossible de connaître la cause. Les techniques : poignée de mains à intervalles réguliers, second chemin,...

Reconfiguration
tables de routages, reconstruction de l'anneau, élection ...

Reprise après défaillance
diffusion, mise à jour (des défaillances dans l'intervalle, des courriers, ...), et reconfiguration.

Systèmes de fichiers répartis

C'est un système de fichiers dont les clients, les serveurs et les unités de stockages sont répartis entre les machines.

Nommage et transparence

Le nommage est la correspondance entre les objets physiques et logiques.

La transparence doit cacher l'endroit où se trouve le fichier dans le réseau. Son nom ne fait pas référence à l'emplacement physique, et ne doit pas être changé quand son emplacement physique change.

Une solution : un service de nommage.

Accès aux fichiers

Utilisation des RPC. Les mémoires caches permettent de minimiser le trafic sur le réseau, mais posent le problème de la cohérence des différentes mémoires caches.

Service avec ou sans état

Un service de fichiers avec états établit une connexion entre le client et le fichier. Le client à une référence à l'inode.

Un serveur sans état traite les réquêtes indépendemment les unes des autres, qu'elles proviennent d'un même client ou non.

Duplication des fichiers

Une solution pour diminuer les temps d'accès, mais qui d'une part, demande plus de disques, d'autre part, demande une gestion de la cohérence.

Un exemple : NFS

Network File System (SUN). schéma page 548.

Montage, auto-montage, client/serveur, RPC.

Coordination répartie

Le besoin de synchroniser et de faire communiquer des processus existe également dans un système réparti.

Ordre des événements

Il est nécessaire, pour traiter un certain nombre de problèmes, d'avoir un ordre global sur les événements d'un système.

Ordre physique

Peut être construit à partir de : adresse machine, numéro de processus, horloge locale.

Problème : pas cohérent (du fait des dérives) avec l'envoi et la réception de messages.

UTC : Temps Universel Coordonné suffit pour beaucoup de problèmes (dates des fichiers ...), mais insuffisant pour section critique, interblocages...car les délais de transmission ne sont pas connu exactement.

Ordre logique : les horloges de Lamport

Une relation R telle que :

1.
Pour chaque processus P, si a est antérieur à b, alors R(aP) < R(bP)
2.
Pour chaque couple de processus (P,Q), si P envoie à Q un message m, alors R(envoiP(m)) < R(receptionQ(m))

L'algorithme de Lamport :

1.
A chaque création de processus Pi, initialiser un compteur ci à 0.
2.
A chaque événement significatif de Pi, incrémenter ci.
3.
Estampiller chaque envoi de message m par Pi du compteur ci.
4.
A chaque réception de message (m,E) par un processus Pi, celui ci effectue l'opération ci = max(ci,E)+1.

Exclusion mutuelle

Approche centralisée

Un coordinateur : 3 messages par entrée (éventuellement un acquittement de la demande).

Pb : si le coordinateur tombe en panne.

Approche répartie

Interblocage

Approche centralisée

Approche répartie


next up previous index
Next: About this document ... Up: Systèmes d'exploitation (Module Maîtrise Previous: Interblocages   Index
Alain GRIFFAULT
2000-01-04