Cours Syst mes dexploitation:
Gestion des Processus
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
1
1- Processus
le concept de base de tout syst me
- Un processus est un ensemble d'octets (en langage machine)
en cours d'ex cution
- C'est l'ex cution d'un programme par le syst me.
- le processus est
dexploitation.
- Un processus est une entit dynamique correspondant
lex cution dune suite dinstructions : un programme qui
s'ex cute, ainsi que ses donn es, sa pile dex cution, son
compteur ordinal, son pointeur de pile et les autres contenus de
registres n cessaires son ex cution.
Remarque: ne pas confondre un processus (aspect dynamique,
ex cution qui peut tre suspendue, puis reprise), avec un
programme ex cutable (aspect statique: fichier sur disque).
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
2
2- Multiprogrammation
-Un syst me d'exploitation doit en g n ral ex cuter plusieurs
programmes en m me temps. Comme il n'a (la plupart du
temps) qu'un processeur, il r sout ce probl me gr ce un
pseudo parall lisme: Il traite une t che la fois, s'interrompt et
passe la suivante.
-La commutation de t ches tant tr s rapide, elle donne l'illusion
d'effectuer un traitement simultan .
-La multiprogrammation se base sur le basculement de la CPU
entre plusieurs processus qui sex cutent pendant des p riodes
de temps tr s r duites.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
3
3- G n alogies des processus:
- Un processus est g n ralement cr s par un autre processus. Il
peut lui m me lancer ensuite d'autres processus.
- Le processus cr ateur est appel p re , et les processus cr s
fils . Les processus peuvent donc se structurer sous la forme
d'une arborescence.
seul
processus,
- Au lancement du syst me, il n'existe
qu'un
appel
processus init , qui est l'anc tre de
tous les autres. Cest le seul processus
sans p re au moment de sa cr ation.
P1
P2
P3
P4
El ments de TP:
-Commandes ps: liste de processus
-Commande pstree: arborescence des processus
P5
P6
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
4
4- Espace m moire dun processus
Les processus sont compos s d'un espace de travail (espace
d'adressage) en m moire form de 3 segments et accessible par les
programmes utilisateur :
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
5
Un processus est donc un programme qui s'ex cute et qui
poss de :
- son propre compteur ordinal (@ de la prochaine instruction
ex cutable),
-ses registres
-ses variables.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
6
Le noyau maintient une table en m moire, appel e table des
processus , pour g rer l'ensemble des processus (ici P1, ..., P5, ...). Elle
contient la liste de tous les processus avec des informations concernant
chacun dentre eux.
- Le nombre des emplacements dans cette table des processus est limit
pour chaque syst me et pour chaque utilisateur
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
7
5- Contexte dun processus
lensemble des donn es qui
Le contexte dun processus est
permettent de reprendre lex cution dun processus qui a t
interrompu. Le contexte dun processus comporte:
1. son tat
2. son mot d tat (PSW) : comprend
- La valeur des registres actifs
- Le compteur ordinal
3. les valeurs des variables globales statiques ou dynamiques
4. son entr e dans la table des processus
5. sa zone u
6. Les piles user et system
7. les zones de code et de donn es.
Le noyau et ses variables ne font partie du contexte daucun
processus! Lex cution dun processus se fait dans son contexte.
Quand il y a changement de processus courant, il y a r alisation
dune commutation de mot d tat et dun changement de contexte.
Le noyau sex cute alors dans le nouveau contexte.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
8
6- Commutation de mot d tat et interruptions
- Ce sont des fonction fondamentales (de tr s bas niveau) pour un syst me
dexploitation.
- Pour tre ex cut et donner naissance un processus, un programme et
Advertisement
ses donn es doivent tre charg s en m moire centrale. Les instructions du
programme sont transf r es une une de la m moire centrale sur lunit
centrale ou elles sont ex cut es.
- Lunit centrale comprend des circuits logiques et arithm tiques (qui
e ctuent les instructions) et des m moires appel es registres tels que:
- Laccumulateur: re oit le r sultat dune instruction
- le registre dinstruction: contient linstruction en cours
*le compteur ordinal: adresse de la prochaine instruction en
m moire ex cuter
- le registre dadresse
- les registres de donn es: utilis s pour lire ou crire une donn e
une adresse sp ci e en m moire.
- les registres d etat du processeur: actif, mode (user/system),
retenue, vecteur dinterruptions, ..)
- les registres d etat du processus :droits, adresses, priorit s, ..
9
Beyaoui Walid
Licence appliqu e en TI- Cours
Syst mes d'exploitation
6- Commutation de mot d tat et interruptions (suite)
Ces registres forment le contexte dunit centrale dun processus. A tout
moment, un processus est caract ris par ces deux contextes :
- le contexte dunit centrale qui est compos des m mes donn es
pour tous les processus
-le contexte qui d pend du code du programme ex cut .
Pour pouvoir ex cuter un nouveau processus, le syst me doit sauvegarder
le contexte dunit centrale du processus courant (mot d etat), puis
charger le nouveau mot d etat du processus ex cuter: cette op ration
est appel e commutation de mot d etat. Elle utilise 2 adresses qui sont
respectivement :
- ladresse de sauvegarde du mot d etat
- ladresse de lecture du nouveau mot d etat
Le processus interrompu pourra ainsi reprendre exactement ou il avait
abandonn .
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
10
7- interruptions
Une interruption est une commutation de mot d etat (de contexte)
provoqu e par un signal produit par le mat riel.
Ce signal tant la cons quence dun v nement ext rieur ou int rieur, il
modie l etat dun indicateur qui est r guli rement test par lunit
centrale.
Une fois que le signal est d tect , il faut d terminer la cause de
linterruption. Pour cela on utilise un indicateur, pour les di rentes
causes, on parle alors du vecteur dinterruptions.
On distingue trois grands types dinterruptions :
interventions de
(ind pendantes du processus)
- externes
lop rateur, pannes, ..
- d routements: erreur interne dans lex cution du processus
courant (d bordement de m moire ,division par z ro,..)
- appels syst mes: demande dentr e-sortie par exemple.
G n ralement un num ro de priorit est affect un niveau d'interruption
pour d terminer l'ordre de traitement lorsque plusieurs interruptions sont
positionn es. Lhorloge est linterruption la plus prioritaire sur un syst`eme
Unix.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
11
8-Processus et SE
Plusieurs processus ind pendants doivent pouvoir s'ex cuter
sans interf rence
-partage des ressources : processeur, m moire, stockage...
-isolation des processus (s curit , fiabilit )
l'inverse, les processus doivent pouvoir communiquer si leur
programme le demande
-m canismes de Communication Inter-Processus: (IPC)
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
12
9-Informations sur les processus :
gestionnaire de t ches Windows
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
13
9-Informations sur les processus :
gestionnaire de t ches Linux
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
14
10- Bloc de contr le processus PCB :Process Control
Block
informations sont dans une zone m moire accessible
Structure de donn es du SE contenant les informations sur un
processus
Ces
uniquement par le noyau
Pour obtenir des informations sur les processus, il est donc
n cessaire de passer par des appels syst mes: getpid, getppid, getuid,
geteuid, setuid...
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
15
11-Informations du PCB
1- Identit
Identificateur de processus (PID): num ro unique ( un instant
donn , mais r utilisable)
Informations
ventuellement processus enfants
Information de droits:
-utilisateur propri taire du processus
-utilisateur effectif (augmentation ou diminution de droits),
exemples :
g n alogie:
processus
(PPID),
parent
de
- droits d'administration locale
- serveurs lanc s par l'administrateur
- serveur d'application
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
16
11-Informations du PCB
2- Ex cution
Advertisement
Etat du processus
Contexte processeur: tat des registres du processeur pour ce
processus
Autres informations d'ordonnancement
exemple : priorit
3- Ressources
Informations sur la m moire utilis e / utilisable: tables de pages (cf.
cours gestion de la m moire)
Informations sur le temps pass : temps r el (dex cution), temps
utilisateur
Liste des fichiers ouverts: fichiers classiques, p riph riques, moyens
de communication avec d'autres processus (pipe...)
Autres ressources utilis es...
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
17
12-Exemple simplifi dun processus
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
18
12-Exemple simplifi dun processus (suite)
Ce processus a le num ro 36. Il a t lanc par l'utilisateur qui a 106
pour UID. Il est en train d'ex cuter le programme 'cmd1'. Il a
consomm 0.3 seconde, avec une priorit de 20. Son masque de
cr ation de fichier est 027. Son terminal de contr le est /dev/term/c4.
Son r pertoire courant est /usr/c1.
0 :entr e standard
1 :sortie standard
2 :sortie standard
d'erreur.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
19
13-Etats dun processus
- Selon les syst mes, le nombre et le nom des tats
peut varier.
-Tous les syst mes comportent au minimum les trois tats suivants :
lu ou Actif :
- Le processus est en cours dex cution par le processeur.
-Si le processus puise le temps qui lui est allou par le SE, il est
remis en file dattente des pr ts.
-Sil a besoin dune ressource non disponible (op rations sur les
p riph riques), il est mis en attente prolong e (Interruption : tat
bloqu ) jusqu la lib ration de la ressource n cessaire.
Eligible ou pr t: en attente de pouvoir s'ex cuter sur le processeur
(il passera alors l tat Actif).
Bloqu ou en attente: en attente d'un v nement (interruption ou
ressource). D s sa lib ration il repasse l tat Pr t
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
20
13-Etats dun processus: transitions
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
21
14- Cr ation des processus
La cr ation dun processus peut se faire suite :
-Linitialisation du syst me : au chargement du syst me il ya cr ation
automatique du processus racine p re de tous les processus
utilisateurs (id=0)
-Un processus peut lancer un autre processus, il en devient le parent,
lautre sera d sign comme processus fils. (Un processus p re ne se
termine que lorsque tous ses fils sont termin s).
-Une requ te de lutilisateur (commande par exemple)
-Initiation dun travail en traitement par lot
La destruction dun processus (et la lib ration de toutes ses ressources
allou es a quatre causes possibles :
-Arr t normal : volontaire, lorsque le processus termine sa t che.
-Arr t pour erreur : volontaire suite une erreur pour une instruction
ill gale
-Arr t pour erreur fatale : involontaire tel que les mauvais param tres
de lex cution du processus
- Arr t volontaire par un autre processus
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
22
14- Cr ation des processus: sous Windows
les
sont donn es en
caract ristiques
Appel syst me CreateProcess : cr e un processus
dont
param tres de l'appel syst me (10 param tres)
Exemple :
STARTUPINFO si; // renseigner
PROCESS_INFORMATION pi; // utilis en sortie
bool succes = CreateProcess(0, "mon_prog.exe", 0, 0,
FALSE, 0, 0, 0, &si, &pi);
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
23
14- Cr ation des processus: sous Unix
Appel syst me fork() :
- duplique le processus courant avec toutes ses informations: copie de
la zone m moire du p re (seul le PID et le PPID changent). A la
cr ation les 2 processus sex cutent parall lement, on ne connait pas
lequel des processus continuera sex cuter avant lautre.
- retourne une valeur diff rente dans le processus p re et le
processus fils pour faire la distinction (0 dans le fils et le PID du fils
dans le p re)
Exemple :
int pid_fils = fork();
if (pid_fils == 0) // il sagit du fils&..
else // il sagit du p re&&
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
24
14- Cr ation des processus: sous Unix (suite)
Si on souhaite que le fils ex cute un autre programme que le p re, on
utilise un appel syst me de type exec qui remplace le programme
courant par un autre programme
Exemple :
Advertisement
int pid_fils = fork();
if (pid_fils == 0) exec("chemin dun autre programme");
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
25
15- Ordonnancement des processus
P1 ; P2 ; &&& ; Pn
Chargement
En M.C
M moire
centrale
CPU
Ex cution
Selon un
ordre bien
d termin
R le de l'ordonnanceur : choisir, parmi tous les processus ligibles,
lequel va devenir lu (utiliser la CPU pour sex cuter).
Strat gies / politiques d'ordonnancement: Algorithmes
dordonnancement.
Objectifs:
- une bonne gestion du processeur (taux d'utilisation lev de l'UC).
- Augmenter le nombre de processus ex cut pendant une p riode
- Minimiser le temps moyen dex cution dun processus
- Minimiser le temps dattente dun processus (satisfaction des
utilisateurs).
- Minimiser les temps dinactivit dun processeur.
Beyaoui Walid
26
Licence appliqu e en TI- Cours
Syst mes d'exploitation
16- Algorithmes dordonnancement
Performance s des algorithmes dordonnancement:
"Temps de rotation dun processus = date de fin dex cution - date darriv e
"Temps de rotation moyen = Temps de rotation /nombre de processus
"Temps dattente dun processus = temps de rotation - dur e dex cution
"Temps moyen dattente = temps dattente / nombre de processus
"Rendement = dur e totale dex cution /nombre de processus
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
27
16- Algorithmes dordonnancement
1- Algorithme du premier venu premier servi (first come first serve :
FCFS) :
g r par une file dattente FIFO (first in first out)
Ordonnancement nom pr emptif (pas de pr emption)
Quand lunit centrale est libre, elle est allou e au processus en t te
de la file dattente des processus pr t .
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
28
16- Algorithmes dordonnancement
Exemple:
Processus
Temps CPU
P1
P2
P3
25
3
11
*Ordre dex cution : P1 ; P2 ; P3.
P1
P2
P3
-Temps dattente:
P1
0
P2
25
0 25 28 39
P3
28
FTemps dattente moyen = (25 + 28) / 3 = 17,66.
*Ordre dex cution : P2 ; P3 ; P1.
-Temps dattente:
P1
14
P2
0
P3
3
FTemps dattente moyen = (14 + 3) / 3 = 5,66.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
29
16- Algorithmes dordonnancement
lalgorithme FCFS nest g n ralement pas optimal. Il d pend de lordre
de larriv e du processus, ainsi que le temps dex cution. Cet algorithme
est particuli rement incommode pour les syst mes temps partag s.
Avantages :
- simple, surco t faible, quitable
- assez efficace en multi-processeurs, pour des processus tr s
fr quemment bloqu s(gestions E/S)
Inconv nient :
- temps de r ponse d pend du processus qui a la main: tant qu'il ne se
bloque pas, les autres doivent attendre
- p nalise les processus courts: proportion temps d'attente / temps
d'ex cution
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
30
16- Algorithmes dordonnancement
2- Algorithme du travail le plus court dabord ou SJF (Shortest Job
First) :
Ordonnancement nom pr emptif (pas de pr emption)
On donne toujours la main celui qui met le moins de temps avant de
se bloquer / terminer.
Suppose d'avoir une connaissance / estimation de ce temps pour
chaque processus :hypoth se forte(cas du travail par lot)
En cas d galit , lordonnancement FCFS est utilis .
Exemple:
Processus
Temps darriv e
Temps CPU
P1
P2
P3
0
Advertisement
2
4
5
2
1
Donner un sch ma illustrant lex cution de ces processus.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
31
16- Algorithmes dordonnancement
3- Algorithme du temps restant le plus court SRT (Shortest Remaining
Time):
version pr emptive de lalgorithme SJF.
Lordonnanceur compare la valeur estim e du temps de traitement
restant du processus en cours avec le temps dex cution dun nouveau
processus qui vient darriver. Si le temps de traitement du nouveau
processus est inf rieur, le processus en cours est pr empt c'est- -dire
interrompu pour que le nouveau processus prenne sa place.
Exemple:
Processus
Temps darriv e
Temps CPU
P1
P2
P3
0
1
2
5
3
1
Donner un sch ma illustrant lex cution de ces processus.
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
32
16- Algorithmes dordonnancement
4- Algorithme du Tourniquet (Round Robin : RR) :
FCFS avec pr emption
Chaque processus re oit un quantum de temps
Une fois le quantum puis , le processus passe la main et retourne
dans la file d'attente .
Terminaison de
lex cution
<= 1 quantum
P1 P2 P3 & &. Pn
Processeur
> 1 quantum
Partitionnement du temps
du cycle en quantas
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
33
16- Algorithmes dordonnancement
4- Algorithme du Tourniquet (Round Robin : RR) : Exemple
Processus
P1
P2
P3
Temps darriv e
0
1
3
Temps CPU
2
4
3
- qantum = 2 unit s
commutation de contexte
P1 P2 P3 P2 P3
0 2 4 6 8 9
Le processeur effectue une commutation de contexte uniquement lorsquil
atteint la fin du quantum, et que le processus ne sest pas termin .
- Temps dattente de P1 : 0
- Temps dattente de P2 : 1.97 + 2 = 3.97 (lorsque P3 est en ex cution, P2 est
en attente).
- Temps dattente de P3 : 3.96 + 2 = 5.96
FTemps dattente moyen : 9.93/3 = 3.31 unit s
- Si le temps CPU de P1 = 5 &?
Beyaoui Walid
34
Licence appliqu e en TI- Cours
Syst mes d'exploitation
16- Algorithmes dordonnancement
5- Algorithme avec priorit :
"Chaque processus est muni dune priorit .
"Le processus le plus prioritaire va sex cuter en premier lieu.
"G n ralement, on consid re toujours la priorit avec pr emption
" G n ralement, la priorit est croissante (processus priorit
lev e plus prioritaire)
Exemple:
Processus
P1
P2
P3
P4
Temps
darriv e
0
1
4
4
Temps CPU
Priorit
6
5
3
4
3
4
2
5
a) Priorit avec pr emption :
b) Priorit sans pr emption :
Licence appliqu e en TI- Cours
Syst mes d'exploitation
Beyaoui Walid
35