Université de Reims Champagne-Ardenne Introduction aux systèmes d'exploitation F. Nolot DESS – IAS : 2004­2005 1 Université de Reims Champagne-Ardenne Introduction aux systèmes d'exploitation Définition F. Nolot DESS – IAS : 2004­2005 2 Université de Reims Champagne-Ardenne Qu'est qu'un système d'exploitation ? Gérer tous les périphériques Fournir une interface simplifiée avec le matériel Système Réservation bancaire Compilateur Éditeurs Navigateur web Interpréteur commandes Système d'exploitation Application Programme système Langage machine Micro-architectures Matériel Périphériques systèmes F. Nolot DESS – IAS : 2004­2005 3 Université de Reims Champagne-Ardenne Fonctionnement et rôle Le S.E. est la portion du logiciel qui fonctionne en mode noyau : dit aussi super-viseur) Protégé de toute modification par l'utilisateur au moyen de dispositifs matériels Son rôle Extension de la machine Gestion des ressources Exemple : lire et écrire sur une disquette Piloter par un contrôleur qui comprends les commandes par l'intermédiaire d'instruction en langage machine Pour lire ou écrire : jusque 13 paramètres doivent être fourni selon les contrôleurs, retour de jusque 23 champs de statut Lire, écrire, déplacement du bras, formatage, init, détection Pour l'utilisateur : une disquette = ensemble de fichiers F. Nolot DESS – IAS : 2004­2005 4 Université de Reims Champagne-Ardenne Gestion des ressources Exemple : 3 programmes qui impriment en même temps sur une seule imprimante Mauvaise gestion provoquerait un mélange des impressions Le système d'exploitation permet d'éviter ce résultat chaotique Stockage des documents et envoie au fur et à mesure Exemple : plusieurs utilisateurs sur un même ordinateur simultanément Il faut gérer et protéger les accès en mémoire Le S.E. Doit Savoir qui utilise une ressource Autoriser ou refuser l'accès à une telle ressource Mesurer l'utilisation par chaque application de chaque ressource Résoudre les conflits d'accès entre les différents programmes et utilisateurs F. Nolot DESS – IAS : 2004­2005 5 Université de Reims Champagne-Ardenne Le multiplexage Le S.E. doit gérer les ressources sur 2 dimensions Le temps L'espace Dans le temps : 1 CPU et plusieurs programmes concurrents Chacun son tour Pendant combien de temps et dans quel ordre ? Le S.E. Décide Dans l'espace : Libération d'une partie des ressources Gestion de la mémoire alloué F. Nolot DESS – IAS : 2004­2005 6 Université de Reims Champagne-Ardenne Introduction aux systèmes d'exploitation Historique F. Nolot DESS – IAS : 2004­2005 7 Université de Reims Champagne-Ardenne Historique (1) Premier ordinateur numérique conçu par Charles Babbage (1792-1871) Jamais fonctionné correctement car technologie mécanique de l'époque insuffisante Mais intuition d'un besoin de logiciel Engagé une jeune femme Ada Lovelace, 1er programmeur au monde 1945-1955 : tubes à vide et tableaux d'interrupteurs Howard Aiken, John Von Neumann, J. Presper Eckert, William Mauchey et Konrad Zuse ont créé les 1er moteurs à calcul Utilisation d'un langage machine absolu Aucun langage connu (y compris l'assembleur), utilisation de tableau d'interrupteurs Années 50 : apparition des cartes perforées F. Nolot DESS – IAS : 2004­2005 8 Université de Reims Champagne-Ardenne Historique (2) 1955-1965 : transistors et systèmes par lots Appelées maintenant mainframes (ordinateurs centraux) Fonctionnement : Soumission d'un job en 4 étapes Fortran ou assembleur puis carte perforée Apport les cartes pour soumission Opérateur introduit les cartes et récupère le résultat Si fortran nécessaire, obligation de charger avant le compilateur Problème : beaucoup de temps de perdu à attendre Systèmes par lots : le système de batch Une machine peu onéreuse fait la lecture des cartes et le stockage sur bande magnétique Bande magnétique (avec tous les jobs) sur calculateur qui enregistre les résultats sur bande Impression des résultats off-line F. Nolot DESS – IAS : 2004­2005 9 Université de Reims Champagne-Ardenne Historique (3) 1965-1980 : 2 types d'architectures incompatibles Ordinateurs dont l'unité de données était le mot Ordinateurs dont l'unité de données était le caractère IBM produit une série de machine compatible au niveau logicielle Apparition d'une technique fondamentale : la multiprogrammation Classiquement un job actif s'arrête pour attendre une entrée-sortie (E/S ou I/O) Solution : partitionne la mémoire pour chaque job Quand un job attend une E/S, un autre utilise le CPU Approche d'une occupation CPU de 100% La multiprogrammation : être capable de faire fonctionner un autre programme quand le premier est en attente (I/O par exemple) F. Nolot DESS – IAS : 2004­2005 10 Université de Reims Champagne-Ardenne Historique (4) 2ième innovation : la notion de spool ( Simultaneous Peripherical Operation On Line) Stockage sur bande au fur et à mesure de l'entrée des cartes Problème : quand plusieurs utilisateurs se servent d'une même machine, le CPU est monopolisé par un seul utilisateur, les autres doivent attendre ! Nécessité du temps partagé : être capable de partager le temps processeur entre plusieurs utilisateurs Concept décrit par Bob Bemer en 1957 dans un article de la revue Automatic Control Magazine. Le projet MAC (Multi Access Computer), dirigé par John McCarthy au MIT fut une des premières (voire la première) implémentation F. Nolot DESS – IAS : 2004­2005 11 Université de Reims Champagne-Ardenne Le multitâche Permet d'exécuter plusieurs programmes, apparemment simultanément, sur un même ordinateur Obtenu par alternance rapide de l'exécution de différents processus Le multitâche coopératif : Forme simple de multitâche Chaque processus doit explicitement permettre à une autre tâche de s'exécuter Utilisé jusque Windows 3.11 et Mac OS 9 Problème : si un processus de rend plus la main à un autre processus, le système est complètement planté ! Le multitâche préemptif Le processus signale au système que le processus en cours peut être mis en pause Le système sauvegarde les états du processus et donne la main à un autre F. Nolot DESS – IAS : 2004­2005 12 Université de Reims Champagne-Ardenne Les systèmes En 1974 : Intel sort le 8080, 1er processeur 8bits avec comme système CP/M (Control Program for Microcomputers) En 1980, IBM sort l'IBM PC Recherche d'un système d'exploitation pour leur machine Choix du Basic de Bill Gates mais il leur recommande d'aller voir Digital Research (qui possède les droits de CP/M). Ces derniers refusent ! Seattle Computer Products possède un système : le DOS (Disk Operationg System) Achat du DOS, modification par son créateur Tim Paterson, qui donne naissance au MS-DOS en 1981 En 1983, IBM PC/AT avec le processeur 80286. Le mode texte change grâce aux recherches de Dong Engelbart sur les IHM (Interface Homme Machine) graphique F. Nolot DESS – IAS : 2004­2005 13 Université de Reims Champagne-Ardenne Les systèmes (2) Repris par Xerox puis par Steve Jobs qui construit Apple avec un IHM graphique Une machine sous le nom de Lisa mais trop chère Ensuite le Macintosh fait succès Microsoft présente ensuite Windows, surcouche de MS-DOS jusque Windows 3.11, système 16bits Jusque Windows 3.11, MS-DOS est indispensable, c'est le S.E ! Windows 95, 98 et ME (Millenium Edition) toujours basés sur MS-DOS En parallèle, développement de Windows NT (New Technology), système totalement 32bits, conçu par David Cutler Il faut attend Windows NT 4 pour le succès des versions NT Ensuite en 2000, Windows 2000 : objectif réunir Windows 98 et NT F. Nolot DESS – IAS : 2004­2005 14 Université de Reims Champagne-Ardenne Les Windows F. Nolot DESS – IAS : 2004­2005 15 Université de Reims Champagne-Ardenne Et Linux ? Année 1991, un étudiant finlandais, Linus Torvald achète un PC et étudie la programmation du processeur Intel 80389. Les limites de MS-DOS le plonge dans le système Minix, clone d'Unix Les limites de Minix le pousse à reprogrammer certaine partie Il diffuse son travail en Août 1991, le système Linux est né. Mais utilisable qu'avec Minix F. Nolot DESS – IAS : 2004­2005 16 Université de Reims Champagne-Ardenne Introduction aux systèmes d'exploitation Les types de systèmes F. Nolot DESS – IAS : 2004­2005 17 Université de Reims Champagne-Ardenne Les types de S.E. Systèmes pour mainframes Destinés à la gestion de grande quantité d'E/S Accent mis sur la capacité, gestion optimale de plusieurs jobs en même temps avec beaucoup d'E/S 3 types de service Batch : exécution sans interaction avec l'utilisateur Transactionnel : gestion permanente d'un très grand nombre de petites requêtes concurrentes Temps partagé : plusieurs utilisateurs exécutent des programmes en même temps sur une même machine Systèmes pour les serveurs Doivent impérativement être stables et pouvoir fonctionner 24h/24h F. Nolot DESS – IAS : 2004­2005 18 Université de Reims Champagne-Ardenne Les types de S.E. Systèmes pour multi-processeurs Gestion efficace de plusieurs processeurs en même temps Systèmes personnels L'ordinateur de Monsieur tout le monde Systèmes temps réel 2 types de temps réel Temps réel dur : une action doit absolument être faite à un instant (ou dans un certain délai) Temps réel mou (QNX et VxWorks) : admissible de dépasser occasionnellement certains délais Systèmes embarqués : PalmOS, Windows CE (Consumers Electric) Systèmes SmartCard : les systèmes sur les JavaCard F. Nolot DESS – IAS : 2004­2005 19