Introduction aux systèmes d'exploitation des ordinateurs Système y informatique q Définition : C’est l’ensemble des matériels et logiciels qui mettent en jjeu destinés à réaliser des tâches q le traitement automatique de l'information. L objectif d’un L’objectif d un système informatique est d’automatiser le traitement de l’information. Un système informatique est constitué de deux entités : le matériel et le logiciel. g 2 Système informatique fa x m odem C D -R O M DVD d is q u e tte im p rim a n te u n ité c e n tra le m é m o ire c e n tra le + C P U d is q u e d u r m a g n é tiq u e Unité centrale é c ra n ta b le tte à n u m é ris e r s o u ris son c la v ie r 3 Rappel : fonctions de base d’un système y informatique q Communication avec l'utilisateur Calcul (ou traitement) élaboration des résultats à partir des données Séquencement entrée : entrée des information à traiter : les données sortie : communication des résultats Les opérations sont exécutées l'une après l'autre selon un certain plan appelé un programme. Le choix d'une opération peut éventuellement dépendre du résultat des opérations é ti précédentes é éd t Mémorisation Les données et les résultats doivent pouvoir être mémorisés La séquence des opérations à effectuer (programme) est également mémorisée 4 Exploitation d’un système informatique 5 Système informatique : le logiciel Un système informatique est composé de deux niveaux bien distincts : le système d’exploitation et les applications. L’objectif du logiciel est d’offrir aux utilisateurs des fonctionnalités adaptées à leurs besoins. Le principe est de masquer les caractéristiques physiques du matériel. La solution consiste à structurer en couches le logiciel chacune offrant des services de plus en plus logiciel, évolués au niveau supérieur. 6 Système informatique : le logiciel 7 Système d’exploitation Le système d'exploitation (SE, en anglais Operating S t System ou OS) estt un ensemble bl de d programmes responsables de la liaison entre les ressources matérielles té i ll d' d'un ordinateur di t (H (Hardware) d ) ett lles applications de l'utilisateur (traitement de texte, jeu vidéo...) idé ) (Software). (S ft ) Il assure le démarrage de l'ordinateur, et fournit aux programmes applicatifs des interfaces standardisées pour l’accès aux périphériques. 8 Services à fournir pour l’exploitation l exploitation d’un système y informatique q Gestion de la mémoire centrale centrale, Gestion de la mémoire de masse (disques), Communication avec les périphériques : pilotage des unités d'échanges, Partage des ressources entre plusieurs usagers (pour les systèmes multi-utilisateurs) Communication avec l'utilisateur par l'interprétation d'un langage g g de commande ((shell)) 9 S tè Système d’ d’exploitation l it ti Fonctions : fournir des services adaptés aux problèmes usuels : la gestion de l'information : désignation, stockage, recherche communication recherche, la préparation et la mise au point de programmes ll'exploitation exploitation de programmes (applications) L'ensemble des services fournis aux usagers constitue une nouvelle machine souvent qualifiée d'abstraite ou de virtuelle. 10 Interface du système y informatique q L'interface du système informatique est constituée des outils disponibles pour accéder aux services fournis. fournis Ces outils définissent le langage de la machine abstraite b t it quii permett aux usagers de d communiquer i avec le système. 11 Organisation schématique d'un d un système y informatique q Les fonctions communes à une grande majorité des applications sont réalisées par un ensemble de programmes appelés logiciel de base. exemples : la gestion de fichiers et de répertoires (dossiers), ll’impression impression de documents Un logiciel d'application réalise une application spécifique en utilisant des services fournis par le logiciel de base. exemples : traitement de texte, tableur 12 Organisation O i ti schématique hé ti d' d'un système tè q : modèle en couches informatique Interface du système informatique tout entier (machine virtuelle 2) Interface des fonctions communes (machine virtuelle 1) M hi réelle Machine é ll La ffrontière entre les niveaux est assez floue : • application • logiciel de base • machine Logiciels g d'application pp Logiciel de base Matériel 13 Logiciel de base et système y d'exploitation p Dans le logiciel de base on distingue habituellement deux niveaux : • les outils et services : compilateur, chargeur, utilitaires ; • le système d'exploitation : couche h inférieure, i fé i plus l proche h de d la machine. Logiciels g d'application pp Outils, services Système d'exploitation Matériel Outils et services sont interchangeables et peuvent être partiellement ou complètement absents Par opposition le système d’exploitation est indispensable, c’est lui qui masque le matériel 14 Définition du système d'exploitation C'est l'ensemble de programmes qui fournissent tous les services nécessaires à la gestion de l'ordinateur. g Il fournit les fonctions permettant : lla réalisation é li ti de d la l machine hi virtuelle i t ll qu'il 'il représente, la gestion et le partage des ressources. 15 F Fonctions ti du d système tè d' d'exploitation l it ti Gestion de l'information : structuration, conservation, ti ttransfert, f t désignation dé i ti d de l'information. Fonction réalisée par le S tè Système de d G Gestion ti d de Fi Fichiers hi (SGF) (SGF). Fonction d'exécution : exécution de programmes en séquence, en parallèle, composition de programmes. Fonction réalisée par l'interprète du langage de commande. 16 Fonctions du système d'exploitation d exploitation Gestion des ressources physiques allocation de la mémoire principale, allocation de la mémoire secondaire, allocation des organes d'entrée-sortie, allocation du processeur Partage et échange d d'informations informations entre usagers: messagerie, liens symboliques, gestion des droits d accès d'accès. Protection mutuelle des usagers. 17 Fonctions du système d'exploitation Services divers : aide à la mise au point de programmes (débogueurs), traitement des défaillances, défaillances mesure du temps, facturation f t ti des d ressources, statistiques d'utilisation des ressources, mesure de performances, etc. 18 Modèle en couche 19 Modèle en couche 20 Noyau Le noyau d’un système d’exploitation est le logiciel qui assure : la communication entre les logiciels et le matériel ; la gestion des divers logiciels exécutés sur une machine (tâches) : lancement des programmes, programmes ordonnancement ordonnancement, … ; la gestion du matériel : mémoire, processeur, périphérique, g , ... stockage, La majorité des systèmes d’exploitation est construite autour de la notion de noyau. L’existence d’un noyau, c’est-à-dire d’un programme unique responsable de la communication entre le matériel et le logiciel, résulte de compromis complexes l portant t t sur des d questions ti de d performance, f de d sécurité et d’architecture des processeurs. 21 Importance du langage de commande C'est un point clé du système d'exploitation, on di ti distingue: Langages de commande textuels qui sont puissants mais i diffi difficiles il à utiliser tili par un utilisateur tili t non iinitié itié : Shell Windows (issu des commandes MS-DOS), Shell Sh ll UNIX UNIX. langages de commandes graphiques d'usage plus simple i l mais i plus l lilimités ité : Bureaux Windows ou MacOS, X-Windows, X Windows Gnome ou KDE sous UNIX 22 Classes de systèmes d'exploitation d exploitation Systèmes mono mono-usager usager MS-DOS (Microsoft) P Premières iè versions i d de M MacOS OS Premières versions de Windows (Microsoft) Palm OS, Windows CE (assistants personnels) Systèmes multi-usagers multi usagers UNIX, Linux Windows récents (NT (NT, 2000 2000, XP XP, Vista Vista, 7) 7), MacOS Tous les systèmes des gros ordinateurs ("mainframes") 23 Exemples de systèmes d’ d’exploitation l it ti L’ di t L’ordinateur personnell 25 L’ di t L’ordinateur personnell Usages : création, é ti conservation, ti dé désignation i ti d de fifichiers, hi exécution de programmes, création de nouveaux programmes programmes. Qualités attendues : efficacité ( (bonne exploitation p des capacités), p ), simplicité d'utilisation, facilité d'extension par adjonction de nouveaux programmes d de nouveaux périphériques 26 Système à temps partagé Fonctions F ti d’un d’ système tè d’ordinateur d’ di t personnel + Gestion des utilisateurs espaces de travail, droits d’accès + Partage de ressources imprimantes disques, imprimantes, disques etc. etc + Gestion des communications informations partagées, comm nication entre utilisateurs communication tilisate rs 27 C t ôl d Contrôle de procédé édé Dans une usine de produits chimiques : synthèse de C à partir de A et de B vannes A B C capteur signaux de mesure g signaux de commande Enregistrement 28 Contrôle de procédé p 29 C t ôl d Contrôle de procédé édé Le système p peut agir g sur des organes g externes prend en compte le temps (déclenchements périodiques de contrôles)) enregistre de l'information : journalisation Caractéristiques des applications "temps temps réel" réel (surveillance médicale, robots, missiles, etc.) Principale qualité attendue : la fiabilité le système doit avoir un fonctionnement qui corresponde exactement aux spécifications spécifications. 30 L systèmes Les tè à ttransactions ti Exemples : Systèmes de réservation de places dans d ttrains des i ou d des avions, i Systèmes y d'achat à distance. 31 L systèmes Les tè à ttransactions ti Fonctions : gère un ensemble d'informations ou une base de données de taille importante, exécution d'un certain nombre d'opérations prédéfinies,, ou transactions,, portant p p sur ces informations ; opérations souvent interactives, grand nombre de points d'accès d accès et grand nombre de transactions simultanées. 32 Les systèmes à transactions Qualités attendues : disponibilité : les temps de réponse doivent satisfaisants, satisfaisants fiabilité, robustesse : capacité de tolérer des pannes. 33 Historique Évolution des systèmes d’exploitation d exploitation (à travers les âges) Historique q L’histoire des systèmes d’exploitation permet de dégager des concepts de base que l’on retrouve dans les systèmes actuels : le traitement par lots la multiprogrammation le temps partagé 35 Historique 36 Historique 37 Historique 38 Traitement p par lots ((E/S tamponnées) p ) Un moniteur d’enchaînement permet d’exécuter en séquence une série de travaux préparés p p à l’avance ((les lots). ) Ce mode de travail est aussi appelé « batch b t h processing i system t » 39 Traitement p par lots ((E/S tamponnées) p ) Protection de l’ensemble des travaux de perturbations en cas d’erreur : limitation du temps d’exécution, d exécution, supervision des entrées/sorties protection de la mémoire occupée par le moniteur d’enchaînement Usage d’une horloge et d’instructions p privilégiées g 40 Historique 41 La multiprogrammation p g C’est le partage de la mémoire entre t plusieurs l i ttravaux en cours simultanément. Permet de mieux utiliser le processeur p p pendant les entrées/sorties (qui sont gérées p g par les unités d’échange) Mémoire Système d’exploitation d exploitation Tâche A Tâche B Tâche C Mémoire disponible 42 La multiprogrammation p g Principe : Un travail en attente peut utiliser le processeur libéré par un travail qui effectue une opération d’entrée/sortie. L processeur peutt changer Le h d’ d’affectation ff t ti avant la fin d’un travail pour satisfaire des contraintes de temps de réponse. 43 La multiprogrammation p g Pour que cela fonctionne : le temps de réaffectation doit être très bref il y a présence simultanée en mémoire de plusieurs programmes ou morceaux de programme. Rôle central de la mémoire Importance des flux entre mémoire centrale et mémoire secondaire 44 La multiprogrammation p g Des dispositifs spéciaux de réimplantation des programmes et de protection de la mémoire sont nécessaires. Apports : meilleure ill utilisation tili ti d des ressources : meilleur ill équilibre de charge réduction du temps de réponse pour les travaux courts 45 Temps p p partagé g Fonction : Partager g le temps p de calcul du processeur et les autres services ou ( ) , afin d’offrir à ressources commun(e)s, chaque usager l’équivalent d’une ac e individuelle. d due e machine Accès au système par des terminaux, Utilisation interactive interacti e du d ssystème. stème 46 Temps p p partagé g Nécessité de garantir un temps de réponse acceptable pour l’exécution de tâches élémentaires. élémentaires Principe : allocation du processeur aux programmes des usagers par tranches de p très brèves ou q quanta. temps 47 Temps p p partagé g Problème de la taille de la mémoire centrale : celle-ci ne peut héberger tous les programmes en cours de tous les usagers : utilisation de mémoire virtuelle. L machines Les hi sontt é équipées i é d de tterminaux i graphiques sur lesquels on peut suivre l’évolution de plusieurs activités dans des fenêtres distinctes. 48 Historique 49 Historique 50 Situation actuelle Le Client-Serveur généralisé et mondialisé Services Web Accès à des bases de données Accès à des plateformes f fournissant i t des d ressources et des services (bureau virtuel) Ressources disponibles de n’importe où sur Internet = cloud computing 51 Cloud Computing : l’informatique q dans les nuages g Le "cloud computing" consiste pour les entreprises à externaliser leurs ressources numériques. q Ces ressources – serveurs offrant des capacités de calcul, du stockage, logiciels de messagerie électronique, de paie – sont mises à disposition par des sociétés tierces et accessibles,, grâce p g à un système y d'identification, via un PC et une connexion à Internet. Pour beaucoup d'acteurs, il implique un changement complet de modèle économique économique. Jusqu'à Jusqu à présent présent, c'est c est la vente de logiciels et de matériel qui prévalait. Là, c'est la location qui s'impose. Cloud computing à l’usage des particuliers: GoogleDrive, Google docts, DropBox, SkyDrive (Microsoft) Amazon Web Services (AWS) Partages g de p photos en ligne g Etc. 52 Organisation d’un d un système d’exploitation p mono-usager g simple p I.L.C. C SGF S.G.F E.S.P Machine Interprète p du langage g g de commande système de gestion des fichiers Entrées-sorties primitives (physiques) (p y q ) Machine physique 53 Exemple : Organisation g du système y MS-DOS I.L.C. C SGF S.G.F E.S.P Machine l’interprète est le fichier COMMAND COM COMMAND.COM Disk Operating p g System y ((MSDOS) Basic Input Output System (BIOS) Machine physique 54 Organisation d’un d un système d’exploitation p multi-usagers g Machine virtuelle dont le comportement est simulé i lé pour l’usager. l’ La machine simulée est un sous-ensemble de la machine physique, excluant les instructions privilégiées p g et les accès directs aux périphériques et à certaines zones de la mémoire réservées au système. y Exemple actuel: les serveurs de terminaux 55 Organisation d’un d un système d’exploitation p multi-usagers g Certains systèmes réalisent des machines virtuelles complètes, ce qui permet de pp des systèmes y d’exploitation p développer destinés à cette machine. Soit « USR » la machine virtuelle simulée simulée. 56 Organisation d’un d un système d’exploitation p multi-usagers g I.L.C. I.L.C. I.L.C. USR USR USR Gestionnaire de mémoire virtuelle S.G.F MEM G.M.S. E.S.P Allocation des ressources p physiques y q Gestion de la mémoire secondaire Noyau Machine 57 58