Académique Documents
Professionnel Documents
Culture Documents
CONSTRUCTION
DE
SYSTEMES
-
MICRO-NOYAUX
Eric Gressier-Soudan
DEA - module TC-BDSR novembre 3, 2003
Plan
Introduction
Micro-Noyaux
Sous-Systèmes
Systèmes à Objets
Abstractions de base
2
DEA - module TC-BDSR novembre 3, 2003
INTRODUCTION
3
DEA - module TC-BDSR novembre 3, 2003
APPLICATIONS
Serveurs BD
CDI
Télévision Interactive
Stations de travail
Applications
GSM Imagerie Multimédia
Médicale
Multimédia
Systèmes
d'Information Systèmes embarqués
Productique
Jeux Vidéo Commutateurs/Routeurs
Télécommunications
GroupeWare Réseaux Haut Débit
Super-calculateurs
Contrôle de
Processus
4
DEA - module TC-BDSR novembre 3, 2003
Multiprocesseurs
Micro-noyaux
Objets Client-Serveur
Distribué DEC Alpha
Standards : Parallèlisme
POSIX,X11,
PowerPC
TCP/IP,NFS, Hétérogénéité
OMG-CORBA MIPS : Rx000
... Coopératif
ATM
FDDI
Ethernet
Personnalités :
UNIX,Windows,...
Tolérance aux Pannes
Temps Réel
Sécurité
Sûreté
Gestion de
la concurence
5
DEA - module TC-BDSR novembre 3, 2003
6
DEA - module TC-BDSR novembre 3, 2003
. Flexibilité / Modularité
7
DEA - module TC-BDSR novembre 3, 2003
. Fiabilité
-> Disponibilité :
Leslie Lamport donnant une définition d'un système
distribué :
"One on which I cannot get any work done because
some machine I have never heard of has crashed"
8
DEA - module TC-BDSR novembre 3, 2003
. Fiabilité
-> Tolérance aux pannes / Sûreté de
fonctionnement :
9
DEA - module TC-BDSR novembre 3, 2003
. Fiabilité
-> Sécurité
. propriétés visées :
contrôle d'accès,
authentification,
intégrité,
confidentialité,
non-répudiation
. techniques :
cryptographie à clefs privées ou à
clefs publiques,
fonctions univoques ou hachage,
signature
protocoles de sécurité
Eric Gressier-Soudan Cnam-Cedric
10
DEA - module TC-BDSR novembre 3, 2003
beaucoup d'utilisateurs
de machines
de services
de trafic
=> centralisation impossible
hétérogénéité
intégrabilité et extensibilité
11
DEA - module TC-BDSR novembre 3, 2003
12
DEA - module TC-BDSR novembre 3, 2003
Micro-noyaux
13
DEA - module TC-BDSR novembre 3, 2003
Paradigme
. Novell/USL ... HP
. Microsoft
. Apple
. DEC
. Sun
. ALCATEL
. Siemens
. Cisco
. Unisys
. Cray
...
14
DEA - module TC-BDSR novembre 3, 2003
- Messagerie Electronique
Services
Interconnexion Répartis
90's
. Multi-calculateurs
. Objets Migrants
- Processus
- Fichiers
Distribution du système
15
DEA - module TC-BDSR novembre 3, 2003
Accent (CMU)
Chorus (INRIA)
Mach (CMU)
Amoeba (ACE)
Windows NT (Microsoft)
16
DEA - module TC-BDSR novembre 3, 2003
Système Monolithique :
2 Pas complètement vrai ... si on reprend Unix System V R4.0 ou 4.4 BSD, le
système permet de voir des systèmes de fichiers de différents types : UFS (Berkeley
-> rapide), S5 (traditionnel System V-> lent), NFS en particulier, grâce au
mécanisme de Virutal File System et de Virtual node (VFS/V-node) empruntés à
NFS.
17
DEA - module TC-BDSR novembre 3, 2003
Processus Utilisateur
code appli
librairie
de fonctions C
18
DEA - module TC-BDSR novembre 3, 2003
OS9 Monolithique :
un système différent en fonction UNIX
de l'espace disponible
pico-noyau : nano-noyau : macro-noyau :
8Kb-QNX (?), KeyKOS
Panda Windows NT :-)
Micro-noyau modulaire :
le même mais avec plus ou moins de
fonctions
un exemple : Chorus
19
DEA - module TC-BDSR novembre 3, 2003
. Transparence
- à la localisation
- à la migration
- à la réplication
- au parallèlisme
. Modularité
=>Extensibilité/Portabilité/Configurabilité
- implantation des services sous forme de gestionnaires ou
de serveurs spécialisés
- réduction de la complexité
- développement et validation plus faciles
. Performance
. Sécurité
et un Retour à la simplicité
20
DEA - module TC-BDSR novembre 3, 2003
Chargé à la demande
S4 ...
Code et
S1 S2 S3 ... Données
Noyau Monolithique Système
Serveur
S1 S2 S3 S4 ...
Code et Données
Micro-Noyau Système
3 mais A. Tanenbaum cite une étude qui compare Sprite (Monolithique) à Amoeba
(Micro-noyau) et qui indique qu'il n'y a pas de différence sensible ... il faut
relativiser ce type d'affirmation ... il y a un vieux débat qui consiste à dire pour
21
DEA - module TC-BDSR novembre 3, 2003
Organisation du système
. Micro-noyau
22
DEA - module TC-BDSR novembre 3, 2003
Sous-Système
23
DEA - module TC-BDSR novembre 3, 2003
Personnalités
Sous-système / Sur-système
24
DEA - module TC-BDSR novembre 3, 2003
Sous-système
Un sous-système :
25
DEA - module TC-BDSR novembre 3, 2003
Applications
et Processus Processus
Utilitaires Unix Unix
Serveurs IPC
Système KM FM SM
M
Appels au Noyau
Micro-Noyau Chorus
PM = Process Manager
FM = File Manager
SM = Streams Manager
IPCM = System V Inter-Process Communication Manager
KM = System V Key Manager
Il existe un sous-système Mix V.3.2, Mix SCO, ClassiX/C-
actors, et Mac OS (INT Evry - C. Bac)
26
DEA - module TC-BDSR novembre 3, 2003
Compatibilité Binaire
Processus
Unix
appel système Unix
Espace utilisateur
trap : passage en mode noyau Espace système
27
DEA - module TC-BDSR novembre 3, 2003
28
DEA - module TC-BDSR novembre 3, 2003
Serveur
Unix
Librairie 3 BSD
d'Emulation ipc
4
espace
d'adressage 5
du processus 2
utilisateur
Processus
Utilisateur exécutions
1 concurrentes
Appel système
(trap)
Mach 3.0
29
DEA - module TC-BDSR novembre 3, 2003
Génèse de Mach/OSF1 :
Espace utilisateur
Processus
Unix
Serveur
Unix
Mach :Unix 4.3 BSD
MV 4.3 BSD:
IPC FS Mach :
task Réseau MV pilote d'E/S
threads processus IPC
pilotes d'E/S task
Noyau threads
30
DEA - module TC-BDSR novembre 3, 2003
FM PM
pilote IPCM
E/S
MV
Mach : IPC
task
threads
IRQ, E/S
Mach / OSF1-AD
Advanced Development
31
DEA - module TC-BDSR novembre 3, 2003
application
Serveur Services
sous-syst. sous-syst ...
32
DEA - module TC-BDSR novembre 3, 2003
Applications
Ouverture Client Client
Client OS/2 Win32 POSIX
de Session
ss-syst ss-syst
OS/2 POSIX
sous-
ss-syst système
sécurité Win32
mode Utilisateur
mode Noyau trap
Services Système
Gestion gestion E/S
Gestion Sécurité Gestion Appels Gestion Systèmes de fichier
Objets Processus de proc MV Gestion du cache
Pilotes de périph.
locaux Pilotes Réseau
Noyau
HAL
Matériel : mono-processeur / multi-processeur
Prévu dès la conception pour fonctionner sur
des processeurs différents : Mips, Alpha, Intel.
33
DEA - module TC-BDSR novembre 3, 2003
Systèmes à objets
34
DEA - module TC-BDSR novembre 3, 2003
Objets
Sun ONC,
OSF DCE : commodité
Interface Data de
Language l'abstraction
Objet
langages OO
Projets de
recherche :
Esprit ISA,
Guide,
Clouds,
OMG-CORBA Emerald,
SOS,...
Produits :
COOL,
Esprit Spring,
OUVERTURE DSOM,
...
Systèmes à objets
35
DEA - module TC-BDSR novembre 3, 2003
Invocation de méthode
Programme Objet V
V.m2 ( ) invocation m1
m2
m3
m4
36
DEA - module TC-BDSR novembre 3, 2003
Transport Transport
Entité de Entité de
Transport Transport
37
DEA - module TC-BDSR novembre 3, 2003
Client Serveur
espace mémoire défini dans les espaces
d'adressage du client et du serveur
4Le temps d'exécution serait diminué par 3 quand on compare les deux méthodes
en local d'après Bershal (travail sur RPC Firefly).
38
DEA - module TC-BDSR novembre 3, 2003
. désignation/référence
. contrôle d'accès
. persistance
. migration
. fragmentation
39
DEA - module TC-BDSR novembre 3, 2003
40
DEA - module TC-BDSR novembre 3, 2003
(Chorus)
41
DEA - module TC-BDSR novembre 3, 2003
OMG - CORBA
CORBA :
. Un générateur de souche/stub
42
DEA - module TC-BDSR novembre 3, 2003
Domaine d'objets D2
hétérogénéité :
intéractions
interdomaine suivant
OMG-CORBA
Interactions internes
par mémoire partagée Domaine d'objets D3
avec multicohérence
Domaine d'objets D1
43
DEA - module TC-BDSR novembre 3, 2003
ABSTRACTIONS DE
BASE
44
DEA - module TC-BDSR novembre 3, 2003
Environnement
Réseau
Local
Disque
CPUs Site
E/S E/S
disque Réseau
Caches
Bus Multiprocesseur Site
Mémoire
Principale
Ensemble de
Site = Ressources Physiques Site
Fortement couplées
45
DEA - module TC-BDSR novembre 3, 2003
Objets Elémentaires
. Noms
. Message
. Porte
. Segment
. Région
46
DEA - module TC-BDSR novembre 3, 2003
Acteurs Utilisateurs
Espace Utilisateur
Espace Système Acteurs Système (acteurs superviseurs)
Gestion thread
Micro-Noyau Comm. Inter-Process
(portable : C, C++) Mémoire Virtuelle,
E/S, IRQ
Interface avec le matériel (HAL)
Matériel
47
DEA - module TC-BDSR novembre 3, 2003
Noms (1)
Noms Internes
48
DEA - module TC-BDSR novembre 3, 2003
Noms (2)
Capacité
Noms intermédiaires :
Composés :
- nom interne d'un serveur
- clef qui permet d'accèder à la ressource
chez le serveur
- protection (droits d'accès)
49
DEA - module TC-BDSR novembre 3, 2003
Noms (3)
Exemple :
50
DEA - module TC-BDSR novembre 3, 2003
Acteurs/Tâches/Processus (1)
Unité de Structuration =
Acteur/Tâche/Processus
. Activités
51
DEA - module TC-BDSR novembre 3, 2003
Acteurs/Tâches/Processus (2)
Acteurs
Système
52
DEA - module TC-BDSR novembre 3, 2003
Thread
Unité d'exécution =
Thread/Processus Léger/Activité
. Contexte d'exécution :
- état
- compteur ordinal
- registres
- pile d'exécution
- descripteur
. Lié à un acteur
53
DEA - module TC-BDSR novembre 3, 2003
Threads
Ordonnancement
Parallèlisme
pseudo-parallèlisme
ou
parallèlisme réel sur multiprocesseur 7
7 Symétrique : les processeurs ne sont pas distingués, ils ont tous les mêmes
capacités d'exécution,
Asymétrique : les processeurs sont distingués, certains ont des capacités
différentes, un co-processeur arithmétique par exemple, et certaines threads doivent
s'exécuter exclusivement sur ces processeurs
54
DEA - module TC-BDSR novembre 3, 2003
55
DEA - module TC-BDSR novembre 3, 2003
- Utilisateurs :
. Utilisateur sans aucun privilège
. Serveur Système accède à certaines
primitives du système (équivalent au statut d'un
"daemon" Unix)
56
DEA - module TC-BDSR novembre 3, 2003
Thread :
57
DEA - module TC-BDSR novembre 3, 2003
Thread :
. Classe d'ordonnancement
58
DEA - module TC-BDSR novembre 3, 2003
Structure de l'ordonnanceur :
Interface haut
Interface commune
Interface bas
59
DEA - module TC-BDSR novembre 3, 2003
thread
threads
préemptives
127
threads
temps partagé
255
60
DEA - module TC-BDSR novembre 3, 2003
Classes d'ordonnancement
Modularité :
Classe
échéance
61
DEA - module TC-BDSR novembre 3, 2003
Entre acteurs
=> par messages, en utilisant des portes
62
DEA - module TC-BDSR novembre 3, 2003
Serveur
Protocole
Client Client-
Serveur
Traitements
Code Données Protocole
entre
Représentation Serveurs
Mémoire
63
DEA - module TC-BDSR novembre 3, 2003
Messages
Suite d'octets
8Il ne faut pas entendre type au sens du typage des données dans les langages de
programmation, d'ASN1 ou de XDR, mais plutôt nature des informations pour la
gestion du système.
64
DEA - module TC-BDSR novembre 3, 2003
Portes
Porte :
- File de messages
65
DEA - module TC-BDSR novembre 3, 2003
Message
Porte
Acteur
Threads
Site Site
Support de Communication
66
DEA - module TC-BDSR novembre 3, 2003
IPC
IPC synchrone :
Receive
Call
Reply
67
DEA - module TC-BDSR novembre 3, 2003
68
DEA - module TC-BDSR novembre 3, 2003
Groupe de portes
69
DEA - module TC-BDSR novembre 3, 2003
Emetteur
Groupe de portes
Pu
Site i Site j Site k
70
DEA - module TC-BDSR novembre 3, 2003
Protocoles
Communications locales
Communications extérieures
71
DEA - module TC-BDSR novembre 3, 2003
72
DEA - module TC-BDSR novembre 3, 2003
73
DEA - module TC-BDSR novembre 3, 2003
pile
système
et
données
système
pile
utilisateur
fichier
mappé
segment adressable
mémoire par
Segments (S VR4) partagée l'utilisateur
ou Régions (S VR3.2) bss
données
code
Unix System V R4
74
DEA - module TC-BDSR novembre 3, 2003
Objets mémoire
Code
Région Données
Segments
Fichier
E/S
écran
Ecran
Espace
d'Adressage
75
DEA - module TC-BDSR novembre 3, 2003
Segments et Régions
Segment :
Région :
76
DEA - module TC-BDSR novembre 3, 2003
77
DEA - module TC-BDSR novembre 3, 2003
Partage
Région
Région
Segment
Zone partagée
78
DEA - module TC-BDSR novembre 3, 2003
Région1
Serveur
Région2
Site
79
DEA - module TC-BDSR novembre 3, 2003
CHORUS
. Micro-Noyau
80
DEA - module TC-BDSR novembre 3, 2003
Références Bibliographiques
[1] Construction des systèmes d'exploitation répartis. Editeurs : R. Balter, J-P
Banâtre, S. Krakowiak. Inria. Collection Didactique. 1991
[2] Supports de cours : Technologie des micro-noyaux.. Marc Rozier. Ecole d'Eté
d'Autran. Septembre 1993.
[6] Mach 3 Kernel Principles. Keith Loepere. Open software Foundation and Carnegie
Mellon University. NORMA-MK12: July 15, 1992.
81