Introduction

publicité
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
Téléchargement