Chapitre I Introduction Historique et évolution des ordinateurs | |
Pr. Omar Megzari Département d’Informatique Faculté des Sciences de Rabat |
Objectifs du cours
Ø La partie système s’intéresse aux systèmes d’exploitation modernes et plus particulièrement à :
– Définitions générales (architectures et buts)
– Définitions et Historique
– Gestion des processus
– Gestion de la mémoire
– Systèmes de fichiers
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 (hardware) + du logiciel (software)
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 )
technologiques
Ø 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.
Disposé en une sorte de U de 6 mètres de largeur par 12 mètres de longueur et pesait 30 tonnes.
Ø 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
Ø Prix élevé / capacité et performance.
Ø Utilisation de transistors
Ø 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 (langages évolués):FORTRAN
Ø Mainframes
Ø 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
Ø 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
Cinquième génération
Ø Miniaturisation des composants poussée à l’extrême
Ø Vitesse proche de celle de la lumière.
Ø Processeurs en parallèle
Ø Nouvelles structures et représentations des données.
Schéma de la machine de Von Newman
UAL = unité arithmétique et logique
Ces dispositifs permettent la mise en œuvre 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.
L’unité centrale
Le (micro)processeur ou CPU :
Central Processing Unit Il exécute les programmes :
un programme est une suite
d’instructions
Ø Unité arithmétique et logique (UAL) et Unité de commande
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é variable selon les ordinateurs
• > à 4 go sur les PCs
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…BIOS)
Les périphériques
Ø 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
Périphériques d’entrée
Ø Permettent d’envoyer des informations à l’Unité Centrale
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
Ø CD-ROM (650 Mo et 800 Mo)
Ø DVD (4,7 à 17 Go)
Ø Disque dur > 320 Go
Ø Différence entre RAM et supports de stockage
Les BUS
Permettent le transfert des données entre les composants de l’ordinateur
Différentes technologies è plus ou moins grande capacité de transfert
Systèmes d’Exploitations
Qu’est-ce qu’un SE ?
Deux visions :
Ø Une interface entre l’utilisateur et le matériel.
– Cacher les spécificités matérielles à l’utilisateur.
Ø Un gestionnaire de ressources : un programme qui gère les ressources de l’ordinateur (processeur, mémoire, périphériques, etc.).
– Savoir quelles ressources sont disponibles
– Savoir qui utilise quoi, quand, combien, etc.
– Allouer/Libérer les ressources efficacement.
Plus formellement
Plus formellement, c’est un ensemble de programmes dont la fonction est de :
– Gérer les ressources
• Physiques : processeur, mémoire, disques, etc.
• Logiques : fichiers et bases de données etc.
– Contrôler les entrées-sorties
– ordonnancer les travaux
– gérer les erreurs
– fournir des mécanismes de sécurité
En conclusion : servir d’interface entre l’utilisateur et la machine.
Ø Le SE fonctionne exactement comme un programme ordinaire :
– Il est exécuté par le processeur de la même manière.
– La différence principale est sa fonction : il dirige le processeur sur l'utilisation des ressources et la manière d'exécuter les autres programmes. Ø Une partie, le noyau (kernel)
– reste en mémoire
– contient les fonctions les plus utilisées du SE
• gère les processus, leur ordonnancement,
• les communications interprocessus,
• la mémoire et
• les accès aux ressources
Ø Gestion :
– des processus
– de la mémoire
– des périphériques de stockage auxiliaires
– des Entrées Sorties (E/S)
– des fichiers
– …
Ø Protection de l’intégrité
Ø Réseau
Ø Interpréteur de commandes
Ø 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
Ø 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
4 Les problèmes et solutions qui sont utilisés dans les systèmes simples se retrouvent souvent dans les systèmes complexes.
Systèmes de traitement par lots (batch) simples
Ø 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é
Ø 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 ou ruban magnétique…
(mainframe) du milieu des années ‘60
UCT
Une ligne de données ou de programme était codée dans des trous qui pouvaient être lus par la machine
Ø 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 programme usager se trouve en mémoire
Ø Si la mémoire peut contenir plusieurs programmes, l’UCT peut exécuter un autre programme lorsqu’un programme attend une E/S
Ø C’est de la multiprogrammation
Plusieurs programmes en mémoire pour la multiprogrammation
Ø 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
Ø Le traitement par lots multiprogrammé ne supporte pas l’interaction avec les usagers
– 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
Ø 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.
Ø 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)
D’autres Systèmes
Ø Systèmes d’exploitation répartis:
– Le SE exécuté à travers un ensemble de machines qui sont reliées par un réseau
Ø Systèmes multiprocesseurs
Ø Systèmes parallèles
Ø Systèmes à temps réel
Chapitre I Introduction Historique et évolution des ordinateurs | |
Pr. Omar Megzari Département d’Informatique Faculté des Sciences de Rabat |
Objectifs du cours
Ø La partie système s’intéresse aux systèmes d’exploitation modernes et plus particulièrement à :
– Définitions générales (architectures et buts)
– Définitions et Historique
– Gestion des processus
– Gestion de la mémoire
– Systèmes de fichiers
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 (hardware) + du logiciel (software)
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 )
technologiques
Ø 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.
Disposé en une sorte de U de 6 mètres de largeur par 12 mètres de longueur et pesait 30 tonnes.
Ø 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
Ø Prix élevé / capacité et performance.
Ø Utilisation de transistors
Ø 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 (langages évolués):FORTRAN
Ø Mainframes
Ø 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
Ø 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
Cinquième génération
Ø Miniaturisation des composants poussée à l’extrême
Ø Vitesse proche de celle de la lumière.
Ø Processeurs en parallèle
Ø Nouvelles structures et représentations des données.
Schéma de la machine de Von Newman
UAL = unité arithmétique et logique
Ces dispositifs permettent la mise en œuvre 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.
L’unité centrale
Le (micro)processeur ou CPU :
Central Processing Unit Il exécute les programmes :
un programme est une suite
d’instructions
Ø Unité arithmétique et logique (UAL) et Unité de commande
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é variable selon les ordinateurs
• > à 4 go sur les PCs
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…BIOS)
Les périphériques
Ø 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
Périphériques d’entrée
Ø Permettent d’envoyer des informations à l’Unité Centrale
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
Ø CD-ROM (650 Mo et 800 Mo)
Ø DVD (4,7 à 17 Go)
Ø Disque dur > 320 Go
Ø Différence entre RAM et supports de stockage
Les BUS
Permettent le transfert des données entre les composants de l’ordinateur
Différentes technologies è plus ou moins grande capacité de transfert
Systèmes d’Exploitations
Qu’est-ce qu’un SE ?
Deux visions :
Ø Une interface entre l’utilisateur et le matériel.
– Cacher les spécificités matérielles à l’utilisateur.
Ø Un gestionnaire de ressources : un programme qui gère les ressources de l’ordinateur (processeur, mémoire, périphériques, etc.).
– Savoir quelles ressources sont disponibles
– Savoir qui utilise quoi, quand, combien, etc.
– Allouer/Libérer les ressources efficacement.
Plus formellement
– Gérer les ressources
• Physiques : processeur, mémoire, disques, etc.
• Logiques : fichiers et bases de données etc.
– Contrôler les entrées-sorties
– ordonnancer les travaux
– gérer les erreurs
– fournir des mécanismes de sécurité
En conclusion : servir d’interface entre l’utilisateur et la machine.
Ø Le SE fonctionne exactement comme un programme ordinaire :
– Il est exécuté par le processeur de la même manière.
– La différence principale est sa fonction : il dirige le processeur sur l'utilisation des ressources et la manière d'exécuter les autres programmes. Ø Une partie, le noyau (kernel)
– reste en mémoire
– contient les fonctions les plus utilisées du SE
• gère les processus, leur ordonnancement,
• les communications interprocessus,
• la mémoire et
• les accès aux ressources
Ø Gestion :
– des processus
– de la mémoire
– des périphériques de stockage auxiliaires
– des Entrées Sorties (E/S)
– des fichiers
– …
Ø Protection de l’intégrité
Ø Réseau
Ø Interpréteur de commandes
Ø 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
Ø 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
Ø SE en réseau
Ø SE répartis
4 Les problèmes et solutions qui sont utilisés dans les systèmes simples se retrouvent souvent dans les systèmes complexes.
Systèmes de traitement par lots (batch) simples
Ø 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é
Ø 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 ou ruban magnétique…
(mainframe) du milieu des années ‘60
UCT
Une ligne de données ou de programme était codée dans des trous qui pouvaient être lus par la machine
Ø 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 programme usager se trouve en mémoire
Ø Si la mémoire peut contenir plusieurs programmes, l’UCT peut exécuter un autre programme lorsqu’un programme attend une E/S
Ø C’est de la multiprogrammation
Plusieurs programmes en mémoire pour la multiprogrammation
Ø Puis choisir quels programmes exécuter et quand
Ø La mémoire secondaire contenait aussi les données d’E/S
Ø Le traitement par lots multiprogrammé ne supporte pas l’interaction avec les usagers
– 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
Ø 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.
Ø 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)
D’autres Systèmes
Ø Systèmes d’exploitation répartis:
– Le SE exécuté à travers un ensemble de machines qui sont reliées par un réseau
Ø Systèmes multiprocesseurs
Ø Systèmes parallèles
Ø Systèmes à temps réel