Vous êtes sur la page 1sur 35

Chapitre 1

Introduction aux systèmes


d’exploitation

Cours systèmes d’exploitation 1 1


Plan

1. Introduction
2. Rôles d’un SE
3. Evolution historique des SEs
4. Les différents types de SE
5. Architecture d’un Système d’exploitation

Cours systèmes d’exploitation 1 2


1. Introduction
 Pourquoi les SE?
 Un ordinateur sans le logiciels est une
machine sans utilité
 Deux types de logiciels:
 Programmes d’application: exécutent le travail
demandé par les utilisateurs
 Programmes systèmes: gèrent le fonctionnement
de l’ordinateur

Cours systèmes d’exploitation 1 3


Qu’est-ce qu’un SE
 Problématiques et questions :
 Un ordinateur est fondamentalement mono-
tâche. . . mais exécute « simultanément »
plusieurs programmes, comment ?
 Comment la mémoire centrale est-elle gérée?
 Comment sont gérés les fichiers (emplacements,
droits d’accès. . .) ?
 Comment sont gérés les périphériques?
 C’est le rôle du système d’exploitation.
Cours systèmes d’exploitation 1 4
Définition d’un SE
 Un système d’exploitation Utilisateurs

(Operating System) est un


ensemble de programmes Applications
qui réalisent l’interface
entre le matériel et les
applications utilisateurs. Système d’exploitation

Matériel

Cours systèmes d’exploitation 1 5


2. Rôles d’un SE
1. C’est un gestionnaire de ressources
 Gère et contrôle toutes les ressources de
l’ordinateur.
2. C’est une machine virtuelle indépendantes des
caractéristiques physiques (plus simple à
programmer):
 Base sur laquelle les programmes d’application sont
écrits
 Le SE présente au programmeur une interface d’accès
aux ressources de l’ordinateur (sous forme d’appels
système)

Cours systèmes d’exploitation 1 6


Appels système (1/2)
(Le SE en tant que machine virtuelle)
 Permettent de faire abstraction des détails matériels
 Des objets abstraits dont les plus importants sont les
fichiers et les processus.
 Ex: Le programmeur voit un disque comme une collection
de fichiers qui peuvent être lus, écrits et fermés
 En réponse aux appels système, le SE exécute des
fonctions en mode noyau (API système)
 Exemples (langage C):
 Open, read, write et close qui permettent les
manipulations sur les systèmes de fichiers

Cours systèmes d’exploitation 1 7


Appels système (2/2)
(Le SE en tant que machine virtuelle)
 Supposons qu’un ordinateur exécute le programme
suivant :
void main(void)
{
char c;
c = getchar();
putchar(c);
}
 Quelles sont les étapes d’exécution de ce programme?

Cours systèmes d’exploitation 1 8


Fonctions d’un SE
(Le SE en tant que gestionnaire de ressources)

• Gestion des processus (la ressource CPU)


• Gestion de la mémoire centrale
• Gestion de la mémoire secondaire (les
fichiers)
• Gestion des périphériques (E/S)

Cours systèmes d’exploitation 1 9


Gestion des processus (1/5)
 Un processus est un programme en cours d’exécution
(dynamique):
 Code statique +
 Contexte d'exécution (CO + Etat de registres processeur +
Espace mémoire + Les fichiers ouvert…)
 Un processus peut être en :
 Etat actif (En exécution ): le processus contrôle le
processeur et s'exécute
 Etat passif (Prêt) : le processus est temporairement
suspendu et mis en attente, le processeur travaille alors
avec un autre processus.
 Etat bloqué (En attente) : Le processus attend qu’un
événement se produise (E/S,…).

Cours systèmes d’exploitation 1 10


Gestion de processus (2/5)
 Etats d’un Processus

En exécution

3 2
1

Bloqué Prêt
4

1. L'ordonnanceur choisie ce processus pour exécution


2. L'ordonnanceur exécute un autre processus
3. Le processus est bloqué pour une entrée-sortie
4. L'entrée-sortie devient disponible
Cours systèmes d’exploitation 1 11
Gestion des processus (3/5)
 Point de vue conceptuel: chaque processus
possède son processeur virtuel.
 Réalité: Un seul processus peut être en
exécution à un instant donné.
 Plusieurs processus peuvent êtres prêts ou en
bloqués:
 Le processeur bascule constamment d’un processus à
l’autre
 Ce basculement rapide est appelé multitâches
Pseudo-parallélisme
Cours systèmes d’exploitation 1 12
Gestion des processus (4/5)
 Pseudo-parallélisme

Processus 1

Processus 2

Processus 3

Noyau du système

Temps Processeur

Interruption horloge
Choix de l’ordonnanceur
Utilisation séquentiel
Coursdu processeur
systèmes d’exploitation 1 13
Gestion des processus (5/5)

 En plus:
 D’autres stratégies d’ordonnancement
 Communication et synchronisation
 Exclusion Mutuelle
 Réservation de l'espace dans la mémoire centrale

Cours systèmes d’exploitation 1 14


Gestion de la mémoire (1/5)
 Dans un système monoprogrammé, la
mémoire centrale est découpée en deux
parties:
 Une partie est réservée au système et
 Le reste est attribué au processus (un seul).
 La multiprogrammation consiste à découper
la mémoire centrale en plusieurs parties, de
façon à mettre plusieurs processus en
mémoire au même moment.

Cours systèmes d’exploitation 1 15


Gestion de la mémoire (2/5)
 La mémoire centrale peut-être découpée de
trois façons :
 La segmentation : les programmes sont découpés
en segments ayant des longueurs variables.
 La pagination: elle consiste à diviser la mémoire
en cadres, et les programmes en pages de
longueur fixe.
 Une combinaison de segmentation et de
pagination: segmentation paginée.

Cours systèmes d’exploitation 1 16


Gestion de la mémoire (3/5)
 Problèmes d'allocation de la mémoire aux
processus:
 Répertorier les emplacements libres de la
mémoire
 Allouer la mémoire nécessaire aux nouveaux
processus
 Protéger les processus entre eux.
 Il est nécessaire que “chacun reste chez soi”;
 Cependant, certaines zones mémoire doivent être
partagée entre plusieurs processus.

Cours systèmes d’exploitation 1 17


Gestion de la mémoire (4/5)

 L'extension de la mémoire (mémoire


virtuelle)
 Lorsque la mémoire centrale est insuffisante, faire
recours à une mémoire auxiliaire
 Plus lente et qui n'est pas directement accessible au
processeur.

Cours systèmes d’exploitation 1 18


Gestion de la mémoire (5/5)
 SWAP (Le va-et-vient)

 Processus ou portion de
processus permuté sur disque pour
« sauver la mémoire » quand ils ne
sont pas actifs

Cours systèmes d’exploitation 1 19


Gestion des Fichiers (1/2)
 Organisation des données sur une mémoire
secondaire en fichiers et répertoires.
 Organisation (logique) arborescente
 Nœuds : les répertoires (fichiers particuliers)
contenant des noms et les liens associés (adresse
disque, …)
 Feuilles : les fichiers sous différents formats (ascii,
binaires,...)

Cours systèmes d’exploitation 1 20


Gestion des Fichiers (2/2)
 Formatage selon un système de fichiers
 Systèmes d’index (tables de fichiers)
 Unité d'allocation (taille de clusters)
 Exemples : FAT, FAT32, NTFS, ext3, ext4,….
 La gestion des droits d'accès aux fichiers et
répertoires (rwx)
 Fichier spéciaux : pipe, shared memory (shm),
boîte aux lettres,…

Cours systèmes d’exploitation 1 21


Gestion des Entrées/Sorties (1/2)
 Entrées/sorties programmées (la technique la plus
simple mais la moins efficace):
 Le microprocesseur va périodiquement lire l'état des
périphériques d'entrée
 Interruptions
Le périphérique prévient le processeur par une ligne
d'interruption prévue à cet effet.
Le processeur interrompt la tâche en cours, saute dans le
sous-programme destiné à gérer la demande qui lui est
adressée ;
 à la fin du sous-programme, le processeur reprend
l'exécution du programme principal.

Cours systèmes d’exploitation 1 22


Gestion des Entrées/Sorties (2/2)
 Accès direct à la mémoire DMA (Direct Memory
Access),
 Transfert rapide d'un grande quantité de données.
 Les octets sont transférés directement d'un
périphérique à l'autre sans passer par les registres du
processeur.
 Le transfert des données est organisé par un circuit spécial
appelé contrôleur DMA.
 Sans intervention du microprocesseur si ce n'est pour
lancer et conclure le transfert

Cours systèmes d’exploitation 1 23


Qualité de service d’un SE
 Les rôles d’un SE doivent être accomplies en
garantissant un bon niveau en:
 Sécurité: intégrité, contrôle des accès,
confidentialité...,
 Fiabilité: satisfaction des utilisateurs même dans
des conditions hostiles et imprévues,
 Performances du système informatique.

Cours systèmes d’exploitation 1 24


3. Evolution historique des SE

1. Systèmes monoprogrammés
2. Traitement par lots (batch)
3. Systèmes multiprogrammés
4. Systèmes à temps partagé (multitâches)
5. Ordinateurs personnels, SE en réseau, SE
répartis

Cours systèmes d’exploitation 1 25


Systèmes monoprogrammés (1945-
1955) (1/2)
 Systèmes d'exploitation très primitifs.
 Mono-utilisateur
 Mono-tâche (un seul programme à la fois).
 Les utilisateurs se servaient de l'ordinateur
les uns après les autres.
 Un seul utilisateur est présent et a accès à toutes
les ressources de la machine pendant tout le
temps que dure son travail

Cours systèmes d’exploitation 1 26


Systèmes monoprogrammés (1945-
1955) (2/2)
 Les utilisateurs préparaient leurs travaux (jobs)
sous forme de paquets de cartes perforées,
 Le programme et les données sont enregistrés
temporairement dans la mémoire centrale
 Les utilisateurs recevaient les résultats sous forme de
listings à l'aide de l'imprimante.
 Il n'y avait pas de mémoire secondaire pour
enregistrer les programmes de manière
permanente.

Cours systèmes d’exploitation 1 27


Traitement par lots (batch) (1955-
1965) 1/4
 L'apparition de moyen de stockage (bandes
magnétiques, puis disques durs) permit
d'enregistrer les programmes et les données.
 Il devint possible d'enchaîner des trains de
travaux les uns derrière les autres.
 Le mode de traitement fut appelé traitement
par lot ou Batch Processing.

Cours systèmes d’exploitation 1 28


Traitement par lots (batch) (1955-
1965) 2/4

Cours systèmes d’exploitation 1 29


Traitement par lots (batch) (1955-
1965) 3/4
 La notion de système d’exploitation apparaît.
 Exemple : le FMS ( Fortran Monitor System)
 Les étapes successives de l’exécution d’un
programme :
 Charger le compilateur,
 Lire le code source et le compiler,
 Charger l’exécutable,
 Lancer l’exécution,
 Lire te traiter les données

Cours systèmes d’exploitation 1 30


Traitement par lots (batch) (1955-
1965) 4/4
Un seul programme est chargé dans la
machine, exécuté seul (monoprogrammation)
et ses résultats sont imprimés.
 Une fois le programme termine, un autre est
chargée en mémoire.
Problème : Si un programme est bloqué pour
une entrée-sortie, il pénalise les autre
programmes qui doivent attendre sa
terminaison.

Cours systèmes d’exploitation 1 31


Multiprogrammation (1965-1980)
 Plusieurs programmes en mémoire en même temps
 Si un programme pi fait une entrée-sortie, la machine
exécute un autre programme pj

E/S
fini fini

P1 P2 P3 P1 P2
Temps

 Problème : si un gros programme de calcul monopolise


l’UC, sans faire d’entrée/sortie, les autres programmes
ne peuvent pas se dérouler.

Cours systèmes d’exploitation 1 32


Temps partagé (multitâches) (1/2)
 Soumission interactive : fonctionnement pour plusieurs
utilisateurs simultanés en mode question/réponse.
 Pour permettre l’interactivité, allocation à tour de rôle de
l’UC à chaque programme prêt à être exécuté, pour un
quantum de temps.

 Exemples de systèmes d'exploitation à temps partagé :


Windows 10, UNIX, Linux, …

Cours systèmes d’exploitation 1 33


Temps partagé (multitâches) (2/2)
 Pseudo-parallélisme

Processus 1

Processus 2

Processus 3

Noyau du système

Temps Processeur

Interruption horloge
Choix de l’ordonnanceur
Utilisation séquentiel
Coursdu processeur
systèmes d’exploitation 1 34
Autres systèmes (1980- Aujourd’hui)
 Système d’exploitation sur machines multi-
processeurs.
 Système d’exploitation réparti (processeurs
faiblement couplés, reliés en réseau, sans
horloge commune).
 Système d’exploitation temps réel.
 Système d’exploitation embarqué, …

Cours systèmes d’exploitation 1 35