Chapitre 1 Introduction U N système d’exploitation est un programme qui doit pe

Chapitre 1 Introduction U N système d’exploitation est un programme qui doit permettre aux utilisateurs d’utiliser les fonctionnalités d’un ordinateur. Mais il doit aussi aider le programmeur à développer des logiciels de la façon la plus efficace possible. Un système d’exploitation est mis en route dès qu’on met en marche l’ordinateur. Dans les grosses machines, il est toujours en exé- cution. Le système constitue donc une interface entre l’utilisateur et la ma- chine physique. 1.1 Qu’est ce qu’un système d’exploitation ? Malgré les différences de point de vue, de forme, de taille et de type, les ordinateurs se composent de matériel et de logiciels, comme illustré à la figure 1.1. Un ordinateur sans logiciels n’est que de la ferraille plutôt chère. Le système d’exploitation est donc une composante logicielle très importante. Le matériel d’un système informatique est composé de processeurs qui exécutent les instructions, de la mémoire centrale qui contient les données et les instructions à exécuter, de la mémoire secondaire qui sauvegarde les informations, et des périphériques d’Entrées/Sorties (clavier, souris, écran, modem, etc.) pour introduire ou récupérer des informations. Les logiciels sont à leur tour divisés en programmes système qui font fonctionner l’ordi- nateur : le système d’exploitation et les utilitaires (compilateurs, éditeurs, interpréteurs de commandes, etc.) et en programmes d’application qui ré- solvent des problèmes spécifiques des utilisateurs. 1 2 CHAPITRE 1. INTRODUCTION utilisateur 1 utilisateur 2 utilisateur 3 utilisateur n ... compilateur ... programmes d’application Système d’exploitation Ordinateur matériel assembleur éditeur texte Base de données FIG. 1.1 – Les couches d’un système informatique. 1.1.1 Le système d’exploitation Le système d’exploitation gère et contrôle les composants de l’ordina- teur. Il fournit une base appelée machine virtuelle, sur laquelle seront cons- truits les programmes d’application et les utilitaires au moyen des services ou appels système. Le but d’un système d’exploitation consiste donc à dé- velopper des applications sans se soucier des détails de fonctionnement et de gestion du matériel. Ainsi, par exemple, on peut effectuer la lecture d’un fichier par un simple appel système : read(fd, buf, 255); et peu im- porte que le fichier en question se trouve dans un disque magnétique, un DVD ou un disque en RAM. Les fonctions d’un système d’exploitation Les systèmes d’exploitation modernes sont constitués de centaines de milliers, voire de millions de lignes de code et requièrent une grande quan- tité d’homme-années de travail. Ils ont comme fonctions principales : – Chargement et lancement des programmes – Gestion des processeurs, de la mémoire, des périphériques – Gestion des processus (programmes en cours d’exécution) et des fi- chiers – Protection contre les erreurs et la détection des erreurs, etc. 1.2. ÉVOLUTION DES SYSTÈMES D’EXPLOITATION 3 Exemples de systèmes d’exploitation Il y a plusieurs types de systèmes d’exploitation actuellement : – MS-DOS, Windows – OS/2, Mac-OS – Unix (AIX, Xenix, Ultrix, Solaris, etc.) – Linux Il y a aussi des systèmes d’exploitation éducatifs, comme Minix1 crée par Andrew S. Tanembaum ou des simulateurs de systèmes d’exploitation co- mme Nachos2. 1.2 Évolution des systèmes d’exploitation Exploitation porte ouverte : 1945-1955 Les machines à calculer étaient construites au moyen de tubes électro- niques. Ces machines étaient énormes, coûteuses, très peu fiables et beau- coup moins rapides car le temps de cycle se mesurait en secondes. Elles n’avaient pas de systèmes d’exploitation. Les programmes étaient écrits di- rectement en langage machine : ils étaient chargés en mémoire, exécutés et mis au point à partir d’un pupitre de commande. Le mode de fonction- nement consistait à réserver une tranche de temps pour chaque program- meur (un seul programme en mémoire). Au début de 1950, la procédure s’est améliorée grâce à l’introduction de cartes perforées. Les problèmes évidents étaient dus au mode d’exploitation : peu économique, le matériel coûteux, la longue durée d’entrée des programmes et une mise au point pénible. Traitement par lots : 1955-1965 Les machines étaient construites au moyen de transistors et dotées d’uni- tés de bandes magnétiques. Elles étaient plus fiables mais toujours énormes (enfermées dans des salles climatisées). Les programmes étaient écrits en Fortran ou en assembleur sur des cartes perforées. Le mode de fonctionne- ment utilisé, montré à la figure 1.2, était le traitement par lots qui consiste à : – Transférer les travaux sur une bande magnétique – Monter la bande sur le lecteur de bandes 1http ://www.cs.vu.nl/˜ ast/minix.html 2http ://www.cs.washington.edu/homes/tom/nachos/ 4 CHAPITRE 1. INTRODUCTION – Charger en mémoire un programme spécial (l’ancêtre des systèmes d’exploitation) qui lit puis exécute, l’un à la suite de l’autre, les pro- grammes de la bande. Les résultats sont récupérés sur une autre bande, à la fin de l’exécution de tout le lot. – Imprimer les résultats. Ce mode d’exploitation nécessitait deux machines dont la plus puissante était réservée aux calculs et l’autre, moins chère, s’occupait des périphé- riques lents. Le problème est que le processeur restait inutilisé pendant les Mémoire centrale Un seul travail Compilateur Moniteur d’enchaînement de travaux Gestionnaire des entrées/sorties Lot de travaux Lot de résultats FIG. 1.2 – Traitement par lots et organisation de la mémoire. opérations d’entrée et sortie (E/S), comme on le voit sur la figure 1.3. Le temps d’attente des résultats était trop long et en plus il n’y avait pas d’in- teraction avec l’utilisateur. périphérique processeur temps FIG. 1.3 – Utilisation du processeur et des périphériques. Multiprogrammation et traitement par lots : 1965-1980 L’introduction des circuits intégrés dans la construction des machines a permis d’offrir un meilleur rapport coût/performance. L’arrivée sur le mar- ché des unités de disques, qui offrent l’accès aléatoire et des capacités de 1.2. ÉVOLUTION DES SYSTÈMES D’EXPLOITATION 5 stockage importantes, a contribué à une série de développements des sys- tèmes, notamment la possibilité de transférer les travaux vers le disque dès leur arrivée dans la salle machine. Cette technique s’appelle le spool (Si- multaneous Peripheral Operation On Line) et est également utilisée pour les sorties. Cette notion de spooling ou traitement par lots subsiste dans les systèmes d’exploitation modernes. Tous les travaux résidants sur le disque en attente d’exécution sont conservés dans le pool des travaux en entrée. La mémoire est organisée en un ensemble de partitions (figure 1.4). Chaque partition peut contenir au plus un travail. Le système d’exploitation réside aussi dans une partition. S’il y a une partition libre et des travaux dans le pool d’entrée, le système SE Processus 1 Processus 2 … Processus n n partitions de mémoire … FIG. 1.4 – Partitions de mémoire. d’exploitation choisit un travail puis lance son chargement en mémoire. Il conserve en mémoire plusieurs travaux et gère le partage du processeur entre les différents travaux chargés en mémoire (la multiprogrammation). Le processeur est alloué à un travail jusqu’à ce qu’il demande une E/S (premier arrivé, premier servi). Lorsqu’un travail demande une E/S (en attente de la fin d’une E/S), le processeur est alloué à un autre travail en mémoire (le suivant). A la fin d’une E/S, une interruption se produit et le système d’exploitation reprend le contrôle pour traiter l’interruption et lan- cer ou poursuivre l’exécution d’un travail. Dès qu’un travail se termine, le système d’exploitation peut lancer le chargement, à partir du disque, d’un nouveau travail dans la partition qui vient de se libérer. Supposons trois travaux A, B et C. Dans un système multiprogrammé, trois activités peuvent être donc menées en parallèle : 1. Le chargement du travail C en mémoire, 2. L’exécution du travail B et 3. L’édition des résultats 6 CHAPITRE 1. INTRODUCTION du travail A. La multiprogrammation nécessite des circuits de contrôle pour protéger chaque travail contre les intrusions et les erreurs des autres. Les ordinateurs de cette époque possédaient ces circuits.  Exemple 1. Considérons les travaux A, B et C en mémoire, qui sont mon- trés sur la figure 1.5. L’exécution de A est entamée en premier puis lorsqu’il B B,C C B,C B,C C C C A A B B C A B C A A A B périphérique processeur attente CPU attente péripherique d’E/S temps FIG. 1.5 – Commutation du processeur. demande une Entrée/Sortie (E/S), le processeur commute sur B. A la fin de l’E/S demandée par A, le processeur suspend l’exécution de B pour commuter sur A. On suppose qu’A est prioritaire. Après un certain temps de calcul, A demande de nouveau une E/S ; ce qui provoque la commu- tation du processeur sur B. Durant l’exécution de l’E/S de A, le travail B demande une E/S. Il se met donc en attente car le périphérique est occupé. Le processeur commute alors sur le travail C. Lorsque l’exécution de l’E/S demandée par A s’est terminée, le processeur commute sur A et le trai- tement de la demande d’E/S du travail B est entamé par le périphérique d’E/S. Multiprogrammation et partage de temps : 1965-1980 Le désir d’un temps de réponse plus rapide et d’interactivité de l’exploi- tation a introduit la technique de partage de temps (systèmes temps par- tagé ou multi-utilisateurs) : plusieurs utilisateurs peuvent se connecter à la machine par l’intermédiaire de leurs terminaux et travailler en même temps. 1.2. ÉVOLUTION DES SYSTÈMES uploads/Industriel/ ase-pdf.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager