1 Ordonnancement Processus Chapitre 6

Click here to load reader

  • date post

    03-Apr-2015
  • Category

    Documents

  • view

    108
  • download

    1

Embed Size (px)

Transcript of 1 Ordonnancement Processus Chapitre 6

  • Page 1
  • 1 Ordonnancement Processus Chapitre 6 http://w3.uqo.ca/luigi/
  • Page 2
  • Ch. 62 Aperu du chapitre n Concepts de base n Critres dordonnancement n Algorithmes dordonnancement n Ordonnancement de multiprocesseurs n Ordonnancement temps rel n valuation dalgorithmes
  • Page 3
  • Importance des concepts de ce chapitres n Les mthodes dordonnancement ont des nombreuses applications u Et ont t trs tudies,surtout avec des mthodes probabilistes et de simulation n Non seulement en informatique, mais aussi en gestion: u Supposons quon parle de diffrents tches excuter dans une usine dans laquelle il y a des ressources qui sont des ouvriers et des outils Ch. 63
  • Page 4
  • 4 Diagramme de transition d`tats d`un processus
  • Page 5
  • Ch. 65 Files dattente de processus pour ordonnancement file prt Nous ferons lhypothse que le premier processus dans une file est celui qui utilise la ressource: ici, proc7 excute. Nous dbuterons avec lhypothse quil ny a quune seule UCT
  • Page 6
  • Ch. 66 Concepts de base n La multiprogrammation vise obtenir une u utilisation optimale des ressources u et aussi un bon temps de rponse pour lusager n L UCT est la ressource la plus prcieuse dans un ordinateur, donc nous parlons delle u cependant, les principes que nous verrons sappliquent aussi lordonnancement des autres ressources (units E/S, etc). n L`ordonnanceur UCT est la partie du SE qui dcide quel processus dans la file ready/prt obtient lUCT quand elle devient libre
  • Page 7
  • Ch. 67 Les cycles dun processus n Cycles (bursts) dUCT et E/S: lactivit dun processus consiste de squences dexcution sur UCT et dattentes: - dE/S ou de synchronisation avec autres processus
  • Page 8
  • Longueur normale des cycles n tant donn la grande vitesse de lUCT par rapport aux priphriques, la plupart des cycles dUCT seront trs courts n Cependant il pourrait y avoir des longs cycles dUCT quand on demandera des calculs pousss u Calculs scientifiques etc Ch. 68
  • Page 9
  • 9 n Observation exprimentale: u dans un systme typique, nous observerons un grand nombre de court cycles dUCT, et un petit nombre de long cycles n Les programmes tributaires de lUCT auront normalem. un petit nombre de long cycles UCT n Les programmes tributaires de lE/S auront normalem. un grand nombre de court cycles UCT Histogramme de dure des cycles UCT
  • Page 10
  • Ch. 610 Quand invoquer lordonnanceur UCT n L ordonnanceur UCT doit prendre sa dcision chaque fois que le processus excutant est interrompu, ce-.-d. 1. un processus se prsente en tant que nouveau ou se termine 2. un processus excutant devient bloqu en attente 3. un processus change dexcutant/running prt/ready 4. un processus change de attente prt/ready tout vnement dans un systme qui cause une interruption de lUCT implique lintervention de lordonnanceur, qui devra prendre une dcision concernant quel proc ou thread aura lUCT aprs n Premption: on a premption si on enlve lUCT un processus qui lavait et ne la pas laisse de propre initiative u P.ex. premption dans le cas 3, pas de premption dans le cas 2 n Plusieurs pbs rsoudre dans le cas de premption, v. manuel
  • Page 11
  • Ch. 611 Dispatcheur (meilleur franais: rpartiteur) n Le processus qui donne le contrle au processus choisi par lordonnanceur. Il doit se proccuper de: u changer de contexte u changer mode usager u ramorcer le processus choisi n Attente de dispatcheur (dispatcher latency) u le temps ncessaire pour excuter les fonctions du dispatcheur u il est souvent nglig, il faut supposer quil soit petit par rapport la longueur dun cycle
  • Page 12
  • Ch. 612 Critres dordonnancement n Il y aura normalement plusieurs processus dans la file prt n Quand lUCT devient disponible, lequel choisir? n Critres gnraux: u Bonne utilisation de lUCT u Rponse rapide lusager n Mais ces critres peuvent tre jugs diffremment...
  • Page 13
  • Ch. 613 Critres spcifiques dordonnancement n Utilisation UCT: pourcentage dutilisation n Dbit = Throughput: nombre de processus qui compltent dans lunit de temps n Temps de rotation = turnaround: le temps pris par un proc de son arrive sa termin. n Temps dattente: attente dans la file prt (somme de tout le temps pass en file prt) n Temps de rponse: le temps entre une demande de lusager et la rponse
  • Page 14
  • Ch. 614 Critres dordonnancement: maximiser/minimiser n Utilisation UCT: pourcentage dutilisation u maximiser n Dbit = Throughput: nombre de processus qui compltent dans l unit de temps u maximiser n Temps de rotation (turnaround): temps terminaison moins temps arrive u minimiser n Temps dattente: attente dans la file prt u minimiser n Temps de rponse (pour les systmes interactifs): le temps entre une demande et la rponse u minimiser
  • Page 15
  • Ch. 615 Examinons maintenant plusieurs mthodes dordonnancement et voyons comment elles se comportent par rapport ces critres nous tudierons des cas spcifiques ltude du cas gnral demanderait recours techniques probabilistes ou de simulation
  • Page 16
  • Ch. 616 Premier arriv, premier servi (First come, first serve, FCFS) Exemple:Processus Temps de cycle P124 P2 3 P3 3 Si les processus arrivent au temps 0 dans lordre: P1, P2, P3 Le diagramme Gantt est: Temps dattente pour P1= 0; P2= 24; P3= 27 Temps attente moyen: (0 + 24 + 27)/3 = 17 P1P1 P2P2 P3P3 2427300
  • Page 17
  • Ch. 617 Premier arrive, premier servi n Utilisation UCT = 100% n Dbit = 3/30 = 0,1 u 3 processus complts en 30 units de temps n Temps de rotation moyen: (24+27+30)/3 = 27 P1P1 P2P2 P3P3 2427300
  • Page 18
  • Ch. 618 Tenir compte du temps darrive! n Dans le cas o les processus arrivent moment diffrents, il faut soustraire les temps darrive n Exercice: rpter les calculs si: u P1 arrive temps 0 et dure 24 u P2 arrive temps 2 et dure 3 u P3 arrive temps 5 et dure 3 n Donc P1 attend 0 comme avant n Mais P2 attend 24-2, etc. P1P1 P2P2 P3P3 2427300 arrive P2
  • Page 19
  • Ch. 619 FCFS Scheduling (Cont.) Si les mmes processus arrivent 0 mais dans lordre P 2, P 3, P 1. Le diagramme de Gantt est: n Temps dattente pour P 1 = 6 P 2 = 0 P 3 = 3 n Temps moyen dattente: (6 + 0 + 3)/3 = 3 tait 17 n Temps de rotation moyen: (3+6+30)/3 = 13 tait 27 n Beaucoup mieux! n Donc pour cette technique, les temps peuvent varier grandement par rapport lordre darrive de diffrent processus n Exercice: calculer aussi le dbit, etc. P1P1 P3P3 P2P2 63300
  • Page 20
  • Ch. 620 Effet daccumulation (effet convoi) dans FCFS n Supposons (situation normale) u un processus tributaire de lUCT (cycles longs) u et plusieurs tributaires de l`E/S (cycles courts) n Les processus tributaires de lE/S attendent lUCT: E/S sous- utilise (*) n Le processus tributaire de lUCT fait une E/S: les autres proc excutent rapidement leur cycle UCT et retournent sur lattente E/S (convoi qui passe) : UCT sous-utilise n Processus tributaire de lUCT finit son E/S, puis les autres aussi: retour la situation (*) n Donc dans ce sens FCFS favorise les procs tributaires de lUCT n Et peut conduire une mauvaise utilisation des ressources sil y a apport continu de procs longs=tributaires de lUCT u Tant dUCT que de priphriques n Une possibilit: interrompre de temps en temps les proc tributaires de lUCT pour permettre aux autres procs dexcuter (premption) u On fait a
  • Page 21
  • Ch. 621 Plus Court dabord = Shortest Job First (SJF) n Le processus qui demande moins dUCT part le premier n Optimal en principe du point de vue du temps dattente moyen u (v. le dernier exemple) n Mais comment savons-nous quel processus demande moins dUCT! u Supposons pour linstant quon puisse P1P1 P3P3 P2P2 63300
  • Page 22
  • Ch. 622 SJF avec premption ou non n Avec premption: u si un processus qui dure moins que le restant du processus courant se prsente plus tard, u lUCT est enleve au proc courant et donne ce nouveau processus F SRTF: shortest remaining-time first n Sans premption: on permet au processus courant de terminer son cycle
  • Page 23
  • Ch. 623 ProcessusArriveCycle UCT P 1 07 P 2 24 P 3 41 P 4 54 n SJF (sans premption) n Temps dattente moyen = (0+(8-2)+(7-4)+(12-5))/4 (0 + 6 + 3 + 7)/4 = 4 n Temps de rotation moyen = (7+(12-2)+(8-4)+(16-5)) /4 = 8 Example de SJF sans premption P1P1 P3P3 P2P2 7160 P4P4 812 P 2 arr. P 3 arr. P 4 arr
  • Page 24
  • Ch. 624 Exemple de SJF avec premption ProcessusArriveCycle P 1 07 P 2 24 P 3 41 P 4 54 n SJF (premptive) n Temps moyen d`attente = (9 + 1 + 0 +2)/4 = 3 tait 4 u P1 attend de 2 11, P2 de 4 5, P4 de 5 7 n Temps de rotation moyen = 16+ (7-2) + (5-4) + (11-5) = 7 tait 8 P1P1 P3P3 P2P2 4 2 11 0 P4P4 57 P2P2 P1P1 16 P 2 arr. P 3 arr. P 4 arr
  • Page 25
  • Plus en dtail: file prt n Temps des interruptions n Temps 0: u Le seul proc est P1, il est choisi n Temps 2: Interruption cause par larrive de P2 u Deux procs dans la file: P1 qui demande encore 5 et P2 qui demande 4: ce dernier est choisi n Temps 4: Interruption cause par larrive de P3 u Trois procs dans la file: P1=5, P2=2, P3=1: ce dernier est choisi n Etc: complter comme exercice Ch. 625
  • Page 26
  • Premption ou non n La premption est le cas normal pour lUCT car larrive dun nouveau proc cause une interruption et ce moment l u lordonnanceur devra prendre une dcision sur le prochain proc excuter n Mais dans quelques ressources la premption est impossib