Exercice 1 Chacun des programmes en cours dexécution dun système multitâche est associé à une lettre majuscule de lalphabet. Les temps dexécution prévus sont donnés par les suites de lettres "AAAAAAAAA", "BBBB", "CCC" ; ainsi, par exemple, lexécution complète du programme "B" nécessite quatre unités de temps.
La série de lettres "ABAAAABAACABCACB" indique lutilisation des unités de temps du processeur.
Dans cet exemple, le programme "A" démarre en premier puis le programme "B" est activé; ensuite, le programme "A" poursuit son exécution pendant quatre unités de temps, etc. Chaque programme démarre au moment de la première apparition de sa lettre et attend tant quil nest pas terminé et quun autre programme est actif. Dans lexemple précédent, combien de temps les trois programmes ont-ils attendu au total total (unités (unités de temps) en justifiant votre approche de calcul ? 1 A B C
2
3
4
5
6
7
8
9
10
11
12
13
14
15
15
16
Attente
Exercice 2 Soit TS le temps de service d'un travail (job), c'est à dire le temps écoulé entre la soumission du travail et sa fin. On considère un système de traitement séquentiel (batch) dans lequel quatre travaux arrivent dans l'ordre suivant : N°
du JOB Instant d'arrivée 1 0 2 1 3 2 4 3
Durée 8 4 9 5
a- Donner le TS moyen dans le cas où l'on adopte la politique PAPS (Premier Arrivé, Premier Servi, ou encore FCFS, Fist Come Fisr tServ ed) b- Donner le TS moyen dans le cas où l'on adopte la politique préemptive : PCA (le plus court d'abord, ou encore SJF, Shor test Job First )
Exercice 3 (Quantum de temps) Dans le cas de la stratégie d'allocation du processeur avec recyclage (algorithme du tourniquet, ou encore algorithme du quantum de temps), indiquer quels sont les effets des choix suivants pour le quantum q, sachant que s est le temps de changement de contexte et que t est le temps moyen d'utilisation du processeur entre deux événements bloquants (t >> s et [epsilon] << s) : 1. q = [infini] 2. q = [epsilon] 3. q = s 4. q = t 5. s < q t Pour chaque question, étudier les cas où s compris dans le quantum ou non.
Exercice 4 Un processeur a une vitesse de traitement de 0,5 Mips. Sa politique d'ordonnancement est RR avec un quantum q. q est très inférieur au temps de service S (q<
Un
petit problème
Calculer les temps d'attente moyen ainsi que le temps de rotation moyen pour chaque scénario.
Réponse de lexercice 3 : 1. Le processus garde le processeur tant qu'il en a besoin (comme FCFS,Fist Come Fisr tServ ed ), 2. Le processus ne fait presque rien entre chaque changement de contexte, progression très lente. Si s est compté dans q, aucun processus n'est exécuté. 3. Si s est compris dans q, il ne se passe rien, sinon exécution pendant au plus s, 4. Le quantum a tendance à favoriser les processus orientés entrées-sorties, 5. Le quantum est quelconque, 6. Le quantum favorise les processus qui ne font que du calcul. Rappels sur les algorithmes dordonnancement FCFS (First Come First Serve), premier arrivé premier servi. Dans un système à ordonnancement non préemptif ou sans réquisition, le système d'exploitation choisit le prochain processus à exécuter, en général, le Premier Arrivé est le Premier Servi PAPS (ou FCFS First-Come First-Served) ou le plus court d'abord ( SJF Short Job First). Il lui alloue le processeur jusqu'à ce qu'il se termineou il se bloque (en attente d'un événement). Il n'y a pas de réquisition.
SJF (Short Job First), plus court d'abord Si l'ordonnanceur fonctionne selon la stratégie SJF, il choisit parmi le lot de processus à exécuter, le
plus court d'abord (plus petit temps d'exécution). Cette stratégie est bien adaptée au traitement par lots de processus dont lestemps maximaux d'exécution sont connus ou fixés par les utilisateurs car elle offre un meilleur temps moyen deséjour. Le temps de séjour d'un processus (temps de rotation ou de virement) est l'intervalle de temps entre la soumission du processus et son achèvement.
SRT (ShortestRemaining Time), plus petit temps de séjour L'ordonnancement du plus petit temps de séjour ou ShortestRemaining Time est la version préemptive del'algorithme SJF. Un processus arrive dans la file de processus, l'ordonnanceur compare la valeur espérée pour ceprocessus contre la valeur du processus actuellement en exécution. Si le temps du nouveau processus est pluspetit, il rentre en exécution immédiatement.
RR (Round Robin), algorithme circulaire L'algorithme du tourniquet, circulaire ou round robin est un algorithme ancien, simple, fiable et très utilisé. Il mémorise dans une file du type FIFO ( First In First Out) la liste des processus prêts, c'est à dire, en attente d'exécution. Il alloue le processeur au processus en tête de file, pendant un quantum de temps. Si le processus se bloque ou se termine avant la fin de son quantum, le processeur est immédiatement alloué à un autre processus (celui en tête de file). Si le processus ne se termine pas au bout de son quantum, son exécution est suspendue. Le processeur est alloué à un autre processus (celui en tête de file). Le processus suspendu est inséré en queue de file. Les processus qui arrivent ou qui passent de l'état bloqué à l'état prêt sont insérés en queue de file.
PRI (Priorités, sans évolution) L'ordonnanceur à priorité attribue à chaque processus une priorité. Le choix du processus à élire dépend despriorités des processus prêts. Les processus de même priorité sont regroupés dans une file du type FIFO. Il y aautant de files qu'il y a de niveaux de priorité. L'ordonnanceur choisit le
processus le plus prioritaire qui se trouveen tête de file. En général, les processus de même priorité sont ordonnancés selon l algorithme du tourniquet.