Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des...

24
Ordonnancement L ’Ordonnancement

Transcript of Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des...

Page 1: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

L ’Ordonnancement

Page 2: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

L’Ordonnancement

Programme de base des systèmes multi-programmés

Un processeur -- Un processus Plusieurs processus en Mémoire

Page 3: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Principe

Un processus en exécution Dés qu’il doit attendre (E/S)

– CPU inactive pour ce processus– processus suspendu– un autre processus s’exécute

Page 4: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

L’Ordonnanceur de CPU

CPU libre :– Il choisit le processus suivant parmi les

processus prêts Ordonnanceur à court terme

Page 5: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Circonstances où l'Ordonnanceur intervient :

1 exécution -> attente (E/S)

2 exécution -> prêt

3 attente -> prêt

4 fin d’un processus

Page 6: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Ordonnanceur sans pré-emption :

1 exécution -> attente (E/S)

2 exécution -> prêt

3 attente -> prêt

4 fin d’un processus

Pas de Choix

Page 7: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Ordonnanceur avec pré-emption :

1 exécution -> attente (E/S)

2 exécution -> prêt

3 attente -> prêt

4 fin d’un processus

Horloge

Page 8: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Critères

Utilisation de la CPU Nombre de process / temps Temps d’exécution

– temps réel qu’il faut a un process pour s’exécuter

Temps d’attente– temps passé dans l’état prêt

Temps de réponse– temps entre la soumission et la 1ere réponse

Page 9: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Objectifs

Maximiser 1 et 2 Minimiser 3, 4 et 5 Systèmes interactif :

– Minimiser la variance du temps de réponses plutôt que de minimiser le temps lui-même.

– Temps prévisible plutôt que plus rapide mais plus variable

Page 10: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Algorithme Fifo sans pré-emption Files d’attente FIFO Temps d’attente assez long en

moyenneProcess Temps d’exec Temps

d’attenteP1 24 0

P2 3 24P3 3 27

Moyenne 17

Page 11: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Plus court d’abord

Le temps CPU du dernier passage est conservé

Le suivant est celui de la liste que a utilisé le moins la CPU la dernière fois

Page 12: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Plus court-d’abord

Ordonnanceur à long terme :– Chaque utilisation doit estimer le temps

d ’exécution du programme– En cas de dépassement :

• le travail est arrêté et repris plus tard ( sur facturation )

Page 13: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Plus court-d’abord

Ordonnanceur à court terme :– Prochain temps d ’utilisation de la CPU

inconnu– Prédiction :

nnn t )1(1

Page 14: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Avec pré-emption

Plus court sortant en premier

Si un processus arrive dans la file “prêt” avec un temps inférieur à celui qui s’exécute, la CPU lui est donnée

Page 15: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Ordonnancement avec priorité

Chaque processus possède une priorité La CPU est donnée à celui qui possède

la plus grande priorité Exemple : plus court d’abord

– priorité = inverse du prochain temps CPU

Page 16: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Ordonnancement avec priorité

Priorité acquises – La commande « nice » d ’UNIX

Priorité calculée par le SE Mixture des 2

Page 17: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Ordonnancement avec priorité

Sans pré-emption– le nouveau processus est inséré dans la

liste « prêt » ordonnée par priorité Pré-emption

– la CPU est réquisitionnée si le nouveau processus a une priorité plus grande que celui qui s ’exécute

Page 18: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Ordonnancement avec priorité

La problème de la famine – il y a toujours plus prioritaire– solution :

• tenir compte de « l’age » du processus dans le calcul de sa priorité.

• exemple : intégrer le rapport entre le temps d ’attente et le temps CPU

Page 19: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Le Tourniquet

Ordonnancement à court terme avec pré-emption

Le processus est interrompu au bout d’un quantum et un autre prends sa place

La liste prêt est une liste FIFO

Page 20: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Le Tourniquet

S o u m i s s i o n F i nC P U

R é q u i s i t i o n

Page 21: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Le Tourniquet

Les performances dépendent de la valeur du quantum– trop élevée : FIFO– trop courte : perte de temps dans le

changement d’activité• exemple : si le changement d ’activité prends

10% d ’un quantum , la CPU sera utilisée qu’à 90%.

Page 22: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Le Tourniquet Multi-niveau

Temps de réponse demandés différents selon les processus

Classement des processus – exemple

• background• foreground

Page 23: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Le Tourniquet Multi-niveau Première solution

– Plusieurs files : une par classe– La file des processus en avant-plan est

prioritaire Deuxième solution

– Les quanta sont différents selon la classe du processus

• 80% pour les avant-plan• 20% pour les arrières-plan

Page 24: Ordonnancement L ’Ordonnancement. Ordonnancement L’Ordonnancement n Programme de base des systèmes multi-programmés n Un processeur -- Un processus n.

Ordonnancement

Tourniquet Multi-niveau II

Arrivée Sortie

niveau 0

niveau 1

niveau 2

niveau n-1

niveau n