Introduction Historique et volution des ordinateurs Pr Omar

  • Slides: 62
Download presentation
Introduction Historique et évolution des ordinateurs Pr. Omar Megzari Département de Mathématiques & Informatique

Introduction Historique et évolution des ordinateurs Pr. Omar Megzari Département de Mathématiques & Informatique megzari@fsr. ac. ma 1

Définitions n INFORmation auto. MATIQUE u Science du traitement automatique de l’information u Ensemble

Définitions n INFORmation auto. MATIQUE u Science du traitement automatique de l’information u Ensemble des applications de cette science, mettant en œuvre des matériels (ordinateurs) et des logiciels n Système Informatique u matériel (hardware) + du logiciel (software) Ch. 1 2

Définitions n Ordinateur : « machine à calculer » (calculateur) électronique dotée de mémoires,

Définitions n 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 n Programme : ensemble séquentiel d’instructions rédigées pour que l’ordinateur puisse résoudre un problème donné n Logiciel : ensemble de programmes relatif à des traitements d'informations (ex. Windows, Word. . . ) Ch. 1 3

Ordinateur et changements technologiques n n n Ch. 1 Première génération: Tubes électroniques (lampes

Ordinateur et changements technologiques n n n 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 R 2 E C'est le premier microordinateur du monde,

Premier micro-ordinateur 1973: Micral-N de R 2 E C'est le premier microordinateur du monde, il a été inventé par A. TRUONG, fondateur de R 2 E: une petite société française Le Micral N et sa carte unité centrale Ch. 1 5

ENIAC pesait 30 tonnes Ch. 1 6

ENIAC pesait 30 tonnes Ch. 1 6

Disposé en une sorte de U de 6 mètres de largeur par 12 mètres

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 n n n Ch. 1 Ordinateur à cartes perforées et

Première génération 1949 -1957 n n n 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 n n n Ch. 1 Utilisation de transistors et

Deuxième génération 1958 - 1964 n n n 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 micro-seconde). Fonctionnement séquentiel des systèmes de programmation (langag Mainframes Premier calculateur transistorisé : TRADIC 9

Troisième génération 1965 -1971 n n n n n Ch. 1 Miniaturisation des composants

Troisième génération 1965 -1971 n n n n n 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 n n n Ch. 1 Miniaturisation extrêmes des composants Apparition

Quatrième génération 1971 -1982 n n n 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 n n Ch. 1 Miniaturisation des composants poussée à l’extrême Vitesse proche

Cinquième génération n n 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.

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

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 Périphériques d’entrée Unité Centrale (microprocesseur + mémoires)

Schéma matériel général Périphériques de communication réseau Périphériques d’entrée Unité Centrale (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

L’unité centrale Le (micro)processeur ou CPU : Central Processing Unit Il exécute les programmes : un programme est une suite d’instructions n Ch. 1 Unité arithmétique et logique (UAL) et Unité de commande 17

Mémoire vive : RAM n RAM (Random Access Memory) u Permet de stocker des

Mémoire vive : RAM n RAM (Random Access Memory) u Permet de stocker des informations lorsqu’elle est alimentée électriquement u Lecture / Écriture u Mémoire volatile : contient des programmes et des données en cours d’utilisation u Capacité variable selon les ordinateurs F > à 512 Mo sur les PCs Ch. 1 18

Barrette de mémoire RAM Ch. 1 19

Barrette de mémoire RAM Ch. 1 19

Mémoire vive : RAM Ch. 1 20

Mémoire vive : RAM Ch. 1 20

Mémoire morte : ROM n ROM (Read Only Memory) u En lecture seule u

Mémoire morte : ROM n ROM (Read Only Memory) u En lecture seule u Mémoire permanente u 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 n Les périphériques de stockage n Les périphériques d’entrée n

Les périphériques Ch. 1 n Les périphériques de stockage n Les périphériques d’entrée n Les périphériques de sortie n 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

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

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

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 n Ch. 1 Permettent d’envoyer des informations à l’Unité Centrale 26

Périphériques d’entrée n Ch. 1 Permettent d’envoyer des informations à l’Unité Centrale 26

Périphériques de sortie n Permettent d ’envoyer les résultats à l’extérieur de l’Unité Centrale

Périphériques de sortie n Permettent d ’envoyer les résultats à l’extérieur de l’Unité Centrale u Écrans F taille (en pouce), résolution. . . u Imprimantes F matricielles, jet d ’encre, laser u Enceintes Ch. 1 27

Les périphériques de stockage n n n n Ch. 1 Disquette (1, 44 Mo)

Les périphériques de stockage n n n n 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 n n Ch. 1 Capacité en Go actuellement Plusieurs têtes

Les périphériques de stockage n n Ch. 1 Capacité en Go actuellement Plusieurs têtes de lectures 29

Les BUS Permettent le transfert des données entre les composan Différentes technologies plus ou

Les BUS Permettent le transfert des données entre les composan Différentes technologies plus ou moins grande capac Ch. 1 30

Système d’exploitation (SE) n Fournit l’interface usager/machine: Masque les détails du matériel aux applications

Système d’exploitation (SE) n Fournit l’interface usager/machine: Masque les détails du matériel aux applications u Le SE doit donc traiter ces détails u n Contrôle l’exécution des applications Le fait en reprenant périodiquement le contrôle de l’UCT u Dit à l’UCT quand exécuter tel programme u n 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

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 n n n Ch. 1 Gestion de la mémoire Gestion

Fonctions d’un système d’exploitation n n n 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

Vue abstraite d’un SE Ch. 1 34

Ressources et leur gestion n Ressources: u physiques: mémoire, unités E/S, UCT. . .

Ressources et leur gestion n Ressources: u physiques: mémoire, unités E/S, UCT. . . u Logiques = virtuelles: fichiers et bases de données partagés, canaux de communication logiques, virtuels. . . u les ressources logiques sont bâties par le logiciel sur les ressources physiques n Ch. 1 Allocation de ressources: gestion de ressources, leur affectation aux usagers qui les demandent, suivant certains critères 35

Pourquoi étudier les SE? n Logiciel très important… u tout programme s’exécute sur un

Pourquoi étudier les SE? n Logiciel très important… u tout programme s’exécute sur un SE u Interface usager-ordinateur n Les SE utilisent beaucoup d’algorithmes et structures de données intéressants u Les techniques utilisées dans les SE sont aussi utilisées dans nombreuses autres applications informatiques F il faut les connaître Ch. 1 36

Développement de la théorie des SE n n n Ch. 1 La théorie des

Développement de la théorie des SE n n n 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 n Systèmes par lots

Évolution historique des SE Le début: routines d’E/S, amorçage système n Systèmes par lots simples n Systèmes par lots multiprogrammés n Systèmes à partage de temps n Ordinateurs personnels n SE en réseau n SE répartis 4 Les fonctionnalités des systèmes simples se retrouvent dans les systèmes complexes. 4 Les problèmes et solutions qui sont utilisés dans les systèmes simples se retrouvent souvent dans les systèmes complexes. n Ch. 1 38

Systèmes de traitement par lots (batch) simples n n n n Ch. 1 Sont

Systèmes de traitement par lots (batch) simples n n n n 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

Un ordinateur principal (mainframe) du milieu des années ‘ 60 disques rubans UCT (mémoire probablem. autour de 500 K) 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

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

Opérateur lisant un paquet de cartes perforées Ch. 1 42

Langage de contrôle des travaux (JCL) n Utilisé pour contrôler l ’exec d ’une

Langage de contrôle des travaux (JCL) n Utilisé pour contrôler l ’exec d ’une job u u n n n 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 n n Ont été les premiers systèmes d`exploitation. Ils sont

Les systèmes par lots n n Ont été les premiers systèmes d`exploitation. Ils sont associés aux concepts suivants: langage de contrôle de travaux u système d ’exploitation résident en mémoire (kernel = u noyau) protection de mémoire u instructions privilégiées u F modes usager-moniteur interruptions u minuterie u n Ch. 1 Toutes caractéristiques se retrouvent dans les systèmes d ’aujourd’hui 44

Traitement par lots multiprogrammé n n n Ch. 1 Les opérations E/S sont extrêmement

Traitement par lots multiprogrammé n n n 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é n n Ch. 1 Si la mémoire peut contenir plusieurs

Traitement par lots multiprogrammé n n 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

Plusieurs programmes en mémoire pour la multiprogrammation Ch. 1 47

Exigences pour multiprogrammation n Interruptions F afin de pouvoir exécuter d’autres jobs lorsqu’un job

Exigences pour multiprogrammation n Interruptions F afin de pouvoir exécuter d’autres jobs lorsqu’un job attend après E/S n Gestion du matériel F plusieurs jobs prêts à être exécutées demandent des ressources: • UCT, mémoire, unités E/S n Ch. 1 Protection de la mémoire: isole les jobs 48

Spoule ou spooling n n n Ch. 1 Au lieu d’exécuter les travaux au

Spoule ou spooling n n n 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 n n n n Ch. 1 S’il y a un bon

Équilibre de travaux n n n n Ch. 1 S’il y a un bon nombre de travaux à exécuter, on peut cher à 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

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

Chaque terminal a sa propre partition de mémoire Ch. 1 52

Systèmes à temps partagé (TSS) n Le traitement par lots multiprogrammé ne supporte pas

Systèmes à temps partagé (TSS) n Le traitement par lots multiprogrammé ne supporte pas l’interaction avec les usagers u n n n 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) n n n Le temps de réponse humain est

Systèmes à temps partagé (TSS) n n n 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 u le concept de mémoire virtuelle pour faciliter la gestion de mémoire u traitement central des données des usagers (partagées ou non) u Ch. 1 54

MULTICS et UNIX n n n Ch. 1 MULTICS a été un système TSS

MULTICS et UNIX n n n 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) n n n Ch. 1 Au début, les PCs étaient aussi

Ordinateurs Personnels (PCs) n n n 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

Aujourd’hui Terminaux ‘intelligents’ (PCs)’ ordinateur principal (mainframe ou serveur) Ch. 1 57

Retour aux concepts de TSS n n Ch. 1 Plusieurs PC (clients) peuvent être

Retour aux concepts de TSS n n 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… n Systèmes d’exploitation répartis: u Le SE exécute à travers un ensemble

Et puis… n Systèmes d’exploitation répartis: u Le SE exécute à travers un ensemble de machines qui sont reliées par un réseau F Pas discutés dans ce cours Ch. 1 59

Systèmes parallèles n n n Le petit coût des puces rend possible leur composition

Systèmes parallèles n n n Le petit coût des puces rend possible leur composition dans systèmes multiprocesseurs Les ordinateurs partagent mémoire, horloge, etc. Avantages: u plus de travail fait (throughput) u plus fiable: F dégradation harmonieuse (graceful degradation) Ch. 1 60

Systèmes distribués ( = répartis) n n Les réseaux d’ordinateurs sont en pleine émergence.

Systèmes distribués ( = répartis) n n Les réseaux d’ordinateurs sont en pleine émergence. . . Systèmes multiprocesseurs faiblement couplés u consistent d’ordinateurs autonomes, qui communiquent à travers lignes de communication Ch. 1 61

Systèmes distribués ( = répartis) n SE répartis u il y a un SE

Systèmes distribués ( = répartis) n SE répartis u il y a un SE qui fonctionne entre ordinateurs u l’usager voit les ressources éloignées comme si elles étaient locales n SE en réseau (network operating systems) fournissent: u partage de fichiers (systèmes client-serveur) u patrons de communication (protocoles) u autonomie des ordinateurs Ch. 1 62

Systèmes à temps réel n n Doivent réagir à ou contrôler des événements externes

Systèmes à temps réel n n 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: u les échéances sont importantes, mais ne sont pas critiques (p. ex. systèmes téléphoniques) n systèmes temps réel rigides (hard): u le échéances sont critiques (p. ex. contrôle d’une chaîne d`assemblage) Ch. 1 63