Structures des Systèmes d’Exploitation

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
PC / Traitement numérique / Contrôle Environnement logiciel
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
Les systèmes d’informations documentaires et les ENT Éléments de cahier des charges pour les projets nouveaux.
Types des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Appels de système (Tanenbaum 1.6)
Chapitre 3: Système d’exploitation
Présentation de l’Architecture Windows NT
PLAN du COURS Introduction Structure des Systèmes Informatiques
Architecture de réseaux
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Autorisations Utilisation eCATT
Plan de formation Chapitre 1 : Présentation de SAP
Architecture de machines Principes généraux
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Systèmes d’exploitation
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Informatique générale
Gestion des Périphériques
Les Systèmes d’Exploitation
Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE
Synchronisation et communication entre processus
Serveurs Partagés Oracle
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
1 Threads et Lightweight Processes Chapitre 5 En français on utilise parfois flots ou fils pour threads. Votre manuel préfère le mot anglais thread : terminologie.
Système d’exploitation
Virtual Local Area Network
Titre : Implémentation des éléments finis sous Matlab
Configuration de Windows Server 2008 Active Directory
Tableaux de distributions
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
8.1 URDL22005 Systèmes dexploitation Interblocages Modèle Système Caractérisation dinterblocage Méthodes pour Gérer les Interblocages Prévention des Interblocages.
Programmation concurrente
IFT 6800 Atelier en Technologies d’information
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Analyse des performances du serveur
Système dexploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Systèmes d’exploitation
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
Module 8 : Surveillance des performances de SQL Server
1 Formation à l’usage éco-performant de votre pc 1 ère Partie.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Structure des Systèmes Informatiques
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Architecture Client/Serveur
1.1: notions de bases de l’informatique
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Introduction aux systèmes d’exploitation Partie 1: Introduction
Chapitre 12 Surveillance des ressources et des performances Module S41.
Transcription de la présentation:

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

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

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

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

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

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

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

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è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è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è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

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

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

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

Passage de paramètres dans une Table

Types des Appels Système Contrôle de processus Gestion des fichiers Gestion des périphériques Maintenance des informations Communications

Exécution MS-DOS At System Start-up Running a Program

UNIX Exécutant Plusieurs Programmes

Modèles de Communication La communication peut se faire par partage de mémoire ou par échange de messages Message Passing Shared Memory

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.

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

Structure des Couches MS-DOS

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

Structure du Système UNIX

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

Une Couche OS

Structure des Couches OS/2

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

Structure Mac OS X

Structure Client-Serveur Windows NT

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

Approche Modulaire de Solaris

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

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

Machine Non-virtuelle Modèles Système Machine Non-virtuelle Machine Virtuelle

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

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

La Machine Virtuelle Java

La Plateforme Java

Fichier Java .class File pour Différentes Plateformes

Environnement Développement Java

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

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

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

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