1BTS DSI
- SERIE 1 : Systèmes d’exploitation Ordonnancement des processus
Exercice 1 3 processus dont les temps d’exécution sont de 5, 2 et 12 minutes doivent être lancés sur un système de traitement par lots (non interactif et sans temps partagé). 1. Dans quel ordre doivent-ils être lancés pour que le temps d’attente moyen soit minimum? 2. D’une manière générale, comment faut-il choisir le prochain processus (parmi les processus prêts) pour minimiser le temps d’attente moyen? 3. Cet algorithme a un gros défaut, lequel à votre avis (indication : on appelle cela la famine). Exercice 2 5 processus sont lancés pratiquement simultanément sur un ordinateur. Leurs temps d’exécution sont respectivement de 10, 6, 2, 4 et 8 minutes (dans l’ordre d’arrivée). Calculer le temps d’attente moyen pour les algorithmes d’ordonnancement suivants : – FIFO – Tourniquet – Priorités fixes (priorités respectives des processus : 3, 5, 2, 1, 4) – L’algorithme solution de l’exercice précédent On négligera le temps de commutation. Exercice 3 1. Simulez l’algorithme d’ordonnancement circulaire (tourniquet) avec les 3 processus suivants : – P1: exécution 10ms, puis sommeil pendant 35ms puis exécution pendant 15ms ; – P2: exécution 15ms, puis sommeil pendant 15ms puis exécution pendant 8ms ; – P3: exécution 10ms, puis sommeil pendant 23ms puis exécution pendant 15ms. Au départ, la liste des processus prêts est P1 P2 P3. Le quantum vaut 10ms, on négligera le temps de commutation et on suppose que les processus réveillés sont placés en début de la liste des processus prêts. 2. Même chose, mais avec des priorités statiques. Priorité de P2 = 2 = priorité de P3 et priorité de P1 = 1. Exercice 4 Les processus suivants sont tous crées à l'instant 0 et on suppose avoir leur temps d'exécution total ainsi que leurs priorités : Processus Temps en cycle priorité P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 Une grande priorité est associée à un petit chiffre.
Par H. MACHHOUR
1. Dessinez les diagrammes de Gantt qui illustre l'exécution pour les ordonnancements FCFS, SJF, prioritaire puis FCFS, SJF raffinés par la priorité. 2. Calculer le temps d'exécution moyen dans chaque cas. 3. Calculer le temps de réponse moyen dans chaque cas. Exercice 5 Un système d’exploitation utilise 3 niveaux de priorité (par ordre croissant). Le processus se voit affecter un niveau fixe. Les processus entrent dans la file d’attente correspondant à leur priorité. Chaque file est gérée par un tourniquet avec un quantum de 2. Une file de niveau n n’est activée que si toutes les files de niveaux supérieures sont vides. 1. donnez un schéma d’exécution (en appliquant l’algorithme du tourniquet) dans le cas suivant :
Processus Durée Date d’arrivée Priorité
P1 7 0 2
P2 4 0 3
P3 6 1 1
P4 1 1 2
P5 2 1 3
P6 4 2 1
P7 1 2 2
2. donner le temps moyen de traitement. 3. On se propose maintenant que la priorité n’est pas fixe. Toutes le 2 unités de temps, tout processus n’ayant pas disposé de l’UC monte d’un niveau, alors que ceux en ayant disposé 2 fois en descendent. − Donner le nouveau schéma d’exécution.