Vous êtes sur la page 1sur 9

Institut Suprieur dInformatique

Universit de Tunis el Manar

TD1 : Rappel sur lordonnancement des processus


Systmes dExploitation Avancs 1re anne ING.
Anne Universitaire : 2011/2012

MME. LILIA SFAXI

TD1 : Rappel sur lordonnancement des processus

TD1 : Rappel sur lordonnancement des processus


Systmes dExploitation Avancs

Exercice 1 : Gnralits
1. Quest-ce quun processus ? Le processus est un concept fondamental de tout systme dexploitation. Un processus est lunit systme qui permet lexcution dun programme. Un processus est un programme en excution. Il dfinit un objet dynamique tandis que le programme est un objet statique. Un processus est caractris par son pointeur de pile, ses instructions et ses donnes, Ces attributs dfinissent le contexte dun processus. 2. Quest-ce quun PCB ? Chaque processus est reprsent dans le systme dexploitation par une structure de donnes contenant toute information dcrivant le contexte du processus appel bloc de contrle (Process Control Bloc: PCB).

Attributs dun PCB:


PID et PPID, tat, Priorit, Compteur ordinal, Fichiers ouverts, Pointeurs: seg. code, seg. donnes, seg. Pile, Temps dexcution.

3. Quest-ce quun thread ? Un thread ou encore processus lger (lightweight process) est une unit dexcution de code. Il est issu dun processus mais ne contenant que la pile dexcution. Un processus contient donc au moins un thread de contrle unique en plus de lespace dadressage (segments code et donnes). 4. Quelle est la diffrence entre un processus et un thread ?

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Un processus peut contenir un ou plusieurs threads. Un processus a son propre PCB, alors que des threads dans le mme processus partagent certaines informations du mme PCB. (mme espace dadressage) 5. Quest ce quun PID ? PPID ? Un processus est identifi par un PID (Process IDentifier) et un PPID (Parent Process IDentifier). 6. Quels sont les diffrents tats dun processus ? Quelles sont les transitions entre ces tats ? Lorsquun processus sexcute; il change dtat. Il peut se trouver dans lun des trois tats principaux suivants: Prt (Ready) : le processus attend son tour pour sexcuter lu (Running) : les instructions sont en cours dexcution. Bloqu (Sleep) : le processus bloqu en attente dvnement: signal, E/S,

Prt Nouveau Termin

lu


Bloqu

Transitions : (1) Cration du processus (2) Allocation du processeur

Graphe des tats dun processus

(3) Fin du temps allou sur le processeur, lexcution du processus nest pas termine (4) Opration E/S (5) Fin opration E/S (6) Excution termine

7. Quest-ce que la commutation de contexte ? Sur un systme multiprogramm, le SE doit redonner le contrle du processeur dun processus un autre en effectuant des commutations de contexte. La commutation de contexte consiste mmoriser le PCB du processus courant et charger le PCB du processus lire. 8. Quels sont les diffrents types dalgorithmes dordonnancement ?

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Il existe deux types dalgorithmes dordonnancement:

Ordonnancement sans rquisition (sans premption): excution dun processus jusqu sa terminaison. Ordonnancement avec rquisition (avec premption): suspension possible dun processus lu mme sil na pas termin son excution.

9. Quand est-ce que lordonnanceur est invoqu ? Chaque fois que le processus excutant est interrompu :

un processus excutant devient bloqu (4) un processus change dlu prt (3) un processus excutant se termine (6)
Chaque fois quun nouveau processus est prt

un processus se prsente en tant que nouveau (1) un processus change de bloqu prt (5)
Lordonnanceur choisit un processus parmi les processus prts et lui alloue le processeur. 10. Comment juger de lefficacit dun algorithme dordonnancement ? Un bon algorithme dordonnancement :

Chaque processus doit avoir sa part de temps CPU: quit. Utiliser le temps processeur a 100%: efficacit. Minimiser le temps de rponse en mode interactif.

11. Discuter les diffrents algorithmes (FCFS, SJF) et leur mise en uvre pratique. Premier arriv, premier servi, FCFS: o Temps moyen dattente non-optimal

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Mauvaise utilisation des ressources sil y a apport continu de processus aux cycles longs (v. effet daccumulation)

Plus court servi, SJF: o o Difficult de prvoir la dure du prochain cycle Famine possible des processus longs sil y a apport continu de processus aux cycles courts

Donc besoin dune mthode systmatiquement premptive

Le tourniquet, RR : o Le temps processeur est divis en intervalles de temps appels Quantum Q, chaque processus sexcutera exactement pendant son quantum. o Le processeur sera rquisitionn jusqu ce que: Le processus lu ait puis son quantum, Le processus lu ait fini son excution avant la fin de son quantum, Le processus lu demande une entre/sortie.

12. Dfinir interruption, premption et droutement et discuter la diffrence. Interruption : Une interruption est un signal produit par un priphrique et envoy vers le processeur pour linformer de la fin dune E/S, la production dune erreur Premption : La premption est la capacit d'un systme d'exploitation multitche excuter ou stopper une tche planifie en cours en faveur d'une tche de priorit suprieure. Droutement : Erreur interne du processus. Toujours prvisible (exemple : division par zro)

Exercice 2 : Ordonnancement des processus


Cinq travaux A, B, C, D et E arrivent pratiquement en mme temps dans un centre de calcul. Leur temps dexcution respectif est estim 10, 6, 2, 4 et 8 secondes. Tracez le digramme de Gantt et dterminez le temps moyen de rotation pour chacun des algorithmes dordonnancement suivants. Ne tenez pas compte du temps perdu lors de la commutation des processus.

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Premier arriv, premier servi FCFS (excution dans lordre 10, 6, 2, 4, 8) ; Plus court dabord SJF ; Tourniquet (quantum q = 4 s). TRM = ((10-0)+(16-0)+(18-0)+(22-0)+(30-0)) / 5 = 19,2

Algorithme FCFS

A 0 Algorithme SJF 10

B 16

C 18

D 22

E 30

TRM = ((2-0)+(6-0)+(12-0)+(20-0)+(30-0)) / 5 = 14

C 0 2

B 6

E 12 20

A 30

Algorithme RR (quantum=4) TRM = ((10-0)+(14-0)+(24-0)+(28-0)+(30-0)) / 5 = 21,2

A 0 4

B 8

C 10

D 14

E 18

A 22

B 24

E 28

A 30

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Exercice 3 : Questions de comprhension


1. Quel est l'effet de la diminution du quantum sur les performances de l'algorithme RR (tourniquet)? Et son augmentation ?

La diminution du quantum entrane la dgradation des performances de l'algorithme RR, car le temps de commutation/changement de contexte augmente. Laugmentation du quantum entrane le manque defficacit de lalgorithme devient FCFS.
2. Les algorithmes dordonnancement bass sur des priorits peuvent engendrer la famine (non excution) des processus faible priorit. Comment peut-on viter ce problme ? On utilise un autre algorithme: tourniquet ou priorit dynamique. 3. Soit un systme sur lequel les processus s'excutent en moyenne pendant un temps de T secondes. La commutation de processus ncessite C secondes. Lordonnancement est circulaire (RR ou Tourniquet) avec un quantum de Q secondes. Donnez une interprtation pour chacun des cas suivants : Q>T C<Q<T Q=C Q tend vers + Q tend vers 0

Q>T et Q tend vers linfini : RR tend vers FiFo / C<Q<T : cas raisonnable / Q=C et Q tend vers 0 : dgradation de lefficacit dexploitation du processeur.

Exercice 4 : Ordonnancement avec priorit dynamique


On considre lensemble des processus suivants : Processus P1 P2 P3 P4 Date darrive 7h00 7h00 7h03 7h10 Temps CPU 10 mn 15 mn 8 mn 18 mn Priorit 2 3 4 5

A- On suppose quon utilise un algorithme dordonnancement bas sur la priorit. Donnez le diagramme de Gantt pour les processus donns.

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Priorit Statique

TRM = ((28-10)+(29-3)+(41-0)+(51-0)) / 4 = 34 TAM = ((18-18)+(26-8)+(41-15)+(51-10)) / 4 = 21,25

B- On voudrait que la priorit des processus soit dynamique au cours du temps. Ainsi, pour calculer la priorit dun processus, on utilise la formule suivante :
= ! +

Remarque : Lors des calculs, on arrondira suivant lexemple suivant : 3.5 ou 3.6 -> 4 ; 3.1 ou 3.4 -> 3. 1. Donnez le diagramme de Gantt sachant que la priorit est recalcule toutes les 5 minutes.

Hypothses :

Au dmarrage, les priorits des processus sont gales leurs priorits statiques (indiques dans le tableau).

MME. LILIA SFAXI

2011/2012

TD1 : Rappel sur lordonnancement des processus

Les priorits ne sont calcules que toutes les 5mn. Pour les autres temps, on prend la priorit prcdente. Le temps dattente dun processus est son temps dattente depuis sa dernire excution. Si on a le choix entre deux processus de mme priorit, on choisit celui qui attend depuis le plus longtemps.

2. Calculez le temps dattente moyen ainsi que le temps de rotation moyen. Priorit Dynamique TRM = ((30-0)+(47-0)+(41-3)+(51-10)) / 4 = 39

TAM = ((30-0-10)+(47-0-15)+(41-3-8)+(51-10-18)) / 4 = 26,25


3. Comparez les rsultats obtenus par rapport ceux obtenus avec lalgorithme de priorit classique. Le temps de rotation pour lordonnancement priorit dynamique est plus grand, mais lalgorithme est plus quitable.

MME. LILIA SFAXI

2011/2012