Académique Documents
Professionnel Documents
Culture Documents
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).
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 ?
2011/2012
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,
lu
Bloqu
(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 ?
2011/2012
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
2011/2012
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
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)
2011/2012
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
A 0 4
B 8
C 10
D 14
E 18
A 22
B 24
E 28
A 30
2011/2012
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.
A- On suppose quon utilise un algorithme dordonnancement bas sur la priorit. Donnez le diagramme de Gantt pour les processus donns.
2011/2012
Priorit Statique
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).
2011/2012
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
2011/2012