Td 2 Correction

publicité
Td 2
Correction
1 Sur un système doté de n UC, quel est le nombre maximum de processus
pouvant se trouver dans les états prêt, exécution et bloqué ?
Le nombre de processus pouvant se trouver dans les états prêt et bloqué est illimité.
En revanche, n processus tout au plus, peuvent se trouver en état d'exécution,
puisqu'un processus dans un tel état doit être attribué à une UC et qu'il n'existe que
nUC.
2 Sur un système doté de « UC, quel est le nombre minimum de processus
pouvant se trouver dans les états prêt, exécution et bloqué ?
II peut n'y avoir aucun processus dans l'un de ces trois états. Il se peut également que
tous les processus soient bloqués, en attendant des opérations d'E/S, sans aucun
processus dans les états prêt et exécution. Enfin, il est possible que tous les processus
soient en état prêt ou exécution, sans aucun processus bloqué.
3 Quel est le principal avantage de la multiprogrammation ?
La multiprogrammation augmente l'utilisation de l'UC. Si un processus est bloqué, en
attendant la fin d'une E/S, l'UC peut exécuter un autre processus.
4 Quel est le principal inconvénient qui découle d'un abus de multiprogrammation ?
Le sur débit associé à la gestion de trop de processus peut conduire à une dégradation
des performances. C'est notamment le cas des systèmes qui utilisent la permutation et
qui se retrouvent avec trop peu de ressources mémoire pour gérer tous les processus.
On parle alors de phénomène d'écroulement ou trashing.
5 Le pourcentage d'attente des E/S, X, d'un processus est le pourcentage de temps
pendant lequel ce processus attend l'achèvement des E/S, lors de l'exécution dans un
environnement de monoprogrammation. Sur un système qui a recours à
l'ordonnancement à tourniquet avec n processus, tous ayant le même pourcentage
d'attente des E/S, quel est le pourcentage de temps d'inactivité de l'UC, en termes de
X?
Si le pourcentage d'attente des E/S est <*>, la probabilité, à tout moment, qu'un
processus soit en attente est également o> ; ainsi, si un processus passe 65 % de son
temps à attendre des E/S, la probabilité qu'il attende à tout moment est de 65 %. De
prime abord, tout laisse penser que s'il y a « processus, la probabilité qu'ils soient
tous en train d'attendre des E/S est o/1. Toutefois, cette affirmation serait vérifiée s'il
y avait un processeur à disposition de chaque processus. Pour un système doté d'une
seule UC, la solution est un peu plus complexe.
À tout moment, le système peut disposer de 0 à n processus en attente d'E/S. Soit Sit
l'état dans lequel i processus sont en attente d'E/S. Soit /",, la probabilité que le
système se trouve dans l'état S,-. Soit \dt, la probabilité qu'un processus en cours
d'exécution émette une requête d'E/S à la prochaine unité de temps. Soit \idt, la
probabilité qu'une requête émise précédemment s'achève à la prochaine unité de
temps.
La probabilité pour que le système, alors qu'il se trouve dans l'état S/, passe dans
l'état 5;+] est la même que la probabilité "kdt que le processus en cours d'exécution
émette une requête d'E/S. La probabilité pour que le système, alors qu'il se trouve en
état S,-, passe en état S^ est égale à la probabilité ïkdt que l'une des requêtes d'E/S
quelle qu'elle soit s'achève (figure 2.4).
Si l'on s'intéresse aux transitions entre états sur le temps, on s'aperçoit que le nombre de
transitions 5, -> SM doit correspondre au nombre de transitions SM -» S/. Ainsi, la
probabilité pour que l'une des transitions se produise doit être la même, d'où
l'équation suivante :
6 Pour chacune des transitions suivantes entre les états des processus, indiquez si la
transition est possible. Si c'est le cas, donnez un exemple d'un élément qui
pourrait en être à l'origine.
(a) En exécution - prêt
(b) En exécution - bloqué
(c) En exécution - permuté-bloqué
(d) Bloqué-en exécution
(e) En exécution - terminé
(a) Possible, lorsqu'un quantum de temps d'un processus expire.
(b) Possible, lorsqu'un processus émet une requête d'E/S.
(c) Impossible, bien que le processus puisse, dans un premier temps, entrer en
état prêt, puis en mode permuté-bloqué.
(d) Impossible, bien que le processus puisse tout d'abord entrer en état prêt,
puis en mode exécution.
(e) Possible, lorsqu'un processus se termine
7 Soit un système avec n processus, combien existe-t-il de manières d'ordonnancer
ces processus ?
II s'agit là d'un problème combinatoire sur le nombre de façons possibles
dont peuvent être ordonnancés ces processus. Lors de la sélection du premier
objet, il existe n choix possibles. Pour le deuxième objet, il y en a n - \.
Chaque sélection suivante comprend un choix de moins. Le nombre total de
possibilités est calculé en multipliant toutes les possibilités à chaque point, d'où
la réponse qui est n!.
8
Sur un système recourant à l'ordonnancement à tourniquet, quelle serait la
conséquence de l'introduction d'un même processus à deux reprises dans la
liste des processus ?
Dans l'ordonnancement à tourniquet, tous les processus prêts reçoivent le
même accès à l'UC. Le temps de l'UC est divisé de façon égale entre les
processus. Si un processus avait été répertorié à deux reprises, il aurait reçu
deux fois plus de temps de l'UC que les autres.
9 Avec les processus répertoriés dans le tableau ci-dessous, dessinez un schéma
illustrant leur exécution à l'aide de :
(a) L'algorithme FCFS
(b) L'algorithme SJF
(c) L'algorithme SRI
(d) L'algorithme à tourniquet (quantum = 2)
(e) L'algorithme à tourniquet (quantum = 1 )
Processus
Date d'arrivée
Temps de traitement
A
0,000
3
B
1.001
6
C
4.001
4
D
6,001
2
(a) L'algorithme FCFS. Les processus sont exécutés dans l'ordre de leur arrivée.
A
0
B
3
C
9
D
13
15
(b) L'algorithme SJF. Le processus A commence son exécution ; il s'agit du seul
choix à la date 0. À la date 3, B est le seul processus de la file. À la date 9,
lorsque B s'achève, c'est le processus D qui s'exécute, car il est plus court que le
processus C.
(c) L'algorithme SRT. Le processus A commence son exécution ; il s'agit du seul
choix possible à la date 0. Il poursuit son exécution lorsque B arrive, car son
temps restant est plus court. À la date 3, le processus B est le seul processus de la
file. À la date 4,001, le processus C arrive et commence son exécution, car son
temps restant (4) est inférieur à celui du processus B (4,999). À la date 6,001,
le processus C poursuit son exécution, car son temps restant (1,999) est inférieur
à celui de D(2). Lorsque le processus C prend fin, c'est le processus D qui
s'exécute, car son temps restant est inférieur à celui de B.
(d) L'algorithme à tourniquet (quantum = 2). À l'expiration du premier quantum de
temps de A, le processus B est exécuté. À la date 4, le processus A est relancé
et le processus B revient dans la file des processus prêts. À la date 4,001, le
processus C entre dans la file des processus prêts après le processus B. À la date
5, le processus A prend fin et le processus B s'exécute. A la date 6,001, le
processus D entre dans la file des prêts derrière le processus C. A partir de la
date 7, les processus C, D, B et C s'exécutent tour à tour.
(e) L'algorithme à tourniquet (quantum = 1). Le processus A s'exécute pendant
deux tranches de temps, étant donné que le processus B n'arrive pas avant
1,001.
Le processus B s'exécute à la date 4, puisque le processus C n'arrive qu'à 4,001.
Le processus B s'exécute à nouveau à la date 6, le processus J2 arrivant à
6,001. Le processus D entre dans la file des processus prêts derrière le
processus C. À partir de la date 7, l'exécution tourne en boucle à travers les
processus C, D et B.
10 Pour les processus du tableau ci-dessus, quel est le temps moyen de rotation (arrondi au
centième) si l'on utilise :
(a) L'algorithme FCFS
(b)L'algorithme SJF
(c) L'algorithme SRI
(d) L'algorithme à tourniquet (quantum - 2)
(e) L'algorithme à tourniquet (quantum = 1 )
Le temps de rotation se calcule en soustrayant la date à laquelle le processus a été
introduit dans le système à la date à laquelle il s'est achevé.
(a) ((3-0) + (9- l) + (13-4) + (15-6))/4 = 7,25
(b) ((3 - 0) + (9 - 1 ) + ( 15 - 4) + ( 11 - 6))/4 = 6,75
(c) ((3-0)+ (15- l) + (8-4) + (10-6)V4 = 6,25
(d) ((5 - 0) + ( 13 - 1) + ( 15 - 4} + ( 11 - 6))/4 = 8,25
(e) ((4-0)
11 Pour les processus du tableau ci-dessus, quel est le temps d'attente de chaque processus
(arrondi au centième) si l'on utilise :
(a) L'algorithme FCFS
(b) L'algorithme SJF
(c) L'algorithme SRT
(d) L'algorithme à tourniquet (quantum = 2)
(e) L'algorithme à tourniquet (quantum - I )
Temps d'attente= (la date à laquelle le processus s'est achevé -Temps de traitement)
(a) A= (3-3)=0; B= (9-6)=3; C= (13-4)=9; D= (15-2)= 13
……..
Téléchargement