Ordonnancement ‘‘SJF’’ Findik Dervis
Introduction <ul><li>SJF :  S hortest  J ob  F irst </li></ul><ul><li>Principe : </li></ul><ul><ul><li>Associer à chaque p...
SJF Non préemptif <ul><li>Lorsque le CPU est donné à un processus, ce dernier ne peut être interrompu avant la fin de son ...
SJF Non préemptif <ul><li>Exemple : </li></ul>Processus Temps d’arrivé Temps CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 P 1 P...
SJF Préemptif <ul><li>SRIF :  S hortest  R emaining  T ime  F irst  </li></ul><ul><li>Au départ, le CPU est donné aux proc...
SJF Préemptif <ul><li>Exemple : </li></ul>Processus Temps d’arrivé Temps CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 P 1 P 3 P...
Temps d’attente ? <ul><li>SJF Non Préemptif :  (0+(8-2)+(7-4)+(12-5))/4 = 4 </li></ul><ul><li>SJF Préemptif :  (9 + 1 + 0 ...
Temps CPU à estimer ? <ul><li>Déterminer  estimer le prochain temps CPU d’un processus à partir de son passé </li></ul><ul...
SJF en détail … <ul><li>4 processus lancés en même temps </li></ul><ul><li>Temps CPU au départ estimé à 10 unités de temps...
Récapitulatif <ul><li>L’ordonnanceur SJF donne une priorité aux processus selon leurs (prochain) temps CPU  </li></ul><ul>...
Prochain SlideShare
Chargement dans…5
×

Ordonnancement SJF

5 360 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
5 360
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Ordonnancement SJF

  1. 1. Ordonnancement ‘‘SJF’’ Findik Dervis
  2. 2. Introduction <ul><li>SJF : S hortest J ob F irst </li></ul><ul><li>Principe : </li></ul><ul><ul><li>Associer à chaque processus son prochain temps d’utilisation CPU (= priorité). </li></ul></ul><ul><ul><li>Choisir le processus avec le plus petit temps CPU </li></ul></ul><ul><li>Deux schémas : </li></ul><ul><ul><li>Non préemptif </li></ul></ul><ul><ul><li>Préemptif </li></ul></ul>
  3. 3. SJF Non préemptif <ul><li>Lorsque le CPU est donné à un processus, ce dernier ne peut être interrompu avant la fin de son temps CPU. </li></ul><ul><li>Risque de famine pour les processus longs </li></ul>
  4. 4. SJF Non préemptif <ul><li>Exemple : </li></ul>Processus Temps d’arrivé Temps CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 P 1 P 3 P 2 7 3 16 0 P 4 8 12
  5. 5. SJF Préemptif <ul><li>SRIF : S hortest R emaining T ime F irst </li></ul><ul><li>Au départ, le CPU est donné aux processus dans la file (méthode FCFS) </li></ul><ul><li>Lorsque le processus rend le CPU, on estime son prochain de temps CPU </li></ul><ul><li>Si un nouveau processus arrive avec un temps CPU plus petit que le reste du temps CPU du processus courant, on commute vers celui-ci </li></ul><ul><li>Risque de famine pour les processus longs </li></ul>
  6. 6. SJF Préemptif <ul><li>Exemple : </li></ul>Processus Temps d’arrivé Temps CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 P 1 P 3 P 2 4 2 11 0 P 4 5 7 P 2 P 1 16
  7. 7. Temps d’attente ? <ul><li>SJF Non Préemptif : (0+(8-2)+(7-4)+(12-5))/4 = 4 </li></ul><ul><li>SJF Préemptif : (9 + 1 + 0 +2)/4 = 3 P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7 </li></ul>Processus Temps d’arrivé Temps CPU P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 P 1 P 3 P 2 7 3 16 0 P 4 8 12 P 1 P 3 P 2 4 2 11 0 P 4 5 7 P 2 P 1 16
  8. 8. Temps CPU à estimer ? <ul><li>Déterminer estimer le prochain temps CPU d’un processus à partir de son passé </li></ul><ul><li>Formule : </li></ul><ul><ul><li> n+1 =  t n + (1 -  )  n </li></ul></ul><ul><ul><ul><li> n+1  prochain temps CPU </li></ul></ul></ul><ul><ul><ul><li> n  temps CPU estimé au dernier passage </li></ul></ul></ul><ul><ul><ul><li>  taux de pondération C </li></ul></ul></ul><ul><ul><ul><ul><li>choisit par l’ordonnanceur </li></ul></ul></ul></ul><ul><ul><ul><ul><li>0 <  < 1 </li></ul></ul></ul></ul><ul><ul><ul><li>t n  temps CPU réel au dernier passage </li></ul></ul></ul>
  9. 9. SJF en détail … <ul><li>4 processus lancés en même temps </li></ul><ul><li>Temps CPU au départ estimé à 10 unités de temps (  0 = 10) </li></ul><ul><li>Taux de pondération ½ (  = ½) </li></ul><ul><li>Un processus ne peut pas être élus successivement </li></ul>
  10. 10. Récapitulatif <ul><li>L’ordonnanceur SJF donne une priorité aux processus selon leurs (prochain) temps CPU </li></ul><ul><li>Le CPU est donné au processus de plus grande priorité = processus avec le plus petit temps CPU </li></ul><ul><li>Connaître le temps CPU de chaque processus </li></ul><ul><li>Difficulté de déterminer le prochain temps CPU pour les processus </li></ul><ul><li>Famine, les processus longs peuvent ne jamais être exécuté </li></ul><ul><li>Efficace pour les processus dont on connaît la longueur </li></ul><ul><li>Ordonnanceur optimal, le temps d’attente moyenne des processus est minime </li></ul>

×