Devoir À Rendre
Devoir À Rendre
Devoir À Rendre
Exercice 1 :
Considérez un système d’exploitation qui ordonnance les processus selon l’algorithme du tourniquet. La
file des processus prêts contient des pointeurs vers les entrées de la table des processus (les descripteurs
des processus).
Supposez que le système d’exploitation est composé de deux unités de contrôle (deux processeurs CPU1
et CPU2) et d’une unité d’E/S. Chaque processeur exécute l’algorithme du tourniquet avec un quantum
de trois unités de temps (qt = 3). Tous les processus prêts sont dans une même file d’attente. La
commutation de contexte est supposée de durée nulle.
Considérez trois processus A, B et C décrits dans le tableau suivant :
La première ligne signifie que le processus A arrive dans le système à l’instant 0, son exécution nécessite
dans l’ordre 4 unités de temps CPU, 2 unités de temps d’E/S et 2 unités de temps CPU.
Au départ le processus A est élu par le processeur CPU1.
Si plusieurs événements surviennent en même temps, vous supposerez les priorités suivantes :
‐ Le CPU1 a la priorité d’accès à la file des processus prêts par rapport au CPU2.
‐ A la fin d’un quantum, le processus non terminé en cours est suspendu uniquement si la file des
processus prêts n’est pas vide. Le traitement réalisé à la fin d’un quantum est plus prioritaire 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.
1) 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).
2) Calculez le temps moyen de réponse.
1/2
Exercice 2 :
A l’instant t, deux processus utilisateur P1 et P2 existent dans un système monoprocesseur. Le processus
P1 est composé de deux threads. Le processus P2 est composé de trois threads. Les temps nécessaires à
leurs exécutions sont résumés dans le tableau suivant :
1) Les threads sont supportés par le noyau (threads noyau). Le noyau ordonnance l’exécution des
threads selon l’algorithme du tourniquet (Round Robin) avec un quantum de 2 unités.
‐ La file d’attente des threads prêts, à l’instant t, est : T23 T12 T22 T21 T11
‐ T11 est en tête de file.
2) Les threads sont implémentés entièrement au niveau utilisateur. Le noyau ordonnance l’exécution
des processus selon l’algorithme du tourniquet avec un quantum de 2 unités. Les threads sont
ordonnancés au niveau utilisateur selon l’algorithme du tourniquet avec un quantum de 1 unité.
Supposez que le processeur est libre et que les processus sont passés à l’état prêt dans l’ordre suivant
:
‐ P1 puis P2
‐ Dans P1 : T11 puis T12
‐ Dans P2 : T21 puis T22 puis T23
2/2