EX4C Systèmes d exploitation Séance 1 Introduction aux systèmes d exploitation Sébastien Combéfis lundi 22 septembre 2014
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution Pas d Utilisation Commerciale Pas de Modification 4.0 International.
Informations générales EX4C Systèmes d exploitation 45h théorie et 15h labo Documents utilisés sont sur Eole Slides, énoncés des labos et ressources complémentaires Dr Ir. Sébastien Combéfis <cbf@ecam.be> 3
Livres de référence ISBN 2-7440-7002-5 ISBN 978-1-118-09375-7 ISBN 978-0-471-68723-8 4
Objectifs Définir et caractériser un système d exploitation (OS) Bref historique de l évolution des ordinateurs Aperçu de l organisation de base d un système informatique Aperçu général des composants d un OS 5
Première partie I Introduction
Système informatique moderne disque(s) écran(s) processeur(s) scanner imprimante mémoire principale clavier webcam interface réseau souris 7
Système informatique moderne disque(s) écran(s) processeur(s) scanner imprimante mémoire principale clavier webcam interface réseau souris 7
Exemples de systèmes d exploitation 8
Système d exploitation I Couche logicielle intermédiaire entre l utilisateur et le hardware Fournit aux programmes utilisateurs une interface avec le matériel Abstractions des installations matérielles sous-jacentes Différents buts Pratique : utilisation aisée par les utilisateurs Efficace : optimiser l utilisation du hardware 9
Système d exploitation II Environnement permettant aux applications de travailler Plusieurs abstractions sont proposées par l OS Matériel CPU et mémoire Stockage sur disque Interface réseau Affichage Abstraction Processus Fichier Socket, RPC, RMI Librairies de dessin, fenêtres 10
Système informatique I Système informatique composé de quatre couches Utilisateur(s) Application(s) Système d exploitation Matériel 11
Système informatique II Le matériel fournit les ressources de calcul Processeur (CPU), mémoire, périphériques d entrée-sortie (E/S) Le système d exploitation coordonne l utilisation du matériel Coordination entre les applications et utilisateurs Les applications résolvent les problèmes des utilisateurs Traitement de texte, compilateur, jeux vidéos, navigateurs webs... Les utilisateurs utilisent le système informatique Personnes, machines, autres ordinateurs 12
Définition d un système d exploitation I Point de vue système Allocation des ressources, gestion des conflits, et partage efficace et équitable Temps CPU, espace mémoire, espace disque, périphériques E/S... Programme de contrôle : Protège des erreurs et des mauvaises utilisations de l ordinateur Point de vue utilisateur PC de bureau : système pratique et facile à utiliser Mainframe : maximiser l utilisation et le partage des ressources Système portable : ressources, utilisation, batterie Système embarqué : pas de vue utilisateur 13
Définition d un système d exploitation II Il n y a pas de définition universellement adoptée Grande diversité : toaster, voiture, navette spatiale, maison, machine de jeu, système de contrôle industriel... «Tout ce que contient la boite lorsque vous achetez un OS» Procès Microsoft en 1998 avec IE «Le seul programme qui tourne tout le temps sur l ordinateur» Kernel, programmes systèmes et programmes d applications 14
Deuxième partie II Un peu d histoire...
Hardware vs Human cost Cost Human Hardware Time 16
La «préhistoire» La machine de Babbage (1836) Première machine analytique, non achevée Influence de Blaise Pascal et Gottfried Leibniz La «Pascaline» et la multiplicatrice Charles Babbage (1791 1871) Aide de Ada Lovelace pour la conception de «diagramme» Publie le premier algorithme destiné à une machine 17
Machine à différences Concevoir des tables nautiques, astronomique et mathématiques exactes Concepts des machines informatiques Dispositif d entrée avec deux cartes perforées 978-2221116494 Organe de commande Magasin pour stocker les résultats intermédiaires Moulin chargé d exécuter des opérations sur les nombres Trois types d imprimante 18
Machine à différences Concevoir des tables nautiques, astronomique et mathématiques exactes Concepts des machines informatiques Dispositif d entrée avec deux cartes perforées 978-2221116494 Organe de commande Magasin pour stocker les résultats intermédiaires Moulin chargé d exécuter des opérations sur les nombres Trois types d imprimante Babbage Machine, Computer History Museum, photo par Sébastien Combéfis, Janvier 2014. 18
Première génération (1945 1955) Machines constituées de tubes à vide Tableaux d interrupteur pour représenter le programme Introduction des cartes perforées au début des années 50 Atanasoff-Berry Computer, Computer History Museum, photo par Sébastien Combéfis, Juin 2011. 19
Colossus (1943) Premier calculateur électronique basé sur le système binaire Il s agit aussi de la première machine programmable Utilisé lors de la Seconde Guerre Mondiale Cryptanalyse du code de Lorenz Détruites après guerre Pour que leur fonctionnement reste secret 20
Colossus (1943) Premier calculateur électronique basé sur le système binaire Il s agit aussi de la première machine programmable Utilisé lors de la Seconde Guerre Mondiale Cryptanalyse du code de Lorenz Détruites après guerre Pour que leur fonctionnement reste secret Colossus, photo par Unknown, Wikimedia Commons. 20
ENIAC (1946 1955) Electronic Numerical Integrator Analyser and Computer Premier ordinateur entièrement électronique et programmable Peut résoudre tous les problèmes calculatoires (Turing-complet) Utilise des registres décimaux 5000 additions, 357 multiplications ou 38 divisions par seconde 21
ENIAC (1946 1955) Electronic Numerical Integrator Analyser and Computer Premier ordinateur entièrement électronique et programmable Peut résoudre tous les problèmes calculatoires (Turing-complet) Utilise des registres décimaux 5000 additions, 357 multiplications ou 38 divisions par seconde Eniac, photo par Inconnu, Wikimedia Commons. 21
Autres machines EDVAC (1949 1961) Opère en mode binaire contrairement à l ENIAC UNIVAC I (1951) Mémoire centrale stockant 1000 nombres à 11 décimaux + signe Tubes à vide Poids Taille Consommation ENIAC 17468 27 tonnes 167 m 2 150 kw EDVAC 6000 7,85 tonnes 45,5 m 2 56 kw UNIVAC 5200 13 tonnes 35,5 m 2 125 kw 22
Deuxième génération (1955 1965) Apparition et utilisation des transistors Séparation nette entre différents rôles Concepteur, constructeur, opérateur, programmeur, maintenance Ordinateurs centraux (mainframe) Accessibles uniquement par les opérateurs Programme codé sur carte perforée (FORTRAN, COBOL) Traitement par lots (batch) Fortran Monitor System (FMS) 23
Deuxième génération (1955 1965) Apparition et utilisation des transistors Séparation nette entre différents rôles Concepteur, constructeur, opérateur, programmeur, maintenance Ordinateurs centraux (mainframe) Accessibles uniquement par les opérateurs Programme codé sur carte perforée (FORTRAN, COBOL) Traitement par lots (batch) Fortran Monitor System (FMS) IBM 7094 Console, photo par ArnoldReinhold, Wikimedia Commons. 23
Troisième génération (1965 1980) Apparition et utilisation des circuits intégrés Combinaison de machines en mot et en caractères IBM 360 (1964) : petit/grand, commercial/scientifique Operating System 360 (OS/360) Nouvelles techniques fondamentales Multiprogrammation : partition de la mémoire par job Spoulage : stocker les jobs sur le disque Temps partagé : un terminal en ligne par utilisateur 24
MULTICS Multiplexed Information and Computing Service (1969) Support de centaines d utilisateurs Écrit en PL/1 Utilisé jusqu à la fin des années 90 par GM, Ford et la NSA Influence de nombreux développements Système Unix : System V (AT&T), BSD (Berkeley) Norme POSIX : standard proposé par l IEEE 25
Quatrième génération (1980 1990) Développement des circuits intégrés à haute densité (LSI) Milliers de transistors sur un mm 2 de silicium Âge des ordinateurs personnels Intel 8080 (1974) : premier processeur 8 bits généraliste Kildall développe le système d exploitation CP/M IBM PC (1980) : rachète Disk Operating System (DOS) Bill Gates développe MS-DOS, naissance de Microsoft 26
Interface Homme-Machine graphique Doug Engelbart (années 60) : concept d IHM graphique Fenêtre, icône, menu, souris Xerox et Apple développent les premières interfaces graphiques Macintosh d Apple (Steve Jobs) Windows comme surcouche de DOS (puis 95, NT) 27
Cinquième génération (1990 aujourd hui) Linux (initialement construit à partir de Minix) Architecture parallèles, systèmes distribués Miniaturisation : systèmes embarqués, multimédias P2P, web computing, cloud computing Open source 28
Troisième partie III Système informatique
Vue générale d un système informatique Un ou plusieurs CPU et contrôleurs de périphérique connectés à une mémoire partagée par un bus Un contrôleur mémoire pour synchroniser les accès mémoire CPU contrôleur disque contrôleur USB adaptateur graphique 30
Processeur Le processeur (Central Processing Unit, CPU) gère Opérations logiques et arithmétiques Transferts de données Contrôle Jeu d instructions général ou spécifique Microprocesseur pour le contrôleur de disque Systèmes multiprocesseurs Systèmes parallèles ou multicœurs 31
Cycle du CPU Cycle de base de tout CPU 1 Extraire une instruction de la mémoire 2 Décoder l instruction : type et opérandes 3 Exécuter l instruction start fetch decode execute stop Jeu d instructions du CPU Programme destiné à un SPARC pas exécutable par un Pentium 32
Registre Un registre est une case mémoire interne à un circuit Stocker variables importantes et résultats temporaires Accès plus rapide que vers la mémoire principale Registre à usage général (CPU) et de périphériques 33
Exemples de registres Compteur ordinal (Program Counter, PC) Adresse de la prochaine instruction à exécuter Mot d état (Program Status Word, PSW) Bits de condition, priorité CPU, mode, autres bits de contrôle... Registre d instruction (Instruction Register, IR) Instruction en cours d exécution 34
Exemple d exécution d un programme Mémoire Registres 300 1 9 4 0 3 0 0 PC 301 5 9 4 1 AC 302 2 9 4 1 1 9 4 0 IR 940 0 0 0 3 941 0 0 0 2 Étape 1 35
Exemple d exécution d un programme Mémoire Registres 300 1 9 4 0 3 0 1 PC 301 5 9 4 1 0 0 0 3 AC 302 2 9 4 1 1 9 4 0 IR 940 0 0 0 3 941 0 0 0 2 Étape 2 35
Exemple d exécution d un programme Mémoire Registres 300 1 9 4 0 3 0 1 PC 301 5 9 4 1 0 0 0 3 AC 302 2 9 4 1 5 9 4 1 IR 940 0 0 0 3 941 0 0 0 2 Étape 3 35
Exemple d exécution d un programme Mémoire Registres 300 1 9 4 0 3 0 2 PC 301 5 9 4 1 0 0 0 5 AC 302 2 9 4 1 5 9 4 1 IR 940 0 0 0 3 3 + 2 = 5 941 0 0 0 2 Étape 4 35
Exemple d exécution d un programme Mémoire Registres 300 1 9 4 0 3 0 2 PC 301 5 9 4 1 0 0 0 5 AC 302 2 9 4 1 2 9 4 1 IR 940 0 0 0 3 941 0 0 0 2 Étape 5 35
Exemple d exécution d un programme Mémoire Registres 300 1 9 4 0 3 0 3 PC 301 5 9 4 1 0 0 0 5 AC 302 2 9 4 1 2 9 4 1 IR 940 0 0 0 3 941 0 0 0 5 Étape 6 35
Mémoire Devrait être rapide, disponible en quantité et peu onéreuse Type Vitesse d accès Capacité Volatile Registre 1 ns <1 Ko Oui Cache 2 ns Mo Oui Mémoire principale 10 ns Go Oui Disque magnétique 10 ms To Non Bande magnétique 100 s Eo Non La mémoire principale (Random Access Memory, RAM) stocke Instructions des programmes Données 36
Entrées/Sorties Les entrées/sorties (E/S) font le lien avec le monde extérieur Un périphérique ajoute des fonctionnalités à l ordinateur Entrée : clavier, souris, joystick, lecteur disque optique Sortie : écran, imprimante, enceinte acoustique Entrée-Sortie : disque dur, modem, clé USB, écran tactile Le contrôleur est une puce sur une carte Contrôle physiquement le périphérique 37
Communication entre composants Deux composants sont liés directement entre eux et plusieurs composants sont liés par un bus Bus PCI (Peripheral Components Interconnect) Communication sans passer par le CPU Remplacé par AGP (Accelerated Graphics Port) et PCI Express 38
Communication entre composants Deux composants sont liés directement entre eux et plusieurs composants sont liés par un bus Bus PCI (Peripheral Components Interconnect) Communication sans passer par le CPU Remplacé par AGP (Accelerated Graphics Port) et PCI Express Pci-slots, Wikimedia Commons. PciExpress, par w:user:snickerdo, Wikimedia Commons. 38
Amorçage de la machine Nécessite un programme initial pour amorcer la machine Bootstrap, stocké en ROM ou EEPROM (Bios, Firmware) Initialise le système Registres CPU, contrôleurs, contenu de la mémoire... Localise puis charge en mémoire le noyau de l OS Boot sector Services additionnels hors noyau, processus systèmes «init» est le premier processus système sous Unix 39
Quatrième partie IV Système d exploitation
Fonctions de l OS Fournisseur de services Système de fichiers, librairies standards, système de fenêtres Coordinateur sur trois aspects Protection : les jobs ne doivent pas interférer entre eux Communication : les jobs doivent pouvoir interagir entre eux Gestion des ressources : facilite le partage de ressource 41
Opérations faites par l OS Tant qu il n y a rien à faire, l OS ne fait rien de particulier Processus à exécuter, E/S à traiter, répondre aux utilisateurs Un OS répond à des interruptions Deux modes d exécution : noyau et utilisateur utilisateur noyau 42
Ordinateurs centraux Les mainframes ont des grosses capacités d E/S Gestion optimale de plusieurs jobs à la fois Trois types de service Batch : statistiques de ventes dans un magasin Transactionnel : réservation de billets d avion Temps partagé : plusieurs utilisateurs Premier OS rudimentaire Séquençage des jobs : monitor job moniteur 43
Ordinateurs centraux Les mainframes ont des grosses capacités d E/S Gestion optimale de plusieurs jobs à la fois Trois types de service Batch : statistiques de ventes dans un magasin Transactionnel : réservation de billets d avion Temps partagé : plusieurs utilisateurs Premier OS rudimentaire Séquençage des jobs : monitor job moniteur Front Z9 2094, photo par Ing. Richard Hilber, Wikimedia Commons. 43
Multiprogrammation I Système d exploitation Système d exploitation Job 1 Programme utilisateur Job 2 Job 3 Système simple par lot Traitement par lot multiprogrammé 44
Multiprogrammation II Pour la multiprogrammation, l OS doit Attribuer les ressources Gérer la mémoire : allouer à plusieurs tâches Planifier l utilisation du CPU : planifier les tâches à exécuter Le CPU est multiplexé entre plusieurs tâches La tâche doit être en mémoire (swap avec le disque) 45
Ordinateurs personnels Système informatique dédié à un seul utilisateur et possédant des périphériques d E/S (clavier, souris, écran, imprimante...) Offrir une interface conviviale, commode et réceptive Exemples d OS : Linux, Mac OS X, Unix, Windows... 46
Systèmes parallèles Plusieurs CPU sont en communication proche Partagent le bus, parfois horloge, mémoire et périphériques E/S Trois avantages principaux Augmentation du débit (< N avec N processeurs) Économie d échelle par partage de ressources Augmentation de la fiabilité (des processeurs peuvent crasher) Dégradation douce : service fourni hardware survivant Système tolérant aux fautes continue normalement 47
Multiprocessing Symétrique (SMP) Tous les processeurs sont égaux Plusieurs processus exécutés en même temps Supporté par la plupart des OS modernes Asymétrique Une tâche spécifique par processeur Un processeur maitre contrôle le système Multicœur Profite de la communication plus rapide intra-puce 48
Multiprocessing symétrique Chaque CPU dispose de sa propre cache Les CPU partagent la mémoire principale mémoire arbitreur bus bus sytème CPU 1 CPU 2... CPU n E/S 49
Systèmes distribués Rassemble plusieurs processeurs physiques Contrairement aux multiprocesseurs, ici faiblement couplé Via le réseau local (LAN) ou un lien plus rapide (InfiniBand) Principaux avantages Partage de ressources Calcul de haute performance : partage de charge Fiabilité Nécessite une infrastructure réseau 50
Systèmes temps-réel Utilisé dans des applications de contrôle Hard real-time Le temps de réaction est fixé La mémoire secondaire est limitée ou absente Soft real-time Un temps maximal de réaction est fixé Applications multimédias, réalité virtuelle... 51
Systèmes portables Smartphones, tablettes... Contraintes et problèmes Mémoire limitée Processeurs lents Petits écrans d affichage Consommation 52
Environnement informatique I Les OS sont utilisés différemment selon l environnement Informatique traditionnelle PCs connectés au réseau, serveurs (services de fichier/impression) Informatique mobile Smartphone, tablettes Systèmes distribués Systèmes physiquement séparés mis en réseau 53
Environnement informatique II Informatique client-server Serveurs répondent aux requêtes de clients Informatique peer-to-peer (P2P) Tous les nœuds du système distribué sont des pairs Virtualisation Permet à un OS de s exécuter sur une autre OS Cloud computing, informatique embarquée temps-réel... 54
Ressources complémentaires ISBN 978-0-8118-5442-9 ISBN 978-0-2625-3203-7 55
Crédits http://commons.wikimedia.org/wiki/file:personal_computer,_exploded_6.svg#mediaviewer/file: Personal_computer,_exploded_6.svg http://commons.wikimedia.org/wiki/file:ps4-console-wds4.jpg#mediaviewer/file:ps4-console-wds4.jpg http://commons.wikimedia.org/wiki/file:boeing_787-8_n787ba_cockpit.jpg#mediaviewer/file: Boeing_787-8_N787BA_cockpit.jpg http://commons.wikimedia.org/wiki/file:snackomatic.jpg#mediaviewer/file:snackomatic.jpg https://www.flickr.com/photos/ebarney/3348965637 http://commons.wikimedia.org/wiki/file:charles_babbage_-_1860.jpg#mediaviewer/file:charles_babbage_-_1860.jpg http://commons.wikimedia.org/wiki/file:colossus.jpg#mediaviewer/file:colossus.jpg http://commons.wikimedia.org/wiki/file:eniac.jpg#mediaviewer/file:eniac.jpg http://commons.wikimedia.org/wiki/file:ibm_7094_console2.agr.jpg#mediaviewer/file:ibm_7094_console2.agr.jpg https://openclipart.org/detail/34897/tango-printer-by-warszawianka https://openclipart.org/detail/34567/tango-input-mouse-by-warszawianka https://openclipart.org/detail/34561/tango-input-keyboard-by-warszawianka https://openclipart.org/detail/34903/tango-video-display-by-warszawianka https://openclipart.org/detail/34537/tango-drive-hard-disk-by-warszawianka http://commons.wikimedia.org/wiki/file:pci-slots.jpg#mediaviewer/file:pci-slots.jpg http://commons.wikimedia.org/wiki/file:pciexpress.jpg#mediaviewer/file:pciexpress.jpg http://commons.wikimedia.org/wiki/file:front_z9_2094.jpg#mediaviewer/file:front_z9_2094.jpg Photos des livres depuis Amazon 56