IGA-Rabat
2010-2011
Exercices – Ordonnancement des processus
EXERCICE 1 On considère un système monoprocesseur et les 4 processus P1, P2, P3 et P4 qui effectuent du calcul et des entrées/sorties avec un disque selon les temps donnés cidessous : Processus P1 : Processus P2 : Calcul : 3 unités de temps Calcul : 4 unités de temps E/S : 7 unités de temps E/S : 2 unités de temps Calcul : 2 unités de temps Calcul : 3 unités de temps E/S : 1 unité de temps E/S : 1 unité de temps Calcul : 1 unité de temps Calcul : 1 unité de temps Processus P3 : Calcul : 2 unités de temps E/S : 3 unités de temps
Processus P4 : Calcul : 7 unités de temps
Calcul : 2 unités de temps
On considère que l'ordonnancement sur le processeur se fait selon une politique FIFO : le processus élu à un instant t est celui qui est le plus anciennement dans l'état prêt. L'ordre de soumission des processus est P1, puis P2, puis P3, puis P4. A l'instant 0, le processus 1 est servi par le processeur, le processus 2 est en tête de file d'attente (état prêt), suivi du processus 3 puis du processus 4.), On considère que l'ordre de services des requêtes d'E/S pour le disque se fait selon une politique FIFO 1. Sur le graphique suivant, donnez le chronogramme d'exécution des 4 processus P1, P2, P3 et P4. Vous distinguerez les états des processus : Prêt, Actif et Bloqué Pour vous guider, la première unité de temps est déjà portée sur le chronogramme. Justifiez votre raisonnement, en expliquant la gestion des files d’attentes et les transitions des processus. 2. Donnez le temps de réponse moyen obtenu.
1/3
IGA-Rabat
2010-2011
EXERCICE 2 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). 1) Citez deux problèmes qui peuvent survenir si la file contient des éléments identiques (deux ou plusieurs pointeurs égaux). 2) 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.
2/3
IGA-Rabat
2010-2011
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 virement (temps moyen de séjour).
EXERCICE 3 : Un ordonnanceur avec quanta et priorités dynamiques On considère une machine dont l’ordonnanceur de processus possède les caractéristiques suivantes : – les priorités des processus varient dynamiquement de 1 à 4, où 1 dénote la plus faible priorité ; quand un processus ne consomme pas entièrement son quantum, sa priorité est décrémentée ; – les quanta varient dynamiquement de 1 à 4 unités de temps (UT) ; quand un processus ne consomme pas entièrement son quantum, son quantum est décrémenté ; – le temps de commutation de contexte est de 1 unité de temps ; une commutation de contexte correspondant au chargement du contexte du premier processus est nécessaire entre l’instant 0 et l’instant 1 ; si l’ordonnanceur ne change pas de processus, il n’a pas besoin de commutation de contexte ; – le temps d’exécution de l’algorithme d’ordonnancement est négligeable. On considère 3 processus P1, P2 et P3 qui ont les caractéristiques suivantes : – P1 arrive à l’instant 0 et requiert 8 unités de temps pour son exécution ; il provoque au cinquième instant de son exécution une Entrée-Sortie (E/S) qui dure 8 UT ; sa priorité initiale est de 3 et son quantum initial de 2 ; – P2 arrive lui aussi à l’instant 0 et requiert aussi 8 UT ; il provoque aussi au cinquième instant de son exécution une E/S qui dure 3 UT ; sa priorité initiale est de 2 et son quantum initial de 3 ; – P3 arrive lui à l’instant 4 avec une priorité initiale de 4 et un quantum initial de 4 ; il requiert lui aussi 8UT ; il provoque deux E/S : la première à l’instant 5 de son exécution dure 5 UT et la seconde à l’instant 7 de son exécution dure 9 UT. 1. 2. 3.
Donner le chronogramme d’exécution des 3 processus. Calculer le temps d’attente pour chaque processus puis le temps d’attente moyen. Combien de fois, et à quels instants, l’ordonnanceur s’est-il exécuté ? Ces informations peuvent-être ajoutées sur le chronogramme.
3/3