3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes...

45
3.1 URD L2 2005 Systèmes d’Exploitation Structures des Systèmes Structures des Systèmes d’Exploitation 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

Transcript of 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes...

Page 1: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.1 URD L2 2005Systèmes d’Exploitation

Structures des Systèmes d’ExploitationStructures 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

Page 2: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.2 URD L2 2005Systèmes d’Exploitation

Composants Systèmes CommunsComposants 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

Page 3: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.3 URD L2 2005Systèmes d’Exploitation

Gestion de ProcessusGestion 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

Page 4: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.4 URD L2 2005Systèmes d’Exploitation

Gestion de la Mémoire CentraleGestion 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

Page 5: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.5 URD L2 2005Systèmes d’Exploitation

Gestion des FichiersGestion 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

Page 6: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.6 URD L2 2005Systèmes d’Exploitation

Gestion des E/SGestion 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

Page 7: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.7 URD L2 2005Systèmes d’Exploitation

Gestion de la Mémoire SecondaireGestion 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

Page 8: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.8 URD L2 2005Systèmes d’Exploitation

Réseaux (Systèmes Répartis)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

Page 9: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.9 URD L2 2005Systèmes d’Exploitation

Système de ProtectionSystè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

Page 10: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.10 URD L2 2005Systèmes d’Exploitation

Système de CommandesSystè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

Page 11: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.11 URD L2 2005Systèmes d’Exploitation

Système de Commandes (Cont.)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

Page 12: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.12 URD L2 2005Systèmes d’Exploitation

Services de l’OSServices 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

Page 13: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.13 URD L2 2005Systèmes d’Exploitation

Fonctions Additionnelles des OSsFonctions 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

Page 14: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.14 URD L2 2005Systèmes d’Exploitation

Appels SystèmeAppels 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

Page 15: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.15 URD L2 2005Systèmes d’Exploitation

Passage de paramètres dans une TablePassage de paramètres dans une Table

Page 16: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.16 URD L2 2005Systèmes d’Exploitation

Types des Appels SystèmeTypes des Appels Système

Contrôle de processus

Gestion des fichiers

Gestion des périphériques

Maintenance des informations

Communications

Page 17: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.17 URD L2 2005Systèmes d’Exploitation

Exécution MS-DOSExécution MS-DOS

At System Start-up Running a Program

Page 18: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.18 URD L2 2005Systèmes d’Exploitation

UNIX Exécutant Plusieurs ProgrammesUNIX Exécutant Plusieurs Programmes

Page 19: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.19 URD L2 2005Systèmes d’Exploitation

Modèles de CommunicationModèles de Communication

Message Passing Shared Memory

La communication peut se faire par partage de mémoire ou par échange de messages

Page 20: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.20 URD L2 2005Systèmes d’Exploitation

Programmes SystèmeProgrammes 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.

Page 21: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.21 URD L2 2005Systèmes d’Exploitation

Structure Système du MS-DOS 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

Page 22: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.22 URD L2 2005Systèmes d’Exploitation

Structure des Couches MS-DOSStructure des Couches MS-DOS

Page 23: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.23 URD L2 2005Systèmes d’Exploitation

Structure du Système UNIXStructure 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

Page 24: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.24 URD L2 2005Systèmes d’Exploitation

Structure du Système UNIXStructure du Système UNIX

Page 25: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.25 URD L2 2005Systèmes d’Exploitation

Approche à CouchesApproche à 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

Page 26: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.26 URD L2 2005Systèmes d’Exploitation

Une Couche OSUne Couche OS

Page 27: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.27 URD L2 2005Systèmes d’Exploitation

Structure des Couches OS/2Structure des Couches OS/2

Page 28: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.28 URD L2 2005Systèmes d’Exploitation

Structure des Systèmes Micronoyaux 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

Page 29: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.29 URD L2 2005Systèmes d’Exploitation

Structure Mac OS XStructure Mac OS X

Page 30: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.30 URD L2 2005Systèmes d’Exploitation

Structure Client-Serveur Windows NTStructure Client-Serveur Windows NT

Page 31: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.31 URD L2 2005Systèmes d’Exploitation

ModulesModules

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

Page 32: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.32 URD L2 2005Systèmes d’Exploitation

Approche Modulaire de SolarisApproche Modulaire de Solaris

Page 33: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.33 URD L2 2005Systèmes d’Exploitation

Machines VirtuellesMachines 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

Page 34: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.34 URD L2 2005Systèmes d’Exploitation

Machines Virtuelles (Cont.)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

Page 35: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.35 URD L2 2005Systèmes d’Exploitation

Modèles SystèmeModèles Système

Machine Non-virtuelle Machine Virtuelle

Page 36: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.36 URD L2 2005Systèmes d’Exploitation

Avantages/Inconvénients des Machines Virtuelles 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 sous-jacent

Page 37: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.37 URD L2 2005Systèmes d’Exploitation

Machine Virtuelle JavaMachine 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

Page 38: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.38 URD L2 2005Systèmes d’Exploitation

La Machine Virtuelle JavaLa Machine Virtuelle Java

Page 39: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.39 URD L2 2005Systèmes d’Exploitation

La Plateforme JavaLa Plateforme Java

Page 40: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.40 URD L2 2005Systèmes d’Exploitation

Fichier Java .class File pour Différentes Fichier Java .class File pour Différentes PlateformesPlateformes

Page 41: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.41 URD L2 2005Systèmes d’Exploitation

Environnement Développement JavaEnvironnement Développement Java

Page 42: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.42 URD L2 2005Systèmes d’Exploitation

Objectifs de la Conception SystèmeObjectifs 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

Page 43: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.43 URD L2 2005Systèmes d’Exploitation

Mécanismes et PolitiquesMé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

Page 44: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.44 URD L2 2005Systèmes d’Exploitation

Implémentation SystèmeImplé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

Page 45: 3.1 URDL22005 Systèmes dExploitation Structures des Systèmes dExploitation Composants Systèmes Services des OSs Appels Système Programmes Système Structure.

3.45 URD L2 2005Systèmes d’Exploitation

Génération de Système (SYSGEN)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