Corrigé TD STR
Réponses Exercice 1
1. Rôles d'un OS : 1- Gestion du processeur, 2- Gestion de la mémoire vive, 3- Gestion des
entrées/sorties, 4- Gestion de l'exécution des applications, 5- Gestion des fichiers, 6- Gestion
des informations.
2. Instruction : une opération élémentaire d'un processeur. Macro-instruction : instruction
complexe, définissant des opérations composées à partir des instructions du répertoire de base
d'un ordinateur.
3. Une séquence de tâches valide : si toutes les tâches respectent leur Contrainte Temporelle.
4. Pour qu’un ordonnanceur soit très performant, il doit maximiser le pourcentage d'utilisation
du processeur et le débit. Également, il doit minimiser le temps de réponse, le temps de rotation
et le temps d'attente.
5. L'ordonnancement basé sur les priorités (PRIO) souffre de la famine, car les processus
moins prioritaires n’arrivent pas à s'exécuter pendant un temps indéterminé.
6. Non, La surveillance d'une centrale nucléaire nécessite un système temps réel dur.
7. Non, Le Memory Management Unit (MMU) traduit une adresse virtuelle (logique) en adresse
physique.
8. Non, Les sémaphores privés sont toujours initialisés par Si = 0.
9. Au moins 3 rôles d'un gestionnaire de mémoire :
création d’un processus.
activation/désactivation d’un processus.
suppression d’un processus.
partage la mémoire disponible entre les processus (protection).
cartographie la mémoire.
alloue/dés-alloue de la mémoire dynamiquement pour les besoin d’un processus.
assure la cohérence de la mémoire.
optimise l’utilisation de la mémoire.
Correction exercice N° 02 :
PAPS : Premier Arrivé est le Premier Servi PAPS (FCFS : First-Come FirstServed)
Partie I : Ti(ri,ci)
1- Tracer les chronogrammes de SJF sans préemption et RR (Q = 2) ?
SJF : Short Job First [Fr :Plus court temps d’exécution (PCTE)]
Le CPU est attribué au processus qui a le plus petit temps d‟exécution (en utilisant PAPS (FIFO) en cas
d’égalité)
a) chronogrammes de SJF sans préemption
SJF : Short Job First SJF sans préemption : Quand le CPU est accordé, il ne change pas jusqu’à la fin
de son utilisation.
2)
Temps moyen d’attente
=(1+3+0)/3=1,33
Temps
Arrivée Temps
d’attenteT2
Temps moyen de rotation
T1,2,3 d’attenteT1
1 1 =(3+6+1)/3=3,33
Temps de Temps de Temps de
rotation T3=1 rotation T1=3 rotation T2=6
b) Chronogrammes RR : Round Robin (Tourniquet ) Q=2
Le processeur est alloué successivement aux différents processus pour une tranche de temps fixe
Q appelé Quantum (tranche du temps).
L’efficacité de cet ordonnanceur dépend principalement de la valeur du quantum Q :
Q assez petit augmente le nombre de commutation.
Q assez grand augmente le temps de réponse du système → FCFS.
2)
Temps moyen d’attente =(0+(2+1)+4)/3=2,33
Temps moyen de rotation =(2+6+5)/3=4,33
3) Le meilleur ordonnanceur est le SJF sans préemption, car le temps moyen d’attente et le
temps moyen de rotation correspondants sont les plus petits
Partie II : Ti(ri, ci, Di, Pi)
4- Calculer la période d'étude de ce système.
La période d’étude = [0, PPCM (P1, P2, P3)] = [0, PPCM (6, 8, 4)] = [0, 24].
5- Ce système est-il ordonnançable avec RM ? Vérifier avec le diagramme de Gantt ?
Algorithme à Priorités fixes (RM : Rate Monotonic) : la tâche de plus petite période est la plus
prioritaire. L’utilisation de cet algorithme est valable uniquement si les tâches sont à échéance sur
requête (P=D).
Test d’acceptabilité (condition suffisante): les tâches respectent leur CT si:
n
Ci
1
n(2 n 1) condition suffisante
i 1 Pi
n
Ci 2 3 1
i 1 Pi
0,958
6 8 4 n
Ci
P
1
0,958 n(2 1) 0, 779
n
1 1
n(2 1) 3(2 1) 0, 779
n 3 i 1 i
Donc, la condition suffisante n’est pas vérifiée, on trace le diagramme de Gantt pour voir s’il
y a des éventuelles fautes temporelles
L’ordonnancement est : T3 T1 T2
On prend une échelle de 24 unités (T3(P=4) , T1 (P=6) et T2 (P=8))
Donc d’après le diagramme il y a une faute temporelle dans la première période de la tâche
T2. Elle s’est exécutée pendant 2 UT seulement tandis que C2=3UT. Alors se sytème n’est
pas ordonnançable selon RM
6- Ce système est-il ordonnançable avec EDF ? Vérifier avec le diagramme de Gantt ?
Algorithme à priorité variable ou dynamique (EDF : Earliest Deadline First) : à chaque
instant (i.e. à chaque réveil de tâche), la priorité maximale est donnée à la tâche dont l'échéance
est la plus proche.
Période d'étude =[0 ,𝑃𝑃𝐶𝑀(𝑃𝑖)]= [0, 24]
Test d’ordonnançabilité :
n
Ci 2 3 1
P
i 1
0,958 1
6 8 4
La condition nécessaire est vérifiée
i
n
Ci 2 3 1
D
i 1
1, 208 1
4 8 3
La condition suffisante n’est pas vérifiée
i
Donc, la condition suffisante n’est pas vérifiée, on trace le diagramme de Gantt pour voir s’il
y a des éventuelles fautes temporelles
L’ordonnancement est : T3 T1 T2
On prend une échelle de 24 unités (T3(P=4 et D3=3) , T1 (P=6 et D1=4) et T2 (P=8 et ,
D2=8))