Chapitre 1 : Introduction aux systèmes d`exploitation - e

Transcription

Chapitre 1 : Introduction aux systèmes d`exploitation - e
Chapitre 1 : Introduction aux Systèmes d’Exploitation (SE)
1. Introduction
. 1 système informatique est un ensemble constitué de matériels et de logiciels et qui assure le traitement
des données.
. Les pgms exécutés sur un ordinateur sont habituellement classés, selon leur fonction, sous les 2
rubriques de logiciels de base et de logiciel d'application.
. Le SE constitue une part importante du logiciel de base.
Logiciel
d’application
Logiciel de
base
Matériel
Système informatique
Matériel
(Hardware)
Logiciel
(Software)
Logiciel de base
Outils de développement &
d’exécution de pgms (Compilateurs,
Interpréteurs, chargeur, utilitaires, …)
Logiciel d’application
(Trait. de textes, logiciel de comptabilité, …)
SYSTEME
D’EXPLOITATION
(SE)
Schéma d'1 système informatique
. Les logiciels d'applications résolvent les problèmes des utilisateurs.
. Le SE –et le reste du logiciel de base- fournit la base sur laquelle seront construits les logiciels
d'applications de la façon la plus efficace possible.
. Le SE fournit aux autres pgms d'ordinateurs les éléments de base dont ils ont besoin pour fonctionner.
. Le SE est mis en route dès qu'on met l'ordinateur en marche. C'est le seul pgm qui tourne constamment
dans 1 machine et il constitue une interface entre l'utilisateur et la machine physique.
1
2. Définition & opportunité d’1 SE
. Définition : Le SE (Operating System : OS) est 1 logiciel dont l’objectif est de libérer l’utilisateur d’1
ordinateur de la complexité de la programmation du matériel. Il propose 1 gestion flexible et optimisée
de ses différents composants (processeur, affichage, stockage, …).
. Un SE est un intermédiaire entre un ordinateur et les applications qui utilisent cet ordinateur.
. Le SE est la première couche logicielle au dessus du matériel.
Machine
Utilisateur
OS
Permet une utilisation
Pratique de l'ordinateur
Fournit une indépendance
vis-à-vis du matériel
Permet d'utiliser efficacement
les ressources matérielles
. 2 aspects complémentaires d’un Système d’Exploitation (SE) :
1. Adaptation d’interface : Le système présente à ses usagers une interface mieux adaptée à
leurs besoins que celle directement fournie par le matériel :
- Il cache les détails de mise en œuvre ;
- Il cache les limitations physiques et le partage des ressources entre plusieurs
utilisateurs.
 Le SE réalise une machine virtuelle.
2. Gestion des ressources : Pour satisfaire les besoins des pgms d’applications, le système gère
les ressources matérielles et logicielles : mémoire, processeurs, pgms, communications. Cette
gestion comprend l’allocation, le partage et la protection.
. On trouve des SE sur :
- Les ordinateurs : Unix / Linux, Windows, MacOS, …
- Des appareils divers : téléphone portable, …. (Windows CE, PalmOS, …)
. Fonctions d’1 SE :
-
Gestion d’activités // et coopérantes ;
=
d’information ;
=
des communications ;
Protection.
2
. Qualités requises d’1 SE :
-
Utilisation efficace des ressources ;
Fiabilité ;
Tolérance aux fautes ;
Qualité de l’interface ;
Bonne intégration au réseau ;
Sécurité & protection ;
Répertoire étendu des fonctions.
. Un SE présente en général 2 interfaces :
1. Interface de programmation ou API (Application Programming Interface) :
- Utilisable à partir des pgms s’exécutant sous le système.
- Composée d’1 ensemble d’appels système (appel de procédures avec paramètres).
2. Interface Utilisateur ou interface de commande :
- Utilsable par 1 usager humain, sous forme textuelle ou graphique.
- Composée d’1 ensemble de commandes (Textuelle : Eg. Sous Unix : rm *.c,
Graphique : Eg. Déplacer l’icône d’1 fichier vers la corbeille).
Pgm UT
Open (fichier)
open
chdir
Interpréteur
>cd ..
de commandes >print
print
Appels
système
SGF
Gestion des E/S
SE
…
3
3. Evolution des SE
Les SE ont évolués parallèlement aux ordinateurs sur lesquels ils fonctionnent. Cette évolution a conduit
à l’introduction de plusieurs concepts successifs, qui sont à la base des systèmes actuels. Une
présentation des étapes principales dans le chemin parcouru par les SE permet de mieux comprendre ces
concepts et leur motivation.
3.1 Exploitation à portes ouvertes
* Au départ, les premiers ordinateurs n’avaient pas à proprement parler de SE.
* Chaque utilisateur se réservait l’usage de la machine pour une période donnée qu’il doit estimer à
l’avance. Il disposait alors entièrement de toutes les ressources.
* L’exécution d’1 pgm consistait à mettre dans le lecteur de cartes un paquet contenant le pgm suivie
des données. Après lecture du pgm, l’ordinateur en lançait l’exécution, les résultats étant obtenus sous
forme d’1 paquet de cartes perforées ou de lignes imprimées.
Lecteur de
Cartes
Ordinateur
Perforateur
de cartes
Imprimante
* En cas de mise au point (au pupitre), la configuration –chère- reste inutilisée pendant tout le temps de
réflexion de l’utilisateur.
* 1 pgm d’amorçage (bootstrap) permet d’initialiser la configuration avant chaque utilisation et de placer
en mémoire les éléments de bibliothèque.
Définition : L’amorce (bootstrap) est 1 petit pgm qui est chargé en mémoire en une seule opération
d’entrée lors de la mise en route de l’ordinateur et dont l’exécution permet le chargement et le lancement
d’1 pgm plus important.
* Apparition des premiers outils du logiciel de base : assembleurs, compilateurs (Eg. : FORTRAN), …
* Avantage : L’utilisateur pouvait interagir avec son pgm  mise au point relativement facilitée.
* Problèmes :
- Seul l’enchaînement des instructions d’1 pgm est automatique.
- Faible débit  Le matériel était en général sous-utilisé du fait des manipulations humaines entre 2
activités  + L’UC était oisif entre 2 exécutions du pgm
+ L’UC était oisif entre le départ d’1 utilisateur et l’arrivée d’un autre.
- Pas de langage de commandes.
4
3.2 Systèmes à enchaînement automatique des travaux
= Solution aux problèmes de réservation et de temps de préparation.
* Apparition des dérouleurs de bandes magnétiques.
* Pour améliorer la rentabilité des machines, on a imaginé l’introduction du moniteur d’enchaînement
des travaux, qui est 1 pgm particulier activé automatiquement à la fin de l’exécution de chaque pgm
utilisateur et dont le but est d’assurer alors la lecture en mémoire et le lancement du pgm utilisateur
suivant.
Moniteur
Lecteur de
Cartes
Imprimante
Programme
3.3 Traitement par lots (Batch Processing System)
* Les opérations d’E/S relatives aux cartes et aux imprimantes sont, en général, longues par rapport aux
performances de la machine  Nécessité d’améliorer la rentabilité de l’ordinateur de traitement.
* 1 opérateur professionnel est engagé pour s’occuper du système.
* L’opérateur regroupe 1 suite de travaux en 1 lot (fournée) qui sera soumis à la machine  Train de
travaux (Batch).
* Le traitement par lots consiste à :
- Transférer les travaux sur 1 bande magnétique et à monter la bande sur le lecteur de bandes ;
- Faire lire cette bande, à la place des cartes, par le moniteur d’enchaînement des travaux ;
- Imprimer les résultats.
* Ce mode d’exploitation nécessitait 2 ordinateurs :
- la plus puissante était réservée aux calculs ;
- et l’autre, bon marché, s’occupait des périphériques lents.
entrées
Ordinateur
d’entrée-sortie
ordinateur
principal
traitement
sortie
5
3.4 Introduction du parallélisme (1960-1965)
a) Les E/S tamponnées
* Introduction des processeurs spécialisés qui prenait en charge les opérations d’E/S de façon autonome
 Utilisation d’Unités d’Echanges (UE) capables de fonctionner simultanément avec l’UC.
* Principe : Les cartes sont lues par l’UE et stockées dans des tampons (buffers) d’entrée. L’UC lit les
données dans le tampon et produit le résultat dans le tampon de sortie.
* Conséquence : Suppression de l’ordinateur secondaire.
* Ce mode de fonctionnement n’a été rendu possible que par l’introduction du mécanisme d’interruption
(IT). Ce dernier permet à 1 dispositif extérieur d’arrêter momentanément le déroulement normal d’1
pgm pour exécuter 1 traitement spécifique.
* - L’arrivée sur le marché des unités de disques (et des tambours magnétiques à des prix abordables)
 Possibilité de transférer les travaux vers les disques dès leur arrivée dans la salle machine.
- Les jobs sont lus et stockés sur disque au fur et à mesure de leur soumission aux opérateurs : C’est
la notion de SPOOLING (Simulatneous Peripheral Operation On-Line).
Le SPOOL consiste à créer des fichiers-disque qui correspondent aux jobs soumis et qui sont
utilisés par le moniteur au moment de l’exécution, à la place des supports d’informations lents.
b) La multiprogrammation
* Coexistence de plusieurs jobs sur disque grâce au SPOOLING
 Accès direct à n’importe lequel de ces travaux ;
 Il est possible de changer l’ordre d’exécution.
* La multiprogrammation consiste à mettre plusieurs pgms en mémoire centrale au même moment de
façon à pouvoir exécuter l’un d’entre eux pendant que les autres sont en attente de la fin d’1 entrée/sortie.
3.5 Amélioration de l’Interface-Homme-Machine (1965-1980)
a) Le temps partagé
* Extension logique de la multiprogrammation.
* Le temps partagé (Time Sharing) consiste à partager dans le temps les ressources de la machine entre
les utilisateurs de telle sorte que chacun d’eux ait l’impression d’avoir la machine pour lui tout seul.
b) Le transactionnel
* Ici, le système s’adresse aux utilisateurs qui désirent exploiter des applications spécifiques orientées
vers la saisie et la consultation d’informations conservées dans des fichiers.
* Le partage d’informations est ici fondamental ainsi que la mise en œuvre des mécanismes de
sauvegarde appropriés.
c) Les autres systèmes
* Réseaux, systèmes distribués, ordinateurs individuels (PC) : 1970 – 1980 ;
* Stations de travail, réseaux locaux : 1980 – 1990 ;
* Multitraitement (multiprocesseurs), multimédia, réseaux hétérogènes (OSI, Internet) ;
* ……….
3.6 Systèmes parallèles, distribués et temps-réel
* Un système parallèle comprend plusieurs processeurs qui partagent les mêmes ressources matérielles
(bus, mémoire, périphériques, ..).
6
Caractéristiques :
- Capacité de traitement ;
- Fiabilité  La panne d’un processeur n’arrêtera pas le système.
* Un système distribué (réparti) est un système qui s’exécute sur un ensemble de machines sans
mémoire partagée, mais que pourtant l’utilisateur voit comme une seule et unique machine.
* Un système à temps réel est principalement utilisé pour des applications dédiées ( Eg. : Contrôle d’1
centrale nucléaire, robotique industrielle, système de vision, ….) où le temps joue un rôle critique.
4. Terminologie des SE
4.1 Classifications fréquentes des SE
a) Selon les services rendus
* Montâche / Multitâche :
- Système multitâche : A tout instant, un seul programme est exécuté  Un autre programme ne
démarrera –sauf conditions exceptionnelles- que lorsque le premier sera terminé.
- Multitâche : Capacité du système à pouvoir exécuter plusieurs processus (i.e programmes en cours
d’exécution) simultanément (système multiprocesseurs) ou en pseudo-parallélisme (système en time
sharing).
* Mono-Utilisateur / Multi-Utilisateurs :
Multi-utilisateurs : Capacité du système à pouvoir gérer un ensemble d’utilisateurs utilisant
simultanément les mêmes ressources matérielles.
Un SE ne possédant pas cette fonctionnalité est dit mono-utilisateur.
* Systèmes temps réel.
b) Selon leur architecture
* Systèmes centralisés (traditionnels)
- L’ensemble du système est entièrement présent sur la machine considérée.
- Les machines éventuellement reliées sont vues comme des entités étrangères disposant
elles aussi d’un système centralisé.
- Le système ne gère que les ressources de la machine sur laquelle il est présent.
* Systèmes distribués (répartis) (Distributed Systems)
c) Selon leur capacité à évoluer
* Systèmes fermés (ou prioritaires)
* Systèmes ouverts.
d) Selon l’architecture matérielle qui les supporte
* Architecture monoprocesseur (time sharing ou multiprogrammation)
* Architecture multiprocesseurs (parallélisme).
e) Autre classification (par grandes fonctions)
* Systèmes pour machines clientes
* Systèmes pour serveurs
* Systèmes de réseaux
7
* Systèmes enfouis.
4.2 Exemples / Quelques SE
- MULTICS / UNIX / CTSS / THE / CMS / SOLARIS, HPux, AIX / CP/M, MS-PC/DOS, MacOs /
Windows 9x, Me / Windows NT, 2000, XP, 2003 / Windows CE / Linux / Mach, Chorus, Amoeba /
…….
5. Structures des SE
5.1 Notion de machine virtuelle
- Le SE réalise une machine virtuelle au-dessus de la machine matérielle permettant à l’UT de s’abstraire
des détails de mise en œuvre du matériel.
- Rappel : Les 6 couches de la plupart des ordinateurs actuels
Niveau 5
Couche des lgs évolués
Traduction (Compilateur)
Niveau 4
Couche du lg d’assemblage
Traduction (Assembleur)
Niveau 3
Couche du SE
Interprétation (partielle) (SE)
Niveau 2
Couche machine traditionnelle
(langage machine)
Interprétation (microprogramme)
Niveau 1
Couche microprogrammée
Exécution directe du microprogramme (des
micro-instructions) par le matériel
Niveau 0
Couche physique
Un ordinateur peut être vu comme un ensemble de couches : Chaque couche englobant toutes les
couches de niveau inférieur.
- La machine virtuelle est l’image de l’ordinateur plus simple à comprendre et surtout à utiliser.
8
5.2 Structuration des SE
a) Structure fonctionnelle d’un système
Utilisateurs
Utilisateurs
Applicatif
Programmes
applicatifs
Production
Assembleur Compilateur EDL Chargeur Débogueur
Noyau
Accès au
matériel
Programmes
utilitaires
Ateliers de
programmation
Système d’Exploitation
Gestion
Gestion
Processeur Mémoire
Gestion
Périph.
Gestion
Comm.
Gestion
Données
Machine
Matériel
b) Architecture générale des OS modernes
Gestion des fenêtres
Interface graphique
Gestion des ressources graphiques
Couche Utilisateur
Interface simplifiée, ligne de commande
Fonctions de haut niveau du système
Gestion des E/S
Gestion du réseau
Fonctions de base / Services fondamentaux
Gestion mémoire
Gestion des processus
Gestion des fichiers
9
c) Quelques structures des SE
• Monolithiques ( MS-PC/DOS)
• A couches
( OS/2)
• Client/Serveur (Windows NT)
• A micro-noyau (Mach)
• A machines virtuelles (JVM)
• …….
5.3 Modèle en couches d’un SE moderne : Eg. d’UNIX
Les couches permettent d’identifier clairement les niveaux d’interdépendance entre les fonctions
fournies par le SE.
Utilisateurs
Utilitaires (Shell, éditeurs, compilateurs, …)
Bibliothèque standard (appels système)
Noyau (Gestion des processus, de la mémoire, des fichiers, des E/S, …)
Matériel (CPU, mémoire, disques, terminaux, …)
En général, les SE se composent des 04 parties principales suivantes :
•
•
•
•
La gestion des processus
La gestion de la mémoire
La gestion des fichiers
La gestion des périphériques d’E/S.
10