SYSTEME Chapitre 1 HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.) Ce qu'est un S.E. = partie intelligente d'un système donné. Les S.E. ont évolué au fil des années. Ils dépendent de l'architecture des ordinateurs sur lesquels ils tournent. PH 1940 H * évolution archi * évolution techno * pas de S.E. * évolution archi 4 générations * principe de fonctionnement du S.E. Le 1 er ordinateur digital fut conçu par le mathématicien anglais Charles Babbage (1792 1871). * Cette machine ne possède pas de S.E.: la conception fait appel à la mécanique la techno de l'époque ne permettait pas de produire des roues, engrenages. le concepteur n'arrive pas à faire fonctionner sa machine. Première génération (1945 1955):les tubes à vide et cartes enfichables. la construction de la machine à calculer fait appel à des tubes électroniques la machine est énorme et moins rapide un seul groupe de personnes fait la conception, la construction, la programmation et la maintenance. la programmation se fait en langage machine le mode de fonctionnement consiste à réserver une tranche de temps pour chaque programme. le programmeur insère son circuit ds la machine production des tables de statistiques ou trigonométrie le S.E. est encore inconnu au début des années 50: introduction des cartes perforées. Deuxième génération (1955 1965): les transistors et le traitement par lots les ordinateurs sont fiables d'où la commercialisation la nette séparation existe entre concepteurs, constructeurs, opérateurs, programmeurs et personnel de maintenance. mode de fonctionnement est un W qui consiste : * écrire un programme (assembleur ou fortran) * la mise en place du programme sur des cartes perforées * donner les cartes à l'opérateur * lecture des cartes * l'opérateur charge le compilateur fortran si celui ci est obligatoire * l'ordinateur réalise le W * l'opérateur retire es résultats du programme sur l'imprimante
* le programmeur récupère un listing Perte de tps et coût élevé des équipements: comment réduire le tps? solution: traitement par lot Principe: FIN DONNEES RUN LOAD PROGRAMME FORTRAN/ASS JOB=n U Essai Essai Emacs cc o passwd Lecteur listing Trans. Bandes magnétiques jobs entrée Processeur uc R Ordi entrée imp. "système" Troisième génération (1965 1980): les circuits intégrés et la multiprogrammation: au début des année 60: 2 produits incompatibles: * ordinateur scientifique (orienté mots) * ordinateur gestion (orienté caractères) 2 maintenances ce qui est très coûteux pour les fabriquants IBM a fabriqué une série compatible d'ordinateurs: utilisation de circuits intégrés: * plus de mémoire * vitesse du processeur est grande * +sieurs entrées/sorties résolution du pb scientifique et du pb de gestion S.E. énorme, complexe, +sieurs milliers de lignes d'assembleurs S.E. écrit par une centaines de programmeurs S.E. contient +sieurs bogues la correction d'un bogue entraîne la création d'autres bogues +sieurs utilisateurs sont satisfaits cependant, il y a tjs le pb suivant: * le programme scientifique occupe le processeur à 100% * le programme de gestion occupe le processeur à 20% et 80% d' E/S comment occuper le processeur à 100%?
solution: le principe de la multiprogrammation est introduit cô nouveau concept Principe: Tâche 1 Tâche 2 S.E. Partition de la mémoire: Chaque tâche réside ds une partition de la mémoire centrale. Lorsqu'une tâche attend la fin d' E/S une autre tâche peut utiliser le processeur. Si le nb de tâches est identique au nb de partition alors le processeur sera occupé à 100%. Technique de SPOOL: Liaison avec un disque dur au lieu de bandes magnétiques: le transfert depuis les cartes vers un disque dur est adopté. le S.E. charge une nouvelle tâche à partir du disque vers une partition libre (si elle existe), et lance son exécution. le traitement par lots est maintenu Pb: PERTE DE TPS non négligeable côté utilisateur * comment réduire le tps? l'utilisateur est équipé d'un terminal (écran/ clavier) connecté sur la machine; on utilise le principe du tps partagé (une variante de la multiprogrammation) CARTES C E machine V3 V2 Pdt que 2/3 des utilisateurs sont occupés A réfléchir, 1/3 utilisent la machine. V1 t t t t S.E "MULTICS" = Multiplexed Information & Computing Service. Développement de mini ordinateurs En 1969, K. Thompson et B. Kenighan utilisent un PDP7 pour écrire une version simple de MULTICS : UNIX. Denis Ritchie utilise le langage C pour réécrire la majeure partie du système UNIX. Quatrième génération (1980 1990): les circuits LSI, les micro ordinateurs et les réseaux le circuit LSI cntient +sieurs centaines de transistors au centimètre carré.
fabrication de micro ordinateurs caractéristiques d'un micro ordinateur: * excellent graphisme * puissance de calcul développement de logiciels conviviaux les S.E. qui ont dominés le marché sont: * UNIX est instalé sur des machines utilisant le processeur de la famille Motorola 68000 * MS DOS est installé sur les machines utilisant le processeur INTEL de la famille 86. au milieu des années 80, le développement de réseaux: * ces ordi supportent un S.E. réseau/distribué. le S.E. réseau: il ne diffère pas d'un S.E. à un seul processeur il faut ajouter des interfaces et des utilitaires: * le logiciel de contrôle de bas niveau * l'interface réseau * la procédure de connexion/déconnexion le S.E. distribué: un S.E. distribué est d'un S.E. centralisé un utilisateur ne sait pas où résident ses fichiers l'exécution d'un programme part s'effectuer sur une ou +sieurs machines le déroulement de l'exécution doit progresser même si: * les infos sont incomplètes * ou périmées * ou fausses à cause des délais de communication le système doit continuer à fonctionner même si une partie du système tombe en panne. Définition: Un système informatique: est un ensemble de matériels et de logiciels (hard et soft) destiné à réaliser des tâches qui mettent en jeux le traitement automatique de l'information. Un tel système est relié au monde extérieur par des organes d'accès qui lui permettent de communiquer avec des usagers humains ou d'intervenir avec dispositifs physiques dt il a la charge de commander et de surveiller. Horloge h Processeur U.T. U.C. M.C. modem carte réseau clavier
imprimante CD/k7 écran S streames Processeur: Unité de traitement et Unité de contrôle. Pr tout gérer, il faut un S.E., objet logiciel. S.E. : il a pour vocation la gestion d'une machine et de ses organes. L'objectif d'un tel système est de piloter la machine sur laquelle il fonctionne (ensemble de programme gérant les détails de fonctionnement) et d'assurer aux utilisateurs et aux programmeurs un service souple, efficace et régulier. Fonctions d'un S.E. : 1) une machine abstraite: bibliothèque machine abstraite appel bibliothèque noyau B N L.C appel système pr programmeur man. d'objets (mémo, créer, détruire ) matériel On va soustraire le matériel qu regard du programmeur. L.C. = langage de cmd, sorte de coquille qui englobe le système "shell". La fonction d'un S.E. est de présenter à l'utilisateur et au programmeur une machine abstraite simple à utiliser et à programmer. 2) Partage de ressources: Disque Imp. Re fichiers/blocs mémoires U2 R0 RL U1 R1 U2 R1 R2 U3 R2 R3 interblocage U3 R3 A t 0 U1 utilise R1 A t 1 > t 0 U2 demande R1 et R2 U3 demande R2 et R3 La fonction d'un S.E. est de: connaître à tout moment l'utilisateur de une ou +sieurs ressources, de gérer leurs accès. d'éviter es conflits d'accès aux ressources.
Structure d' UNIX: shell Noyau application du système matérie Trois piliers d' UNIX: SHELL: joue le rôle d'interface utilisateur/système S.G.F: système de gestion des fichiers S.G.P: système de gestion des processus Processus: l'exécution d'un programme ds un environnement donné. Dans S.G.F on peut trouver des primitives permettant la création, la destruction de fichiers, réaliser des accès (lecture, écriture, exécution, droit d'accès, droit d'accès aux périphériques) Ds S.G.F on trouve des primitives pour: création, destruction des processus allocation d'une zone de mémoire à chaque processus échange de données entre processus communication entre processus On dit que le noyau du système UNIX est monolithique. MS DOS Application BIOS DOS Shell: Dish Operating System Basic input/output System Type de Matériel S.E. : mono utilisateur = à tout moment le système gère un seul utilisateur. multi utilisateur = simultanément le système gère +sieurs utilisateurs. mono tâche = à tout moment le système exécute une seule tâche. multi tâche = simultanément le système exécute +sieurs tâches. Mono t Multi t Mono u MS DOS CPM/86 OS/2 WIN NT Multi u UNIX VMS Application réseau: Connexion sur machines distantes: rlogin ex: rlogin athena
telnet Courrier électronique: mail ex: mail nom u < essai.c write talk Transfert de fichiers entre machines: tftp ftp rcp ex: rcp x: essai y: essai_bis Exécution de cmd sur une machine distante: rshell ex: rshell z cmd Accès transparent à des fichiers distants: nfs network file system rfs Machine x Ex: NFS A / Machine y / USR USR LIB LIB 1 LIBMAT LIBMAT NFS: ce type d'application permet d'attacher une partie d'arborescence, de fichier, de la machine x en un point de l'arborescence de la machine y. La machine x exporte l'arborescence A et la machine y va monter l'arborescence A.