Académique Documents
Professionnel Documents
Culture Documents
1
Systèmes parallèles et distribués
1- Introduction
2- Architecture d’un système
d’exploitation distribué ou réparti
3- Communications dans les systèmes
distribués
4- Gestion répartie des fichiers
5- Protection
2
Systèmes parallèles et distribués
Introduction
3
Introduction
M u lt i p r o c e s s e u r s M u l t i c a lc u la t e u r s
m é m o ir e s p a r ta g é e s M é m o ir e s p r iv é e s
Bus C o m m u ta te u r C o m m u ta te u r R é se au
•Stations de travail sur LAN
•Sequent Encore •RP3 et SPx •Transputer
•Grappes de PC sur
d’IBM •Machines parallèles à Etherswitch, ou réseau Myrinet
•Sun Enterprise mémoires réparties
Serveurs •Grilles sur WAN 7
Introduction
Classification
La classification est parfois floue et imprécise
Systèmes d’exploitation
Multiprocesseurs distribués
multicalculateurs Systèmes d’exploitation
à temps partagé
9
Introduction
La combinaison la plus fréquente : matériels
et logiciels faiblement couplés
Connexion point à point
Postes avec SE indépendants
Partage des imprimantes
Accès à un autre poste en mode terminal
Réseaux locaux Internet
FTP, TELNET
Stations NT
Windows Workgroups HTTP, RTLOGIN, …
10
Introduction
Système d’exploitation réseau
12
Introduction
Caractéristiques
Possédant un mécanisme de communication interprocessus
unique et global permettant le dialogue entre deux
processus quelconques
Possédant un système de protection unique et global
Possédant un mécanisme de gestion de processus unique
Possédant un ensemble d'appels système unique, disponible
sur toutes les machines
Possédant un noyau de système d'exploitation identique
implanté sur toutes les machines
Possédant un mécanisme de gestion de mémoire identique
13
Introduction
Système multiprocesseur à temps partagé
Un ensemble de processeurs "symétriques"
Une mémoire commune et un espace disque commun
Tous les programmes sont stockés dans la mémoire
partagée
Une file d'attente unique des processus exécutables
se trouvent dans la mémoire partagée
L'Ordonnanceur travaille en section critique pour
éviter que deux UC ne choisissent le même processus à
exécuter
L'exclusion mutuelle peut être réalisée en utilisant des
sémaphores, moniteurs, ... 14
Introduction
Mémoire
E prêt
UC UC UC D prêt
1 2 3 C en exécution
Processus A Processus B Processus C
en exécution en exécution en exécution B en exécution
bus
15
Introduction
Tableau de synthèse sur la classification des systèmes
d’exploitation
S.E.
Questions S.E.Rés S.E.Dist.
Mem.Par.
Transparence à l’emplacement
L'utilisateur ne connaît pas où sont situées les ressources
Les ressources peuvent être déplacées sans modification
Transparence à la migration
de leur nom
Transparence à la duplication
L'utilisateur ne connaît pas le nombre de copies existantes
Bus / Réseaux
École locaux
École Micronoyau
Monolithique Windows NT Idée intéressante qui permet de bâtir
1ers un système opératoire pour grappe
Unix ou grille, sur des systèmes
d’exploitation usuels
Linux Mach
‘‘Unix/Posix’’
18
Introduction
Fiabilité
Disponibilité
La disponibilité est la fraction de temps pendant laquelle le système est
utilisable :
limiter le nombre des composants critiques
dupliquer les parties clés des composants logiciels et matériels
(redondance) Sécurité
→ Savoir maintenir la cohérence des copies
Les ressources doivent être protégées contre des utilisations abusives
et malveillantes. En particulier le problème de piratage des données
sur le réseau de communication
Tolérance aux pannes
Le système doit être conçu pour masquer les pannes aux utilisateurs.
La panne de certains serveurs (ou leur réintégration dans le système
après la réparation) ne doit pas perturber l'utilisation du système en
terme de fonctionnalité (NFS sans état par exemple)
19
Introduction
Performances
Critères
Temps de réponse
Débit ‘‘Nombre de travaux par heure’’
Taux d’utilisation du système
Pourcentage d’utilisation de la bande
passante du réseau
20
Introduction
Problèmes
La communication est en général assez lente dans les
22
Introduction
Caractéristiques des algorithmes distribués
Aucun processus n'a une information complète sur
l'état du système
Les processus prennent des décisions à partir des
seules informations locales disponibles
La panne d'un processus n'empêche pas
l'algorithme de fonctionner
On ne fait pas l'hypothèse de l'existence d'une
horloge physique globale entre les machines sur
lesquelles tournent les processus mettant en
oeuvre l'algorithme 23
Structuration des systèmes
Monolithiques;
A couches;
Client/Serveurs ou Micro-noyau.
24
Structure d’un système monolithique
25
Structure d’un système monolithique
26
Structure d’un système monolithique
Le SE appelle la procédure
correspondante (localisation et
identification du service, qui est ensuite
appelé);
Le contrôle est rendu au programme de
l'utilisateur;
27
Structure d’un système monolithique
Système monolithique
Le système = un ensemble de procédure dont
chacune peut appeler n’importe quelle autre.
contraintes
Absence de structure
Absence d’encapsulation
28
Structure d’un système monolithique
30
Structure d’un système à couches
utilisateur
utilisateur
Inter de com Prog. d’app
Inter de com Prog. d’app
Gérant de fichiers
Gérant de fichiers
Allocation de ressources
Mono-utilisateur Matériel
monotâche Idéal 31
Structure d’un système micro-noyau
Micro-noyau
Principe : Un noyau minimaliste et tout
le reste du sytème sous forme de
service en espace utilisateur
On construit n’importe quel système
au dessus du noyau
32
Structure d’un système micro-noyau
Déplacer le plus possible du noyau en espace
utilisateur
Place à la communication entre les module
utilisateur par passage de messages
avantages:
Modèle de client-server
36
Structure d’un système micro-noyau
37
Structure d’un système micro-noyau
40
Un système réparti doit s'appliquer à
créer, sur cette architecture, une
machine virtuelle unique dans le but de
faire abstraction de la distribution de
l'architecture. L'utilisateur doit, par le
biais de ce système, avoir une vue
globale de celle-ci et utiliser ses
fonctionnalités sans se préoccuper du
lieu où celles-ci sont mises en oeuvre.
Le schéma ci-dessous présente un
exemple d'architecture distribuée.
41
42
Un système réparti est une couche
logicielle au dessus de la couche
matérielle. Il est susceptible d'utiliser
un ensemble de machines hétérogènes,
appelées plus communément "sites".
Chaque site peut avoir un ou plusieurs
processeurs, de la mémoire, une horloge
et des capacités de stockage ( disques ).
43
La communication entre les sites est
assurée via un réseau d'interconnexion
qui peut être un réseau local, voire un
réseau plus large ou tout simplement un
réseau de processeurs sur une machine
parallèle. Cette approche du système
réparti est proche de celle énoncée par
Tanenbaum et Van Renesse
44