Vous êtes sur la page 1sur 9

Chapitre 1 : Introduction aux Systèmes d’Exploitation (SE)

1. Introduction

. Un système informatique est un ensemble constitué de matériels et de logiciels et qui assure le


traitement des données.
. Les programmes 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 Logiciel
(Hardware) (Software)

Logiciel de base Logiciel d’application


(Trait. de textes, logiciel de comptabilité, …)

Outils de développement & SYSTEME


d’exécution de pgms (Compilateurs, D’EXPLOITATION
Interpréteurs, chargeur, utilitaires, …) (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.

Utilisateur OS Machine

Permet une utilisation Fournit une indépendance Permet d'utiliser efficacement


Pratique de l'ordinateur vis-à-vis du matériel 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) Interpréteur >cd ..


de commandes >print

open chdir 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.

Perforateur
de cartes
Lecteur de Ordinateur
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 Imprimante
Cartes
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

traitement
Ordinateur ordinateur
d’entrée-sortie principal

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

(Schéma)

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.

5.2 Structuration des SE

a) Structure fonctionnelle d’un système

(Schéma)

b) Architecture générale des OS modernes

8
(Schéma)

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


Les couches permettent d’identifier clairement les niveaux d’interdépendance entre les fonctions
fournies par le SE.

(Schéma)

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.

Vous aimerez peut-être aussi