Structures des Systèmes d`Exploitation

publicité
Structures des Systèmes d’Exploitation
 Composants Systèmes
 Services des OSs
 Appels Système
 Programmes Système
 Structure du système
 Machines Virtuelles
 Conception et Implémentation de Système
 Génération de système
Systèmes d’Exploitation
3.1
URD
L2
2005
Composants Systèmes Communs
 Gestion de Processus
 Gestion de la mémoire centrale
 Gestion des fichiers
 Gestion du système d’E/S
 Gestion de Stockage Secondaire
 Gestion de réseaux
 Système de Protection
 Système d’Interprétation de Commandes
Systèmes d’Exploitation
3.2
URD
L2
2005
Gestion de Processus
 Un processus est un programme en exécution
 Un processus a besoin de certaines ressources; CPU,
mémoire, fichiers, les périphériques d’E/S, … pour
accomplir sa tâche
 L’OS est responsable des activités suivantes en relation
avec la gestion des processus
 Création et suppression de processus
 Suspension et relancement du processus
 Mécanismes pour:
 Synchronisation entre processus
 Communication entre processus
 Traîtement des interblocages
Systèmes d’Exploitation
3.3
URD
L2
2005
Gestion de la Mémoire Centrale
 La mémoire est un large vecteur de mots ou octets, chaque
entrée ayant sa propre adresse
 C’est un espace de stockage de données rapidement
accessible par la CPU et les périphériques d’E/S
 La mémoire centrale est un espace de stockage volatil;
elle perd son contenu en cas de problème système
 L’OS est responsable des activités suivantes en relation avec la
gestion de la mémoire
 Garder la trace de la mémoire utilisée et de la mémoire
encore libre
 Décider quels processus à charger en mémoire dès que de
l’espace mémoire devient disponible
 Allouer et libérer la mémoire sous la demande des
processus
Systèmes d’Exploitation
3.4
URD
L2
2005
Gestion des Fichiers
 Un fichier est une collection d’informations liées défini par son
créateur
 Communément, les fichiers représentent les programmes (source
ou objets) et les données
 L’OS est responsable des activités suivantes en relation avec la
gestion des fichiers:
 Création et suppression de fichiers
 Création et suppression de répertoires
 Support de primitives pour la manipulation des fichiers et des
répertoires
 Mapper les fichiers en mémoire secondaire
 Backup de fichiers sur un média de stockage non volatil
Systèmes d’Exploitation
3.5
URD
L2
2005
Gestion des E/S
 Le système d’E/S consiste en:
 Un système de tampon-cache
 Une interface générale de pilote de périphérique
 Pilotes pour les périphériques matériels spécifiques
Systèmes d’Exploitation
3.6
URD
L2
2005
Gestion de la Mémoire Secondaire
 Comme la mémoire principale est volatile et trop petite
pour accomoder tous les programmes d’une façon
permanente, l’ordinateur doit avoir une mémoire
secondaire
 La plupart des ordinateurs de nos jours utilisent les
disques magnétiques comme mémoire secondaire
 L’OS est responsable des activités suivantes en relation
avec la gestion des disques:
 Gestion de l’espace libre
 Allocation
 Ordonnacement des requêtes sur les disques
Systèmes d’Exploitation
3.7
URD
L2
2005
Réseaux (Systèmes Répartis)
 Un système réparti est une collection de processeurs qui n’ont
pas une mémoire commune, ni une horloge en commun
 Chaque processeur a sa propre mémoire, sa propre horloge
 Les processeurs sont connectés par un réseau de
communication
 Un protocole est utilisé pour la communication
 Un système réparti fournit un accès utilisateur à différentes
ressources systèmes
 L’accès à des ressources partagées permet:
 L’accélération de la computation
 Une meilleure disponibilité des données
 Une meilleure robustesse
Systèmes d’Exploitation
3.8
URD
L2
2005
Système de Protection
 La protection est le mécanisme de contrôle d’accès des
processus, des utilisateurs aux ressources système et
utilisateurs
 Le mécanisme de protection doit:
 Identifier les utilisations autorisées et non autorisées
 Spécifier les contrôles à imposer
 Fournir les moyens pour enforcer
Systèmes d’Exploitation
3.9
URD
L2
2005
Système de Commandes
 Plusieurs commandes sont données à l’OS par des instructions
de contrôle portant sur:
 Création et gestion des processus
 E/S
 Gestion de la mémoire secondaire
 Gestion de la mémoire principale
 Accès au système de fichiers
 Protection
 Réseau
Systèmes d’Exploitation
3.10
URD
L2
2005
Système de Commandes (Cont.)
 Le programme qui lit et interprète les instructions de contrôle est
appelé:
 Interpréteur de lignes de commandes
 shell
Sa fonction est de lire et d’exécuter la nouvelle instruction
Systèmes d’Exploitation
3.11
URD
L2
2005
Services de l’OS
 Exécution des programmes – système capable de charger un




programme en mémoire et de l’exécuter
Opérations d’E/S – comme les programmes utilisateurs ne
peuvent pas exécuter des opérations d’E/S directement, l’OS
doit fournir les moyens pour le faire
Manipulation des systèmes de fichiers-manipulation système –
capacité de lire, d’écrire, de créer, et de supprimer des fichiers
Communication – échange d’informations entre les processus
exécutant soit sur le même ordinateur (mémoire partagée) ou
sur des systèmes différents reliés par un réseau (échange de
messages).
Détection d’erreurs – assure des computations correctes en
détectant les erreurs dans la CPU, la mémoire, les E/S, ou les
programmes utilisateurs
Systèmes d’Exploitation
3.12
URD
L2
2005
Fonctions Additionnelles des OSs
Des fonctions additionnelles existent non pas pour aider les
utilisateurs, mais plutôt pour assurer l’eficacité des opérations
 Allocation de ressources – Allouer des ressources à plusieurs
utilisateurs ou à plusieurs processus simultanément
 Comptabilité – garder les informations sur les ressources utilisées
par chaque utilisateur pour des fins de facturation ou de statistiques
 Protection – s’assurer que tous les accès aux ressources système
sont contrôlés
Systèmes d’Exploitation
3.13
URD
L2
2005
Appels Système
 Les Appels Système sont l’interface entre un processus et l’OS
 Générallement disponibles sous forme d’instructions en
assembleur
 Les langages définis pour remplacer l’assembleur dans la
programmation système permettent de faire des appels
système directement (e.g., C, C++)
 Trois méthodes générales sont utilisées pour passer des
paramètres entre un processus en exécution et l’OS
 Passer les paramètres dans les registres
 Ranger les paramètres dans une table en mémoire, et l’@
de la table est passée dans un registre
 Push (empiler) les paramètres dans la pile du programme,
et pop (dépiler) la pile par l’OS
Systèmes d’Exploitation
3.14
URD
L2
2005
Passage de paramètres dans une Table
Systèmes d’Exploitation
3.15
URD
L2
2005
Types des Appels Système
 Contrôle de processus
 Gestion des fichiers
 Gestion des périphériques
 Maintenance des informations
 Communications
Systèmes d’Exploitation
3.16
URD
L2
2005
Exécution MS-DOS
At System Start-up
Systèmes d’Exploitation
Running a Program
3.17
URD
L2
2005
UNIX Exécutant Plusieurs Programmes
Systèmes d’Exploitation
3.18
URD
L2
2005
Modèles de Communication
 La communication peut se faire par partage de mémoire
ou par échange de messages
Message Passing
Systèmes d’Exploitation
Shared Memory
3.19
URD
L2
2005
Programmes Système
 Les programmes système fournissent un environnement
pour le développement et l’exécution de programmes. Il
peuvent être divisés en :
 Manipulation de fichiers
 Informations sur le statut
 Modification de fichiers
 Support des langages de programmation
 Chargement et exécution de programmes
 Communications
 Programmes Applicatifs
 Les utilisateurs ont une vue de l’OS basée sur les
programmes systèmes plutôt que les appels systèmes.
Systèmes d’Exploitation
3.20
URD
L2
2005
Structure Système du MS-DOS
 MS-DOS – écrit pour fournir le plus de fonctionnalités avec une
occupation mémoire réduite
 Pas divisé en modules
 Interfaces et niveaux de fonctionnalités mal séparés
Systèmes d’Exploitation
3.21
URD
L2
2005
Structure des Couches MS-DOS
Systèmes d’Exploitation
3.22
URD
L2
2005
Structure du Système UNIX
 UNIX – OS séparé en deux entités
 Programmes systèmes
 Le noyau
 Consiste en tout ce qui se trouve entre l’interface appels
système et le matériel
 Fournit le système de fichiers, l’ordonnacement du CPU,
la gestion de la mémoire, et d’autres fonctionnalités
système; un nombre impressionnant de fonctionnalités
pour une couche
Systèmes d’Exploitation
3.23
URD
L2
2005
Structure du Système UNIX
Systèmes d’Exploitation
3.24
URD
L2
2005
Approche à Couches
 L’OS est divisé en un nombre de couches (niveaux), chacun
construit en fonction des couches inférieures. La couche la plus
basse (couche 0) est le matériel; la couche la plus haute (couche
N) est l’interface utilisateur.
 Avec la modularité, les couches sont construites de sorte que
chaque couche utilise seulement les fonctions (opérations) et
les services des couches inférieures
Systèmes d’Exploitation
3.25
URD
L2
2005
Une Couche OS
Systèmes d’Exploitation
3.26
URD
L2
2005
Structure des Couches OS/2
Systèmes d’Exploitation
3.27
URD
L2
2005
Structure des Systèmes Micronoyaux
 Transfère le plus de fonctionnalités possibles dans l’espace
utilisateur
 La communication se fait par échange de messages entre les
modules utilisateurs
 Bénéfices:
 Extension du système plus facile
 Portage de l’OS vers d’autres architectures plus facile
 Plus de fiabilité (moins de code en mode noyau)
 Plus de sécurité
 Inconvénients:
 Overhead des communications entre l’espace utilisateur et l’espace
noyau => moins performant
Systèmes d’Exploitation
3.28
URD
L2
2005
Structure Mac OS X
Systèmes d’Exploitation
3.29
URD
L2
2005
Structure Client-Serveur Windows NT
Systèmes d’Exploitation
3.30
URD
L2
2005
Modules
 La plupart des OSs actuels implémentent des
modules noyau
 Utilisation des approches objets
 Chaque composant noyau est isolé
 Les composants communiquent via leurs interfaces
 Chacun peut-être chargé au besoin dans le noyau
 En conclusion, pareil aux couches mais encore plus
flexible et performant
Systèmes d’Exploitation
3.31
URD
L2
2005
Approche Modulaire de Solaris
Systèmes d’Exploitation
3.32
URD
L2
2005
Machines Virtuelles
 Une approche machine virtuelle considère le matériel et l’OS
comme étant “un matériel”
 Une machine virtuelle fournit une interface identique à celle du
matériel sous-jacent
 L’OS crée l’illusion de processus multiples, chacun s’exécutant
sur son processeur et sur sa mémoire
Systèmes d’Exploitation
3.33
URD
L2
2005
Machines Virtuelles (Cont.)
 Les ressources de l’ordinateur sont partagées pour créer les
machines virtuelles
 L’ordonnancement CPU peut créer l’illusion que les utilisateurs ont
chacun leur propre processeur
 Spooling et le système de fichiers fournit des périphériques virtuels
(imprimantes, lecteurs, …)
 Un terminal utilisateur sert comme la console d’opérations de la
machine virtuelle
Systèmes d’Exploitation
3.34
URD
L2
2005
Modèles Système
Machine Non-virtuelle
Systèmes d’Exploitation
Machine Virtuelle
3.35
URD
L2
2005
Avantages/Inconvénients des Machines Virtuelles
 Le concept d’une machine virtuelle (VM) fournit une
protection complète des ressources système du fait que
toute VM est isolée des autres VMs.
 Un système de VM est excellent pour la recherche et le
développement de nouveaux systèmes; le
développement est fait sur une machine virtuelle et de ce
fait n’interrompt pas le fonctionnement normal du
système.
 Le concept de VM est difficile à implémenter à cause des
efforts requis pour la duplication exacte du matériel sousjacent
Systèmes d’Exploitation
3.36
URD
L2
2005
Machine Virtuelle Java
 Les programmes Java compilés sont indépendants de la
plateforme d’accueil; bytecode exécutés par la Java Virtual
Machine (JVM)
 JVM consiste en
 Chargeur de classes
 Vérificateur de classes
 Interpréteur
 Compilateur Just-In-Time (JIT) améliore les performances
Systèmes d’Exploitation
3.37
URD
L2
2005
La Machine Virtuelle Java
Systèmes d’Exploitation
3.38
URD
L2
2005
La Plateforme Java
Systèmes d’Exploitation
3.39
URD
L2
2005
Fichier Java .class File pour Différentes
Plateformes
Systèmes d’Exploitation
3.40
URD
L2
2005
Environnement Développement Java
Systèmes d’Exploitation
3.41
URD
L2
2005
Objectifs de la Conception Système
 Objectifs Utilisateurs – l’OS doit être facile d’utilisation, facile à
apprendre, fiable, sécurisé, et performant
 Objectifs Système – l’OS doit être facile à concevoir, à
implémenter, et à maintenir, flexible et extensible, fiable, sans
erreurs, et performant
Systèmes d’Exploitation
3.42
URD
L2
2005
Mécanismes et Politiques
 Une politique détermine ce qu’on veut mettre en place
 Un mécanisme détermine comment on le met en place
 La séparation des politiques et des mécanismes est un principe
très important; il permet une flexibilité maximale en cas de
changement de politique
Systèmes d’Exploitation
3.43
URD
L2
2005
Implémentation Système
 Traditionnellement écrits en assembleur, les OSs sont écrits
actuellement en langages de haut niveau
 Code écrit en un langage de haut niveau:
 Ecrit plus rapidement
 Plus compact
 Plus facile à comprendre et à debugger => plus fiable
 Un OS est beaucoup plus facile à porter s’il est écrit dans un
langage haut niveau
Systèmes d’Exploitation
3.44
URD
L2
2005
Génération de Système (SYSGEN)
 Les OSs sont conçus pour s’exécuter sur tout type de machines;
le système doit être configuré pour chaque type d’ordinateurs
 Le programme SYSGEN obtient des informations concernant la
configuration spécifique du matériel
 Booting – lancer l’ordinateur en chargeant le noyau
 Bootstrap – Code en ROM capable de localiser le noyau, le
charger en mémoire, et lancer son exécution
Systèmes d’Exploitation
3.45
URD
L2
2005
Téléchargement