Vous êtes sur la page 1sur 25

La gestion des processus dans

un système d’exploitation

LMD
1
Situations
• Les processus, à quoi ça sert ?

• Problème:
Un processeur ne peut exécuter qu'une seule
instruction à la fois.

2
Introduction (1/3)
• Les processus correspondent à l’exécution de tâches
• Le processeur traite une tâche à la fois, s’interrompt et passe
à la suivante.
• La commutation des tâches étant très rapide, l’ordinateur
donne l’illusion d’effectuer un traitement simultané.

3
Introduction (2/3)
• Les processus des utilisateurs sont lancés par
un interprète de commande
• Ils peuvent eux-mêmes lancer ensuite d’autres
processus

4
Introduction (3/3)

5
Appels Système
• Les Appels Système sont l’interface entre un processus et l’OS
– Générallement disponibles sous forme d’instructions en
assembleur
– Les langages définis pour remplacer l’assembleur dans la
programmation système permettent de faire des appels
système directement (e.g., C, C++)
• Trois méthodes générales sont utilisées pour passer des
paramètres entre un processus en exécution et l’OS
– Passer les paramètres dans les registres
– Ranger les paramètres dans une table en mémoire, et l’@
de la table est passée dans un registre
– Push (empiler) les paramètres dans la pile du programme,
et pop (dépiler) la pile par l’OS

6
Types des Appels Système
• Contrôle de processus
• Gestion des fichiers
• Gestion des périphériques
• Maintenance des informations
• Communications

7
La hiérarchie des processus
•On appelle le processus créateur, le père, et les processus créés, les fils. Les
processus peuvent donc se structurer sous la forme d’une arborescence.
•Au lancement du système, il n’existe
•qu’un seul processus, qui est l’ancêtre de tout les autres.

8
Les segments du processus (1/2)
Les processus sont composés d’un espace de travail en
mémoire formé de 3 segments : la pile, les données et le
code

9
Les segments du processus (2/2)
• Le code correspond aux instructions,
• La zone de données contient les variables globales ou
statiques du programme,
• les appels de fonctions, avec leurs paramètres et leurs
variables locales, viennent s’empiler sur la pile.
• Les zones de pile et de données ont des frontières
mobiles qui croissent en sens inverse lors de
l’exécution du programme.

N.B: chaque processus a un contexte

10
Etat d’un processus (1/3)
• La commutation des tâches est réalisée par un
ordonnanceur au niveau le plus bas du
système.
• Cet ordonnanceur est activé par des
interruptions d’horloge, de disque, de
terminaux.

11
Etat d’un processus (2/3)
• Le diagramme suivant décrit les états d’un
processus:

12
Etat d’un processus (3/3)
• L’ordonnanceur se déclenche sur une
interruption d’horloge.
• Au cours de l’intervention de l’ordonnanceur,
le processus passe de l’état élu à l’état prêt et
réciproquement.
Qu’est qui arrivera si le processus a dépassé son
quantum de temps?
Quand est ce que le processus passe de l’etat
bloqué à l’etat prêt?
13
Communication entre processus
• Les processus peuvent communiquer par
l’intermédiaire de fichiers.
• L’interprète de commandes Unix utilise le
signe « | » qu’il relie à l’appel système

14
L’ordonnancement
L’ordonnancement règle les transitions d’un
état à un autre des différents processus pour
objectif de:
• Maximiser l’utilisation du processeur;
• Être équitable entre les différents processus;
• Présenter un temps de réponse acceptable;
• Avoir un bon rendement;
• Assurer certaines priorités.
15
FIFO (1/2)
• Aussi appelé traitement par "train", par "lot" ou "batch".
• Les processus accèdent au processeur, chacun à leur tour,
dans l'ordre d'arrivée, et monopolisent le processeur jusqu'à
leur terminaison.

16
FIFO (2/2)
• Travaux courts pénalisés;
• Temps de Réponse fonction de la Charge du
système indépendamment du temps d'exécution de chaque
processus,
• Cette méthode est non-préemptive;
• Une amélioration de la stratégie FIFO est d'ordonner la file en
fonction du temps estimé d'exécution des processus;

17
Le tourniquet (1/3)
• Aussi appelé «balayage cyclique»(Round
Robin).
• Chaque processus prêt dispose d’un quantum
de temps pendant lequel il s’exécute.
• Si le quantum s’épuise:
le processus suivant de la file d’attente
est élu et le remplace.
Le processus suspendu est mis en queue
du tourniquet.
18
Le tourniquet (2/3)
• Le seul paramètre important à régler, pour le
tourniquet, est la durée du quantum
• La part de gestion du système correspond au
rapport de la durée de commutation sur la
durée du quantum.
• Plus le quantum est long plus cette part est
faible, mais plus les utilisateurs attendent
longtemps leur tour.

19
Le tourniquet (3/3)
Le quantum est calculé par tâtonnements :
•si le quantum est très grand, on obtient une file d'attente simple;
•si le quantum est très petit, les processus n'auront pas le temps d'être exécuté en
partie avant d'être réinsérés dans la file.

20
Les priorités (1/2)
• L’algorithme de priorité choisit le processus
prêt de plus haute priorité.
• Ces priorités peuvent être statiques ou
dynamiques
• Quand est ce que la priorité est fixée
(statique)?

21
Les priorités (1/2)
• Problème : risque de famine
• Solution : utiliser une technique dite de vieillissement (aging)
qui augmente périodiquement la priorité des processus.
• Intérêt : certains processus système doivent être exécutés en
priorité
• Cet algorithme a été conçu pour les systèmes temps partagé,
afin d'obtenir une répartition équitable de l'unité centrale
entre les différents processus présents en mémoire.

22
Le tourniquet avec priorités
• On utilise généralement une combinaison des
deux techniques précédentes;
• A chaque niveau de priorité correspond un
tourniquet;
• L’ordonnanceur choisit le tourniquet non vide
de priorité la plus forte et l’exécute.

23
L’ordonnancement des fils
d’exécution
• Les fils d’exécution sont soumis à un ordonnancement
• les fils d’exécution ont 32 niveaux de priorité qui sont soit
fixes soit dynamiques
• La priorité la plus haute est toujours celle qui s’exécute.
• Les valeurs de la priorité dynamique change entre deux
bornes.
• On peut changer les valeurs de priorité dans le cas d’un
serveur windows par exemple.

24
SWAP
• Si un processus est rangé dans la file des
bloqués pour longtemps, il sera mis dans une
mémoire appelée SWAP tirée du disque dur

25

Vous aimerez peut-être aussi