Title: Architectures et paradigmes pour concevoir des systmes dexploitations
1Architectures et paradigmes pour concevoir des
systèmes dexploitations
- Clefs pour la conception des systèmes
dexploitations, principales stratégies
dabstraction et paradigmes de mise en uvre. - Par Gilles Grimaud
- Université des Sciences et Technologies de Lille
- http//www.lifl.fr/grimaud/Cours
2Plan
- Pourquoi parler darchitecture
- Paradigme événementiel
- Paradigme des flux
- Architecture des micro-noyaux
- Abstraction et machines virtuelles
- Virtualisation du matériel
3Architectures des systèmes
- Lexemple du système de fichier
Accès dédié à un fichier
Bibliothèque de base liée dans chaque
application.
Liaison symbolique des fichiers
Logiciel propre à chaque système dexploitation
Organisation des blocs en fichiers
Allocation des blocs
Partage de secteurs dun disque
Standard partagé entre différents systèmes.
Logiciel en ROM associé au matériel.
Manipulation des secteurs dun disque
4Architectures des systèmes
- Lexemple du système de fichier
Interface Java des flux
Accès h.n. C
Interface JVM/OS
Interface daccès bas niveau
liaison symbolique
Mémoiremappée
Mécanisme de gestion des flux
Organisation des blocs en fichiers
Tubes
Sockets
Allocation des blocs
Autres allocateurs
Swap
Partage de secteurs dun disque
Manipulation dun disque
5Architectures des systèmes
- Nature des problèmes de conception des systèmes
dexploitation - Maintenir la cohérence entre les composants
système ? Génie Logiciel - Assurer une gestion asynchrone des matériels ?
Traitements sous IT, mécanismes Temps Réel - Prémunir les applications des défaillances
matérielles ? Technologies tels que Mécanismes
Transactionnels - Allouer et Réserver les ressources matérielles
- ? gestion des étreintes fatales, disponibilité
- Assurer la tolérance aux défaillances des
applications ? Sécurité Innocuité des
applications
6Systèmes événementiels
- Principes
- Définir les systèmes dinformation en terme de
réaction plutôt quen terme daction. - Une grandes partie des programmes dun système
dexploitation sont conçus sur ce principe. Ils
réagissent à des événements matériels
(Interruptions cartes réseaux, claviers,
synchro-vidéo, etc.) - La mise en uvre de certaines applications si
prête aussi e.g. Interfaces graphiques. - ? Ne nécessite pas de système multi-tâche.
7Systèmes événementiels-mise en uvre-
- Problème Saturation événementielle
réseau
idle
réseau
idle
disque
réseau
Solution Files dévénements
process
idle
rsx
dsk
idle
rsx
rsx
file
rsx
dsk
dsk
rsx
dsk
rsx
rsx
rsx
dsk
rsx
rsx
interrupt
? Introduction de systèmes multi-tâches
8Systèmes événementiels-mise en uvre-
- Bénéfice des paradigmes événementiels sur la
conception des applications Canevas applicatif - On ne vous donne plus une liste de procédures
du système que vous pouvez appeler pour concevoir
votre application on vous donne une liste de
procédures que le système appellera sur votre
application en temps utiles.
Canevas
Application
Système
9Systèmes à base de flux
- Principes
- Représentation des données à traiter sous forme
de flux (e.g. sockets, fichiers, tubes, ) - Activités du système dinformation appliquer
des transformations sur un flux de données
entrantes pour produire un flux de données
sortantes(e.g. les flux Unix ps -aux grep
grimaud sort ) - Avantage de ces architectures
- Synchronisation implicite des différentes
activités par les données - Autorégulation de la charge de calcul entre les
différents procédés de transformation des flux
10Systèmes à base de flux
- Les différentes activités sont exprimées par des
processus différents. Chaque processus consomme
des données dans un (ou plusieurs) flux entrant
et génère des résultats dans un flux sortant.
Pilotescarte réseau
IP
TCP
Décodeur Mpeg
File dattenteMontées IP
File dattentesocket
File dattentesortie graphique
Tamponcarte réseau
File dattenteentrées paquets IP
11Systèmes à base de flux-mise en uvre-
- Première stratégie
- Chaque transformation est assurée par un
processus distinct. - Chaque processus puise ses données dentrée dans
un flux entrant et génère ses résultats dans un
flux de données sortantes - Les flux assurent une synchronisation implicite
entre les activités. -
12Systèmes à base de flux-mise en uvre-
- implémentation événementielle des algorithmes de
traitement de flux
Etat SlIP
Etat IP
Etat TCP
Interruption
SlIPReceiveByte(char c)
IPReceiveByte(char c)
TCPReceiveByte(int source, char c)
C0 13 DB DC 12 C0
13 C0 12
(13, )
13Les architectures monolithiques
- Fournir un logiciel de base formant
un tout cohérent et fiable
Espace utilisateur application
Application A
Interface Sécurité contrôle daccès
Système dexploitation
Abstracteurs
Espace système Noyau du système
Gestionnaires
Matériel
14Architecture des micro-noyaux
- Small is beautiful
- effort c ? (object size)1,5 BRO75A
effort
object size
15Architecture des micro-noyaux-mise en oeuvre-
- Limiter les abstractions fournies par le noyau.
- Faciliter la réalisation de nouvelles
abstractions à partir de celles fournies par le
noyau.
Application A
Application B
Espace utilisateur applications
Abstracteur ?
Abstracteur ?
Interface Sécurité contrôle daccès
Micro-noyau
Gestionnaires
Espace système Micro-Noyau
Matériel
16Abstraction et machines virtuelles
- Objectifs
- Portabilité (binaire) du code
- Universalité de la plateforme
- Vérification de codes binaires
- ? Idéal surcouche de micro-noyau
- Pratiques
- Indépendance des systèmes dexploitation (sic!)
- Surcouche de système monolithique voir
Surcouche dapplications type navigateurs - ? Support de code mobile
java
lisp
Machine Virtuelle
i86
ARM7
17Abstraction et machines virtuelles
- Les composants de base dune VM Java
- (i) Chargeur de code, (ii) interprète, (iii)
Mémoire à Objets, (iv) Interface OS
Espace applicatif
Chargeur de code
Interfacesystème
MémoireObjet
Interprète / JITS
Application VM Java
Autre Application
Système dexploitation
18Virtualisation des ressources matérielles
- Objectifs
- Extensibilité des noyaux (pilotes)
- Support Multi-systèmes
- Tolérance aux pannes systèmes
- Principes
- Virtualisation des ressources matérielles
- Multiplexage Démultiplexage
- Interception isolation matérielle
19Virtualisation des ressources matérielles
- Matériel Virtuel
- Simuler le fonctionnement dun matériel sur un
autre matériel - RAM dans un disque dur
- Microprocesseur ARM sur Microprocesseur Intel
- TLB R4000 sur MMU Intel
-
- Fonctionnement Matériel muliplexé/démultiplexé
- 1 paquet Ethernet entrant? plusieurs systèmes
pour le traiter - 1 mémoire vidéo par système? plusieurs mémoires
vidéo pour les systèmes -
- Interception et isolation des accès matériels
- 1 disque x secteurs ? 1 secteur ne peut
appartenir à plusieurs systèmes en même temps
20Virtualisation des ressources -mise en uvre-
- Stratégie Emulateur (e.g. VMWare)
AutreApplication
Application 1
Application 2
Système dexploitation
Disque
Mémoirede travail
Connexion réseau
Processeur
Emulateur
Fonctionnement simulé sur une autre machine, dans
une application.
Système dexploitation
Disque
Connexion réseau
Mémoirede travail
Processeur
Fonctionnement réel supporté par des mécanismes
électroniques.
21Virtualisation des ressources -mise en uvre-
- Stratégie Exo-noyau (e.g. Aegis)
Application 1
Application 2
Application 1
Application 2
Système dexploitation A
Système dexploitation B
Disque
Disque
Mémoirede travail
Connexion réseau
Mémoirede travail
Connexion réseau
Processeur
Processeur
Fonctionnement démultiplexé du matériel
Fonctionnement démultiplexé du matériel
Exo-noyau (multiplexage isolation)
Disque
Connexion réseau
Mémoirede travail
Processeur
Fonctionnement réel supporté par des mécanismes
électroniques.