Vous êtes sur la page 1sur 34

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