Introduction Historique et évolution des ordinateurs Pr. Omar Megzari Département de Mathématiques & Informatique [email protected] 1 Définitions INFORmation autoMATIQUE Science du traitement automatique de l’information Ensemble des applications de cette science, mettant en œuvre des matériels (ordinateurs) et des logiciels Système Informatique matériel Ch. 1 (hardware) + du logiciel (software) 2 Définitions Ordinateur : « machine à calculer » (calculateur) électronique dotée de mémoires, de moyens de traitement des informations, capable de résoudre des problèmes grâce à l’exploitation automatique de programmes enregistrés Programme : ensemble séquentiel d’instructions rédigées pour que l’ordinateur puisse résoudre un problème donné Logiciel : ensemble de programmes relatif à des traitements d'informations (ex. Windows, Word...) Ch. 1 3 Ordinateur et changements technologiques Ch. 1 Première génération: Tubes électroniques (lampes à vide) Deuxième génération: transistors Troisième génération: circuits intégrés Quatrième génération: microprocesseurs. Cinquième génération: intelligence artificielle. 4 Premier micro-ordinateur 1973: Micral-N de R2E C'est le premier microordinateur du monde, il a été inventé par A. TRUONG, fondateur de R2E: une petite société française Le Micral N et sa carte unité centrale Ch. 1 5 ENIAC pesait 30 tonnes Ch. 1 6 Disposé en une sorte de U de 6 mètres de largeur par 12 mètres de longueur. Ch. 1 7 Première génération 1949-1957 Ch. 1 Ordinateur à cartes perforées et à bandes magnétiques Programmation physique en langage machine Calcul numérique (trigonométrie) Appareils immenses, lourds, énergie élevée Utilisation de tubes à vide et à mémoires à tambour magnétique Prix élevé / capacité et performance. ENIAC (1946) ILLIAC (1946) 8 Deuxième génération 1958 - 1964 Ch. 1 Utilisation de transistors et des mémoires à ferrite. Transistor => augmentation de la fiabilité Utilisation de mémoires de masse pour le stockage périphériques. Temps d’accès moyen (de l’ordre de la microseconde). Fonctionnement séquentiel des systèmes de programmation (langages évolués):FORTRAN Mainframes Premier calculateur transistorisé : TRADIC 9 Troisième génération 1965-1971 Ch. 1 Miniaturisation des composants (circuits intégrés) Apparition des systèmes d’exploitation Concepts de temps partagés Machines polyvalentes et de capacité variée Appareils modulaires et extensibles Multitraitement (plusieurs programmes à la fois) Télétraitement (accès par téléphone) UNIX Mini ordinateurs 10 Quatrième génération 1971-1982 Ch. 1 Miniaturisation extrêmes des composants Apparition des microprocesseurs Diversification des champs d’application Apparition de la micro-informatique L’aspect logiciel prend le pas sur l’aspect matériel 11 Cinquième génération Ch. 1 Miniaturisation des composants poussée à l’extrême Vitesse proche de celle de la lumière. Vitesse de traitement augmentée jusqu’au gigalips (de 100 à 1000 instructions) Processeurs en parallèle Nouvelles structures et représentations des données. 12 Schéma de la machine de Von Newman UAL = unité arithmétique et logique Ch. 1 13 Machine de Von Newman Ces dispositifs permettent la mise en oeuvre des fonctions de base d'un ordinateur : -le stockage de données, -le traitement des données, -le mouvement des données et -le contrôle des périphériques. Ch. 1 14 Schéma matériel général Périphériques de communication réseau Unité Centrale Périphériques d’entrée (microprocesseur + mémoires) - écran - imprimante - ... - clavier - souris - ... Périphériques de stockage Ch. 1 Périphériques de sortie Disques durs Disquettes, Zip, ... 15 L’unité centrale Le (micro)processeur ou CPU : Central Processing Unit Il exécute les programmes : un programme est une suite d’instructions Ch. 1 Unité arithmétique et logique (UAL) et Unité de commande 17 Mémoire vive : RAM RAM (Random Access Memory) Permet de stocker des informations lorsqu’elle est alimentée électriquement Lecture / Écriture Mémoire volatile : contient des programmes et des données en cours d’utilisation Capacité > Ch. 1 variable selon les ordinateurs à 512 Mo sur les PCs 18 Barrette de mémoire RAM Ch. 1 19 Mémoire vive : RAM Ch. 1 20 Mémoire morte : ROM ROM (Read Only Memory) En lecture seule Mémoire permanente Contient les programmes de base au démarrage de l’ordinateur (initialisation de l’ordinateur, initialisation de périphériques, lancement du système d’exploitation…) Ch. 1 21 Les périphériques Ch. 1 Les périphériques de stockage Les périphériques d’entrée Les périphériques de sortie Les périphériques de communication 22 Périphériques d’entrée Contrôleurs Mémoire centrale Périphériques de sortie Ch. 1 Stockage U.C. Niveau Matériel 23 Périphériques d’entrée Contrôleurs (Pilotes) Mémoire centrale Système d’exploitation Stockage U.C. Fichiers Périphériques de sortie Ch. 1 Niveau Matériel + SE 24 Périphériques d’entrée Contrôleurs (Pilotes) Mémoire centrale Système d’exploitation Programmes Données Stockage U.C. Fichiers Niveau Matériel Périphériques de sortie + SE + Programmes Ch. 1 25 Périphériques d’entrée Ch. 1 Permettent d’envoyer des informations à l’Unité Centrale 26 Périphériques de sortie Permettent d ’envoyer les résultats à l’extérieur de l’Unité Centrale Écrans taille (en pouce), résolution... Imprimantes matricielles, jet d ’encre, laser Enceintes Ch. 1 27 Les périphériques de stockage Ch. 1 Disquette (1,44 Mo) Disquette zip (100 et 250 Mo) CD-ROM (650 Mo et 800 Mo) DVD (4,7 à 17 Go) Disque dur > 120 Go Attention : différence entre support, lecteur et graveur Différence entre RAM et supports de stockage 28 Les périphériques de stockage Ch. 1 Capacité en Go actuellement Plusieurs têtes de lectures 29 Les BUS Permettent le transfert des données entre les composants de l’ordinateur Différentes technologies plus ou moins grande capacité de transfert Ch. 1 30 Système d’exploitation (SE) Fournit l’interface usager/machine: Masque les détails du matériel aux applications Le SE doit donc traiter ces détails Contrôle l’exécution des applications Le fait en reprenant périodiquement le contrôle de l’UCT Dit à l’UCT quand exécuter tel programme Ch. 1 Il doit optimiser l’utilisation des ressources pour maximiser la performance du système 31 Quelques mots sur les systèmes d’exploitation Définition Un système d'exploitation (SE; en anglais: OS = operating system) est un ensemble de programmes de gestion du système qui permet de gérer les éléments fondamentaux de l'ordinateur: Le matériel - les logiciels - la mémoire - les données – les réseaux. Ch. 1 32 Fonctions d’un système d’exploitation Ch. 1 Gestion de la mémoire Gestion des systèmes de fichiers Gestion des processus Mécanismes de synchronisation Gestion des périphériques Gestion du réseau Gestion de la sécurité. 33 Vue abstraite d’un SE Ch. 1 34 Ressources et leur gestion Ressources: physiques: mémoire, unités E/S, UCT... Logiques = virtuelles: fichiers et bases de données partagés, canaux de communication logiques, virtuels... les ressources logiques sont bâties par le logiciel sur les ressources physiques Ch. 1 Allocation de ressources: gestion de ressources, leur affectation aux usagers qui les demandent, suivant certains critères 35 Pourquoi étudier les SE? Logiciel très important… tout programme s’exécute sur un SE Interface usager-ordinateur Les SE utilisent beaucoup d’algorithmes et structures de données intéressants Les techniques utilisées dans les SE sont aussi utilisées dans nombreuses autres applications informatiques il Ch. 1 faut les connaître 36 Développement de la théorie des SE Ch. 1 La théorie des SE a été développée surtout dans les années 1960 (!!) A cette époque, il y avait des machines très peu puissantes avec lesquelles on cherchait à faire des applications comparables à celles d’aujourd’hui Ces machines devaient parfois desservir des dizaines d’usagers! Dont le besoin de développer des principes pour optimiser l’utilisation d’un ordinateur. Principes qui sont encore utilisés 37 Évolution historique des SE Le début: routines d’E/S, amorçage système Systèmes par lots simples Systèmes par lots multiprogrammés Systèmes à partage de temps Ordinateurs personnels SE en réseau SE répartis Les fonctionnalités des systèmes simples se retrouvent dans les systèmes complexes. Les problèmes et solutions qui sont utilisés dans les systèmes simples se retrouvent souvent dans les systèmes complexes. Ch. 1 38 Systèmes de traitement par lots (batch) simples Ch. 1 Sont les premiers SE (mi-50) L’usager soumet un job (ex: sur cartes perforées) à un opérateur L’opérateur place un lot de plusieurs jobs sur le dispositif de lecture Un programme, le moniteur, gère l'exécution de chaque programme du lot Le moniteur est toujours en mémoire et prêt à être exécuté Les utilitaires du moniteur sont chargés au besoin Un seul programme à la fois en mémoire, et les programmes sont exécutés en séquence La sortie est normalement sur un fichier, imprimante, ruban magnétique… 39 Un ordinateur principal (mainframe) du milieu des années ‘60 disques rubans UCT (mémoire probablem. autour de 500K) lecteur de cartes console opérateur Ch. 1 40 Cartes perforées… Une ligne de données ou de programme était codée dans des trous qui pouvaient être lus par la machine Ch. 1 41 Opérateur lisant un paquet de cartes perforées Ch. 1 42 Langage de contrôle des travaux (JCL) Utilisé pour contrôler l ’exec d ’une job Ch. 1 le compilateur à utiliser indiquer où sont les données Exemple d’une job: ------->> $JOB initialise la machine $FTN charge le compilateur et initie son exécution $LOAD charge le pgm objet (à la place du compilateur) $RUN transfert le contrôle au programme usager les données sont lues par le moniteur et passées au progr. usager $JOB $FTN ... Programme FORTRAN ... $LOAD $RUN ... Données ... $END $JOB ... (job suiv.) 43 Les systèmes par lots Ont été les premiers systèmes d`exploitation. Ils sont associés aux concepts suivants: langage de contrôle de travaux système d ’exploitation résident en mémoire (kernel = noyau) protection de mémoire instructions privilégiées modes usager-moniteur interruptions minuterie Ch. 1 Toutes ces caractéristiques se retrouvent dans les systèmes d ’aujourd’hui 44 Traitement par lots multiprogrammé Ch. 1 Les opérations E/S sont extrêmement lentes (comparé aux autres instructions) Même avec peu d’E/S, un programme passe la majorité de son temps à attendre Donc: pauvre utilisation de l’UCT lorsqu’un seul pgm usager se trouve en mémoire 45 Traitement par lots multiprogrammé Ch. 1 Si la mémoire peut contenir plusieurs pgms, l’UCT peut exécuter un autre pgm lorsqu’un pgm attend après E/S C’est de la multiprogrammation 46 Plusieurs programmes en mémoire pour la multiprogrammation Ch. 1 47 Exigences pour multiprogrammation Interruptions afin de pouvoir exécuter d’autres jobs lorsqu’un job attend après E/S Gestion du matériel plusieurs jobs prêts à être exécutées demandent des ressources: • UCT, mémoire, unités E/S Ch. 1 Protection de la mémoire: isole les jobs 48 Spoule ou spooling Ch. 1 Au lieu d’exécuter les travaux au fur et à mesure qu’ils sont lus, les stocker à l’avance sur une mémoire secondaire (disque) Puis choisir quels programmes exécuter et quand La mémoire secondaire contenait aussi les données d’E/S 49 Équilibre de travaux Ch. 1 S’il y a un bon nombre de travaux à exécuter, on peut chercher à obtenir un équilibre Travaux qui utilisent peu l`UCT, beaucoup l’E/S, sont appelés tributaires de l`E/S Nous parlons aussi de travaux tributaires de l ’UCT Le temps d’UCT non utilisé par des travaux trib. de l ’E/S peut être utilisé par des travaux trib. de l ’UCT et vice-versa. L ’obtention d`un tel équilibre est le but des ordonnanceurs à long terme et à moyen terme (à discuter). Dans les systèmes de multiprog. on a souvent coexistence de travaux longs et pas urgents avec travaux courts et urgents Le SE donne priorité aux deuxièmes et exécute les premiers quand il y a du temps de machine disponible. 50 Systèmes à temps partagé (TSS) Terminaux ‘stupides’ ordinateur principal (mainframe) Ch. 1 51 Chaque terminal a sa propre partition de mémoire Ch. 1 52 Systèmes à temps partagé (TSS) Le traitement par lots multiprogrammé ne supporte pas l’interaction avec les usagers Ch. 1 excellente utilisation des ressources mais frustration des usagers! TSS permet à la multiprogrammation de desservir plusieurs usagers simultanément Le temps d’UCT est partagé par plusieurs usagers Les usagers accèdent simultanément et interactivement au système à l’aide de terminaux 53 Systèmes à temps partagé (TSS) Le temps de réponse humain est lent: supposons qu’un usager nécessite, en moyenne, 2 sec du processeur par minute d’utilisation Environ 30 usagers peuvent donc utiliser le système sans délais notable du temps de réaction de l’ordinateur Les fonctionnalités du SE dont on a besoin sont les mêmes que pour les systèmes par lots, plus la communication avec usagers le concept de mémoire virtuelle pour faciliter la gestion de mémoire traitement central des données des usagers (partagées ou non) Ch. 1 54 MULTICS et UNIX Ch. 1 MULTICS a été un système TSS des années 60, très sophistiqué pour son époque Ne réussit pas à cause de la faiblesse du matériel de son temps Quelques unes de ses idées furent reprises dans le système UNIX 55 Ordinateurs Personnels (PCs) Ch. 1 Au début, les PCs étaient aussi simples que les premiers ordinateurs Le besoin de gérer plusieurs applications en même temps conduit à redécouvrir la multiprogrammation Le concept de PC isolé évolue maintenant vers le concept d’ordinateur de réseau (network computer), donc extension des principes des TSS. 56 Aujourd’hui Terminaux ‘intelligents’ (PCs)’ ordinateur principal (mainframe ou serveur) Ch. 1 57 Retour aux concepts de TSS Ch. 1 Plusieurs PC (clients) peuvent être desservis par un ordinateur plus puissant (serveur) pour des services qui sont trop complexes pour eux (clients/serveurs, bases de données, etc) Les grands serveurs utilisent beaucoup des concepts développés pour les systèmes TSS 58 Et puis… Systèmes d’exploitation répartis: Le SE exécute à travers un ensemble de machines qui sont reliées par un réseau Pas Ch. 1 discutés dans ce cours 59 Systèmes parallèles Le petit coût des puces rend possible leur composition dans systèmes multiprocesseurs Les ordinateurs partagent mémoire, horloge, etc. Avantages: plus de travail fait (throughput) plus fiable: dégradation Ch. 1 harmonieuse (graceful degradation) 60 Systèmes distribués ( = répartis) Les réseaux d’ordinateurs sont en pleine émergence... Systèmes multiprocesseurs faiblement couplés consistent d’ordinateurs autonomes, qui communiquent à travers lignes de communication Ch. 1 61 Systèmes distribués ( = répartis) SE répartis il y a un SE qui fonctionne entre ordinateurs l’usager voit les ressources éloignées comme si elles étaient locales SE en réseau (network operating systems) fournissent: partage de fichiers (systèmes client-serveur) patrons de communication (protocoles) autonomie des ordinateurs Ch. 1 62 Systèmes à temps réel Doivent réagir à ou contrôler des événements externes (p.ex. contrôler une fusée). Les délais de réaction doivent être bornés systèmes temps réel souples: les échéances sont importantes, mais ne sont pas critiques (p.ex. systèmes téléphoniques) systèmes temps réel rigides (hard): le échéances sont critiques (p.ex. contrôle d’une chaîne d`assemblage) Ch. 1 63