Beruflich Dokumente
Kultur Dokumente
19
3.1.1 Dfinition :
On peut dfinir un processus (process) comme un programme en excution. Autrement dit,
un programme par lui-mme nest pas un processus. Un programme est une entit passive,
comme le contenu dun fichier stock sur disque, tandis quun processus est une entit
active, avec un compteur dinstructions spcifiant linstruction suivante excuter et un
ensemble de ressources associes.
Evidemment, il est possible davoir plusieurs processus diffrents associs un mme
programme. Cest le cas , par exemple, de plusieurs utilisateurs qui excutent chacun une
copie du programme de messagerie. Il est galement courant quun processus gnre son
tour plusieurs processus lors de son excution.
Nouveau
Termin
admis
lu
Prt
Terminaison dun
vnement ou E/S
interrompu
exit
En excution
LOUKAM Mourad
20
Prt : le processus est plac dans la file dattente des processus prts, en attente
daffectation du processeur.
Numro de processus
Etat du processus
Compteur dinstruction
Registres
Limites de la mmoire
Liste des fichiers ouverts
Ltat du processus : Il peut avoir lune des valeurs suivantes : Nouveau, Prt, en
excution ou en attente.
21
Informations sur la gestion de la mmoire : Ces informations peuvent inclure les valeurs
de registres de base et limites, les tables de pages ou les tables de segments selon le
systme de mmoire utilis.
Informations sur ltat des E/S : Les fichiers ouverts, la liste des priphriques dE/S.
File dattente des processus prts : Cette file contient tous les processus en attente du
processeur.
File dattente de priphrique : Pour rguler les demandes dallocation des diffrents
priphriques, on peut imaginer une file dattente pour chaque priphrique. Quand un
processus demande une opration dE/S, il est mis dans la file dattente concerne.
Concrtement une file dattente est reprsente par une liste chane de PCB, comme le
montre le schma suivant.
PCB
PCB
PCB
PCB
PCB
PCB
Tte
Queue
LOUKAM Mourad
22
Un nouveau processus est initialement plac dans la file dattente des processus prts. Il
attend dans cette file jusqu ce quil soit slectionn pour son excution et quon lui accorde
le processeur. Une fois quon a allou le processeur au processus et que celui-ci est en
cours dexcution, il pourrait se produire lun des vnements suivants :
Le processus pourrait mettre une requte dE/S et ensuite plac dans une file dattente
dE/S.
Les diffrents tats de transition du processus entre les files dattente sont rsums par la
figure suivante.
Processeur
E/S
Requte dE/S
Le fils termine
Le fils sexcute
Le signal arrive
3.2.2 Le scheduler :
Le scheduler est un programme du SE qui soccupe de choisir , selon une politique de
schedulind donne, un processus parmi les processus prts pour lui affecter le processeur.
23
Temps dattente : Cest le temps pass attendre dans la file dattente des processus
prts.
Temps de rponse : Cest le temps pass dans la file dattente des processus prts
avant la premire excution.
P2
24
P3
27
30
LOUKAM Mourad
24
Si les processus taient arrivs dans lordre P2, P3 et P1, les rsultats seraient diffrents :
Diagramme de Gantt :
P2
0
P3
P1
30
Dure dexcution
6
8
7
3
P1
3
P3
9
P2
16
24
Le temps moyen dattente est = (0+3+9+16)/4=7. Alors que si on avait choisi une politique
FCFS, le temps moyen serait de : 10.25 units de temps.
Critique de la mthode :
25
Il a t prouv que lalgorithme SJF est optimal dans le temps dans le sens quil obtient le
temps dattente le plus court pour un ensemble de processus donn. Toutefois, cet
algorithme est difficile implmenter pour une raison simple : Comment peut-on connatre le
temps dexcution dun processus lavance ?.
Dure dexcution
10
1
2
1
5
Priorit
2
4
2
1
3
Diagramme de Gantt :
P2
0
P5
1
P1
6
P3
16
P4
18
19
LOUKAM Mourad
26
P2
4
P3
7
P1
10
P1
17
P1
18
P1
22
P1
26
30
27
Ainsi, un algorithme de scheduling avec des files dattente multiniveaux dcoupe la file
dattente des processus prts en plusieurs files dattentes spares. La figure suivante
doonn un exemple de dcoupage de ces files dattente :
Processus systme
Priorit
Processus interactifs
Processus batch
Processus utilisateurs
Les processus sont en permanence assigns une file dattente en se basant gnralement
sur certaines proprits du processus, comme : le type de processus, la taille de la
mmoire, la priorit, etc. Chaque file dattente possde son propre algorithme de
scheduling. Par exemple , la file dattente des processus systmes est schedule selon
algorithme de plus haute priorit, celles des processus interactifs est gre selon
lalgorithme Round Robin et la file des processus batch est gre selon lalgorithme FCFS.
Dautre part, il doit y avoir un scheduling entre les files dattente elles-mme.
Observons par exemple, lensemble des files dattente multiniveaux suivants :
1.
2.
3.
4.
Processus systmes
Processus interactifs
Processus batch
Processus utilisateurs
Chaque file dattente est absolument prioritaire par rapport aux files dattente de niveau
infrieur. Par exemple, aucun processus de la file dattente des processus batch ne pourra
sexcuter moins les files dattente des processus systme et interactifs ne soient toutes
vides. De plus, si un processus interactif arrive au systme, alors quun processus batch est
en train de sexcuter, celui-ci doit tre interrompu.
Une autre manire de procder serait daffecter des tranches de temps aux files dattente.
Chaque file dattente obtient une certaine partie du temps processeur, lequel doit se
scheduler entre les diffrents processus qui la composent. Par exemple, on peut attribuer
80% du temps processeur la file dattente des processus de premier plan et 20% pour la
file dattente des processus darrire plan.
LOUKAM Mourad
28
Normalement, dans un algorithme avec des files dattente multiniveaux, les processus sont
assigns en permanence une file dattente ds quils rentrent dans le systme. Les
processus ne se dplacent pas entre les files dattente. Cette organisation possde
lavantage dune basse surcharge due au scheduling, mais elle manque de souplesse.
Ainsi, le scheduling avec des files dattente feedback multiniveaux permet aux processus de
se dplacer entre les files dattente. Lide revient sparer les processus en fonction de
lvolution de leurs caractristiques dans le systme.
Exemple : Un systme est dot de 3 files dattentes mutiniveaux : File 0, File 1 et File 2. La
file 0 est la plus prioritaire. Les files 0 et 1 sont gres selon la politique Round Robin. La file
2 est gre selon la technique FCFS.
Un processus entrant dans le systme sera rang dans la file dattente 0. On donne une
tranche de temps de 8 ms au processus. Sil ne finit pas, il est dplac vers la file dattente
1. Si la filme dattente 0 est vide, on donne une tranche de temps de 16 ms au processus en
tte de la file 1. Sil ne termine pas, il est interrompu et il est mis dans la file dattente 2. Les
processus de la file dattente 2 sont excutes seulement quand les files 0 et 1 sont vides.