Gestion des processus
Maza Sofiane.
www.computer-science-
dz.wix.com/bbami
Un processus est composé de :
un code exécutable provenant du programme
source augmenté des bibliothèques introduites
lors de l’édition de liens.
Un contexte : c’est toutes les ressources qu’il
possède ; une image des registres, en mode
d’état du processus etc…
Contexte d'un processus
Identification de processus :
Le contexte du processeur :
Information de contrôle de processus :
Identification de processus :
. Identifiant de ce processus.
. Identifier les processus qui ont
créé ce processus (le processus parent).
. Identifiant de l'utilisateur.
Le contexte du processeur : qui
représente les informations liées au CPU
(information d’état de processeur) .
Compteur Ordinal CO
Mot d'état PSW
Registres généraux
Pile
Information de contrôle de processus :
Ordonnancement et les informations d’état.
Structuration des données.
Interprocess communication.
Privilèges de processus.
Gestion de la mémoire (@ d’implantation
des segments code et donnée).
Propriété et utilisation des ressources
Concepts sur les processus
Représentation interne des processus
PCB
ID process
PCB (Process control état du process
Bloc): structure crée au Contexte processeur
chargement du processus.
Contexte mémoire
Table des processus Informations ressources
(fichiers ouverts, E/S,..
…..
Info Mémoire: Pages,
Segments,
…..
PCB1 PCB2 PCBN
Concepts sur les processus
Etat d'un processus
Un processus prend un certain nombre d’états durant son
exécution déterminant sa situation vis-à-vis de ses
ressources.
Création Fin d’un
Allocation CPU
Prêt Actif processus
Réquisition CPU
Demande de
Allocation de Bloqu ressource
resources é
Prêt: Le processus attend la libération du processeur pour
s’exécuter
Actif: le processus est en exécution
Bloqué: le processus attend une ressource physique ou logique
autre que le processeur pour s’exécuter (mémoire, fin d’E/S, …)
Opérations sur les processus
Création de processus
Destruction de processus
Mettre en attente et réveiller
Concepts sur les processus
• Création de processus
Un process peut en créer un autre .
Le premier est le père le deuxième est son fils.
Ex. sous Unix ou Linux : id = fork() permet de créer un process
identique au père.
La création d’un process implique la création et l’insertion de
son PCB dans la table des processus
Selon les SE, le fils s’exécute en parallèle avec son père ou
le père se bloque jusqu’à la fin de son fils
Destruction de processus :
Un processus se termine de trois façons différentes :
il se termine normalement, après l’exécution de sa
dernière instruction.
il exécute une instruction autodestructive. ( exit() )
il est détruit par un autre processus
(kill(id_process) sous Unix/Linux).
La destruction d’un processus implique la
destruction de son PCB et la libération des
ressources détenues.
Un processus fils ne peut détruire un autre de sa
hiérarchie
Généralement, la destruction du processus père
implique la destruction de tous les fils
Concepts sur les processus
Arbre de processus
Père
Fils/Père Fils
Concepts sur les processus
Mettre en attente et réveiller
Un processus demandant une ressource indisponible. Actif
Le SE met en attente ce processus
Bloqu
é
Après, si la ressource est disponible, le SE réveille le
processus et il le met dans la file des processus prêtsPrêt
Concepts sur les processus
Multiprogrammation
Le passage dans l’exécution d’un processus à un autre
nécessite une opération de sauvegarde de contexte du
processus bloqué, et de chargement de celui du nouveau
processus.
Commutation de contexte.
Sauver Contexte Charger
Contexte de P’ courant Contexte de P
(processeur)
CPU+MC
PCB PCB
du P’ bloqué du P nouveau
Mécanisme de commutation de contexte
Ordonnancement du processeur
P1 P2 …………… Pn
Scheduler
Qui Quand Combien de temps
CPU
Pi
Ordonnancement du processeur
PCB1 . . PCBn
Prê Act
t if
Réquisition Préemption
Cas du ou
système à Réquisition
temps partagé Bloqué
PCB1 . . PCBn
La file des processus prêts est gérée par l’Ordonnanceur
dont le rôle est d’élire le prochain processus auquel le
CPU va être allouée. Cette élection consiste à appliquer
une stratégie de tri (un ordonnancement) des éléments
de la file prêts. Le prochain processus à élire sera placé
en tête de la file.
Ordonnancement du processeur
Questions:
-Dans le cas de N processus prêts, à quel processus doit on
allouer le CPU?
-Un processus en attente est il obligé d’attendre la fin du
celui actif ?
-Si un processus urgent (prioritaire) demande le CPU, doit il
attendre ?
-Quelles sont les politiques (ou stratégies) d'allocation du
processeur?
-Comment peut on optimiser l'utilisation des ressources
pour maximiser les performances du système informatique.
Dispatcher ou répartiteur
Preemption
Scheduler
Ordonnanceur)
CPU1 (
File des
Processeurs
Sortie du Election de
Dispatcher Process
système CPU2 (répartiteur) prêts
Election de
PCB PCB PCB PCB
processus
CPU4
File
des
Blocage bloque
PCB PCB Réveil
s
Le SIQ dispose de plusieurs CPU : Vrai parallélisme
Ordonnancement préemptif (avec réquisition) ou non préemptif
Stratégie d’ordonnancement
Préempti Non
ve préemptive
Une politique d'ordonnancement est dite non préemptive
(ou sans suspension, ou sans réquisition) si, une fois le
processeur est alloué à un processus, celui-ci le gardera
jusqu'à : la fin de son exécution.
Objectif d’une politique :
Amélioration des performances du système