TD n° 1 - Google Groups

Download Report

Transcript TD n° 1 - Google Groups

Module Enseignant Classes Systèmes d’exploitation Avancés H. JEDIDI , Anis ZOUAOUI, Riadh FREFITA, Walid BARHOUMI, Taha BENNENI, Nadia Bel HAJ ISSA 4 Info A et M & 4 Tel TD n° 1 Exercice 1 Pour chacune des transitions suivantes entre les états possibles d’un 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 cours d’exécution (élu)
(b) en cours d’exécution (élu)
prêt
bloqué
(c) prêt
terminé
(d) bloqué
en cours d’exécution (élu)
(e) bloqué
terminé
Exercice 2 Cinq processus A, B, C, D et E sont soumis à un calculateur dans cet ordre, mais quasi
simultanément.
Ces travaux ne font pas d’entrée-sorties. Leurs durées respectives sont 10, 6,1, 5 et 8 secondes.
Déterminer les temps de réponse de chacun des processus, ainsi que le temps de réponse moyen
pour :
•
•
•
•
•
Une discipline FCFS,
Une discipline PCTE,
Une discipline tourniquet avec un quantum de 2s,
Une discipline PCTER avec un quantum de 2s,
Une discipline à priorité avec P(A)=3, P(B)=5, P(C)=2, P(D)=1, P(E)=4 (le plus petit chiffre
représente la priorité la plus forte),
Exercice 3 On suppose que le système d’exploitation utilise 3 niveaux de priorité. Le processus se voit affecter un
niveau fixe. Une file de processus est attachée à chaque niveau. Chaque file est gérée par un tourniquer
avec un quantum de 0.5. Un tourniquet de niveau n n’est activé que si toutes les files de niveau supérieur
sont vides. Donner l’assignation pour :
1 p
que la
l priorité nn’est pas fix
xe. Toutes lees 2 unités dde temps, to
out processuus n’ayant
On ssuppose à présent
pas dispposé de l’UC
C monte d’u
un niveau, aalors que ceeux en ayantt disposé 2 ffois en desccendent. Doonner la
nouvellee assignatioon.
Exerccice 4 nance les processus seloon l’algorith
hme du tourrniquet.
Connsidérez un système d’eexploitationn qui ordonn
La file ddes processuus prêts con
ntient des poointeurs verrs les entréees de la tablee des processus (les descripteurs
des proccessus).
1) S
Supposez quue le systèm
me d’exploitaation est composé de deux
d
unités dde contrôle (deux processeurs
CPU1 eet CPU2) et d’une unitéé d’E/S. Chaaque processseur exécutte l’algorithhme du tourrniquet avecc un
quantum
m de trois unnités de tem
mps (Q = 3).. Tous les processus
p
prêts sont danns une mêm
me file d’atteente. La
commuttation de coontexte est supposée
s
dee durée nullee.
Connsidérez troiis processuss A, B et C ddécrits danss le tableau suivant :
La ppremière liggne signifie que le proccessus A arrrive dans le système à ll’instant 0, son
s exécutioon
nécessitte dans l’orddre 4 unités de temps C
CPU, 2 unitéés de tempss d’E/S et 2 unités de teemps CPU.
Au ddépart le processus A est
e élu par lee processeu
ur CPU1. Si plusieurs éévénements surviennennt en même
temps, vvous supposserez les priiorités suivaantes :
•
•
Le CPU
U1 a la priorrité d’accès à la file dess processus prêts par raapport au CP
PU2.
A la finn d’un quanttum, le proccessus non terminé
t
en cours
c
est sus
uspendu uniq
quement si la file des
processuus prêts n’eest pas vide.. Le traitem
ment réalisé à la fin d’unn quantum est
e plus priooritaire
2 que celui d’une fin d’E/S qui, à son tour, est plus prioritaire que l’arrivée de nouveaux processus
dans le système.
a) Donnez les diagrammes de Gantt montrant l’allocation des deux processeurs, de l’unité d’E/S et
l’évolution des états des files d’attente (celle des processus prêts et celle des processus en attente de
l’unité d’E/S).
b) Calculez le temps moyen de séjour (Temps moyen de rotation).
Exercice 5 L’ordonnancement EDF (Earliest Deadline First) est un algorithme d’ordonnancement temps réel de
processus. A chaque fois qu’un processus demande du temps CPU, il doit préciser une échéance (une date
limite >0). Le processus doit avoir obtenu son temps CPU avant d’atteindre la date limite. L’ordonnanceur
vise à satisfaire les demandes avant leurs échéances. Pour se faire, il gère une liste des processus prêts,
classés par ordre croissant des échéances. L’algorithme exécute le premier processus de la liste qui
correspond à celui dont l’échéance est la plus proche.
Si deux processus ont la même échéance, l’ordonnanceur sélectionne le plus prioritaire.
Lorsqu’un processus devient prêt ou arrive dans le système, le système vérifie si son échéance est
antérieure ou égale à celle du processus en cours d’exécution. Le processus en cours est préempté pour
l’une des deux raisons suivantes :
• L’échéance du processus en cours est plus loin que celle d’un processus prêt.
• L’échéance du processus en cours est la même que celle d’un processus prêt plus prioritaire.
Considérez trois processus A, B et C suivants :
9 A demande le CPU toutes les 20ms et requiert à chaque fois 4 ms de temps CPU.
9 B demande du temps CPU toutes les 30ms et requiert à chaque fois 10 ms.
9 C demande du temps CPU toutes les 40ms et a besoin à chaque fois 20 ms de temps
CPU.
A est supposé plus prioritaire que B qui est, à son tour, plus prioritaire que C.
Supposez qu’au départ, les processus sont prêts et que l’échéance de chaque demande est la date de la
prochaine demande. Par exemple, pour A, les dates d’échéances sont successivement 20,
2*20, 3*20, ….
Donnez le diagramme de Gantt pour les 90 premières ms.
Exercice 6 On considère une implémentation de l’extension temps-réel de POSIX sur un système
d’exploitation avec 30 niveaux de priorité (de 0 à 29, 29 étant la plus forte priorité). Par conséquent, le
système offre trois politiques d’ordonnancement:
• SCHED_FIFO (pour les processus FIFO temps-réel),
• SCHED_RR (pour les processus tourniquet temps-réel)
• SCHED_OTHER (pour les processus temps partagé).
Le quantum d’exécution pour la politique SCHED_RR est d’une unité de temps. L’ordonnancement est
préemptif.
3 Soit le jeu de proceessus présen
nté dans la ttable 1 suivaante :
U
Un processuus périodiqu
ue est un prrocessus quii est activé régulièreme
r
ent, aux tem
mps 0, T, 2T
T, 3T…, où
T est la période du processus.
Donnezz l’assignatiion pour l’ordonnancem
ment des pro
ocessus de la
l table 1 enntre les instaants 0 et 26.
Exerccice 7 R
RMS (Ratee-Monotonicc Schedulinng) est un algorithme d’’ordonnanceement temp
ps-réel des processus
p
périodiqques. Un proocessus pérriodique (Pi) est caractéérisé par sa période d’aactivation (T
Ti), son tempps
d’exécuution (Ci) et sa date d’arrrivée dans le système (Si). Chaqu
ue processuss possède un
ne contraintte
temporeelle : il doit s’exécuter complètemeent avant qu
ue sa périod
de arrive de nouveau. Le
L principe de
l’algoritthme RMS consiste à associer
a
à chhaque proceessus une prriorité fixe, inversemen
nt proportionnelle à
sa périoode. Lorsqu’’il est appellé, l’ordonnaanceur du système
s
cho
oisit le proceessus de plu
us forte prioorité et le
lance enn exécution (ordonnanccement à priiorités).
S
Soit trois prrocessus A, B et C défiinis par les paramètres
p
suivants :
•
•
•
•
SA = SB = SC = 0
TA = 29 ms, CA = 7
TB = 5 ms, CB = 1
TC = 10 ms,, CC= 2
1. Indiqquez les prioorités des processus P11, P2 et P3 selon
s
RMS.
2. Donnnez le diagrramme de Gantt
G
pour lees 30 premiières ms d’o
ordonnancem
ment RMS, si l’ordonnnanceur est
préempttif.
3. Donnnez le diagrramme de Gantt
G
pour lees 30 premiières ms d’o
ordonnancem
ment RMS, si l’ordonnnanceur est
non préemptif.
4