M1105 Système d’exploitation - univ-amu.fr...M1105 Système d’exploitation > Problème...

Post on 20-Feb-2021

12 views 0 download

Transcript of M1105 Système d’exploitation - univ-amu.fr...M1105 Système d’exploitation > Problème...

M1105Système d’exploitationOrdonnancement

Éric WürbelIUT R & T 1reannée

M1105 Système d’exploitation

> Plan

Plan

1 Problème d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

2

M1105 Système d’exploitation

> Problème d’ordonnancement

Plan

1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

3

M1105 Système d’exploitation

> Problème d’ordonnancement

Plan

1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

4

M1105 Système d’exploitation

> Problème d’ordonnancement

Contexte

MultiprogrammationPlusieurs processus en mémoire.

I Plusieurs processus peuvent vouloir accéder à une même ressourcesimultanément.

I Nécessité de gérer une file d’attente.

OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.

Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution

5

M1105 Système d’exploitation

> Problème d’ordonnancement

Contexte

MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource

simultanément.

I Nécessité de gérer une file d’attente.

OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.

Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution

5

M1105 Système d’exploitation

> Problème d’ordonnancement

Contexte

MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource

simultanément.I Nécessité de gérer une file d’attente.

OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.

Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution

5

M1105 Système d’exploitation

> Problème d’ordonnancement

Contexte

MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource

simultanément.I Nécessité de gérer une file d’attente.

OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.

Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution

5

M1105 Système d’exploitation

> Problème d’ordonnancement

Contexte

MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource

simultanément.I Nécessité de gérer une file d’attente.

OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.

Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution

5

M1105 Système d’exploitation

> Problème d’ordonnancement

État d’un processus

Prêt

Exécution

En Attente

requête E/S

fin d’E/S(interruption)

interruption

ordonnanceur

6

M1105 Système d’exploitation

> Problème d’ordonnancement

Ordonnancement

ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :

I jusqu’à ce qu’il se termineI jusqu’à qu’il fasse une E/SI jusqu’à ce que l’OS décide que ce n’est plus son tour

7

M1105 Système d’exploitation

> Problème d’ordonnancement

Ordonnancement

ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :I jusqu’à ce qu’il se termine

I jusqu’à qu’il fasse une E/SI jusqu’à ce que l’OS décide que ce n’est plus son tour

7

M1105 Système d’exploitation

> Problème d’ordonnancement

Ordonnancement

ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :I jusqu’à ce qu’il se termineI jusqu’à qu’il fasse une E/S

I jusqu’à ce que l’OS décide que ce n’est plus son tour

7

M1105 Système d’exploitation

> Problème d’ordonnancement

Ordonnancement

ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :I jusqu’à ce qu’il se termineI jusqu’à qu’il fasse une E/SI jusqu’à ce que l’OS décide que ce n’est plus son tour

7

M1105 Système d’exploitation

> Problème d’ordonnancement

Contraintes

I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.

I La commutation de contexte a un coût :

I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)I Chargement du nouveau contexte

8

M1105 Système d’exploitation

> Problème d’ordonnancement

Contraintes

I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.

I La commutation de contexte a un coût :

I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)I Chargement du nouveau contexte

8

M1105 Système d’exploitation

> Problème d’ordonnancement

Contraintes

I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.

I La commutation de contexte a un coût :I Exécution de la procédure d’ordonnancement

I Sauvegarde du contexte (registres)I Chargement du nouveau contexte

8

M1105 Système d’exploitation

> Problème d’ordonnancement

Contraintes

I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.

I La commutation de contexte a un coût :I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)

I Chargement du nouveau contexte

8

M1105 Système d’exploitation

> Problème d’ordonnancement

Contraintes

I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.

I La commutation de contexte a un coût :I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)I Chargement du nouveau contexte

8

M1105 Système d’exploitation

> Problème d’ordonnancement

Quand ?

Ordonnancer quand :I le processus en exécution se termine

I un nouveau processus passe en état prêtI un processus en attente passe en état prêtI Le processus en exécution a épuisé son temps

9

M1105 Système d’exploitation

> Problème d’ordonnancement

Quand ?

Ordonnancer quand :I le processus en exécution se termineI un nouveau processus passe en état prêt

I un processus en attente passe en état prêtI Le processus en exécution a épuisé son temps

9

M1105 Système d’exploitation

> Problème d’ordonnancement

Quand ?

Ordonnancer quand :I le processus en exécution se termineI un nouveau processus passe en état prêtI un processus en attente passe en état prêt

I Le processus en exécution a épuisé son temps

9

M1105 Système d’exploitation

> Problème d’ordonnancement

Quand ?

Ordonnancer quand :I le processus en exécution se termineI un nouveau processus passe en état prêtI un processus en attente passe en état prêtI Le processus en exécution a épuisé son temps

9

M1105 Système d’exploitation

> Problème d’ordonnancement

Plan

1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

10

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

0 1 2 3 4 5 6

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Diagramme de Gantt

DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

11

M1105 Système d’exploitation

> Problème d’ordonnancement

Plan

1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

12

M1105 Système d’exploitation

> Problème d’ordonnancement

Objectifs de l’ordonnancement

ÉquitableTous les processus ont accès aux ressources dont ils ont besoin, enfonction de leur priorité.

EfficaceBonne répartition entre les processus E/S et calcul

RéactifLimiter le temps d’attente des processus

13

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères I

ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère

Taux d’utilisationProportion de temps pendant lequel la ressource est utilisée.

DébitNombre moyen de processus traités par unité de temps

14

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères I

ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère

Taux d’utilisationProportion de temps pendant lequel la ressource (en l’occurrence leCPU) est utilisée.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

taux = 56 = 83%

à maximiser

DébitNombre moyen de processus traités par unité de temps

14

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères I

ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère

Taux d’utilisationProportion de temps pendant lequel la ressource (en l’occurrence leCPU) est utilisée.

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

taux = 56 = 83%

à maximiser

DébitNombre moyen de processus traités par unité de temps

14

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères I

ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère

Taux d’utilisationProportion de temps pendant lequel la ressource est utilisée.

DébitNombre moyen de processus traités par unité de temps

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

débit = 36 = 0.5

à maximiser

14

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)

I Critère min-max : Algorithme qui minimise l’attente max

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

attente = 1+0+33 = 1.33

à minimiser

I Critère min-max : Algorithme qui minimise l’attente max

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

attente = 1+0+33 = 1.33

à minimiser

I Critère min-max : Algorithme qui minimise l’attente max

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)I Critère min-max : Algorithme qui minimise l’attente max (celle du

processus qui a le plus attendu)

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)I Critère min-max : Algorithme qui minimise l’attente max

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

max = 3à minimiser

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)I Critère min-max : Algorithme qui minimise l’attente max

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

max = 3à minimiser

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.

RotationDurée d’un processus : date terminaison - date création

Variante : durée - temps passé en attente d’E/S

(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.

RotationDurée d’un processus : date terminaison - date créationVariante : durée - temps passé en attente d’E/S(temps de réponse du processus : moyenne ou min-max)

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.

RotationDurée d’un processus : date terminaison - date créationVariante : durée - temps passé en attente d’E/S(temps de réponse du processus : moyenne ou min-max)

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

moyenne = 3+2+43 = 2; max = 4

à minimiser

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Critères II

Temps d’attenteTemps total passé par tous les processus dans la file prêt.

RotationDurée d’un processus : date terminaison - date créationVariante : durée - temps passé en attente d’E/S(temps de réponse du processus : moyenne ou min-max)

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1 Proc.3

Proc.2

Arrivées P1 P2 P3

moyenne = 3+2+43 = 2; max = 4

à minimiser

15

M1105 Système d’exploitation

> Problème d’ordonnancement

Plan

1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

16

M1105 Système d’exploitation

> Problème d’ordonnancement

PrioritéPrincipeAssocier à chaque processus une valeur de priorité.Selon les OS : valeur entière, positive ou négative, croissante oudécroissante. . .

Structure de donnée & algorithme

I Une file d’attente par niveau de priorité

Calcul de la priorité

I Type de processus (système ou utilisateur, E/S ou calcul)I Durée (estimée) du processus, taille mémoire, nombre de fichiers

ouverts. . .I Priorité fixée par l’utilisateurI Variable au cours de l’exécution (règles du SE).

17

M1105 Système d’exploitation

> Problème d’ordonnancement

PrioritéPrincipeAssocier à chaque processus une valeur de priorité.

Structure de donnée & algorithme

I Une file d’attente par niveau de prioritéI Liste ordonnée des files de priorité

Choisir le premier processus de la file la plus prioritaire.

Calcul de la priorité

I Type de processus (système ou utilisateur, E/S ou calcul)I Durée (estimée) du processus, taille mémoire, nombre de fichiers

ouverts. . .I Priorité fixée par l’utilisateurI Variable au cours de l’exécution (règles du SE).

17

M1105 Système d’exploitation

> Problème d’ordonnancement

Priorité

PrincipeAssocier à chaque processus une valeur de priorité.

Structure de donnée & algorithme

I Une file d’attente par niveau de priorité

Calcul de la priorité

I Type de processus (système ou utilisateur, E/S ou calcul)I Durée (estimée) du processus, taille mémoire, nombre de fichiers

ouverts. . .I Priorité fixée par l’utilisateurI Variable au cours de l’exécution (règles du SE).

17

M1105 Système d’exploitation

> Problème d’ordonnancement

Préemption

DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.

Selon la priorité des processus

TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine

pas de problème de préemption

I Un processus entre en état prêtPréempter ?

Il existe différents algorithmes, préemptifs ou non

18

M1105 Système d’exploitation

> Problème d’ordonnancement

Préemption

DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.Selon la priorité des processus

TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine

pas de problème de préemption

I Un processus entre en état prêtPréempter ?

Il existe différents algorithmes, préemptifs ou non

18

M1105 Système d’exploitation

> Problème d’ordonnancement

Préemption

DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.Selon la priorité des processus

TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine

pas de problème de préemption

I Un processus entre en état prêtPréempter ?

Il existe différents algorithmes, préemptifs ou non

18

M1105 Système d’exploitation

> Problème d’ordonnancement

Préemption

DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.Selon la priorité des processus

TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine

pas de problème de préemption

I Un processus entre en état prêtPréempter ?

Il existe différents algorithmes, préemptifs ou non

18

M1105 Système d’exploitation

> Algorithme FIFO

Plan

1 Problème d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

19

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

PrincipePremier arrivé, premier servi : file d’attente

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 0+9+113 ≈ 6.67

I Max = 11

20

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

PrincipePremier arrivé, premier servi : file d’attente

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 0+9+113 ≈ 6.67

I Max = 11

20

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

PrincipePremier arrivé, premier servi : file d’attente

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 0+9+113 ≈ 6.67

I Max = 11

20

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

PrincipePremier arrivé, premier servi : file d’attente

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 0+9+113 ≈ 6.67

I Max = 11

20

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

PrincipePremier arrivé, premier servi : file d’attente

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2 P3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 0+9+113 ≈ 6.67

I Max = 11

20

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

PrincipePremier arrivé, premier servi : file d’attente

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2 P3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 0+9+113 ≈ 6.67

I Max = 11

20

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

Rappel des critères : équitable, efficace, réactif

Avantages

I Simple à implanterI Équitable : tous les processus ont accès à la ressource (dans l’ordre

d’arrivée).

Inconvénients

I Peu efficace : les processus de calculs monopolisent le processeurI Peu réactif : certains processus peuvent attendre très longtemps

21

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

Rappel des critères : équitable, efficace, réactif

Avantages

I Simple à implanterI Équitable : tous les processus ont accès à la ressource (dans l’ordre

d’arrivée).

Inconvénients

I Peu efficace : les processus de calculs monopolisent le processeurI Peu réactif : certains processus peuvent attendre très longtemps

21

M1105 Système d’exploitation

> Algorithme FIFO

First In, First Out

Rappel des critères : équitable, efficace, réactif

Avantages

I Simple à implanterI Équitable : tous les processus ont accès à la ressource (dans l’ordre

d’arrivée).

Inconvénients

I Peu efficace : les processus de calculs monopolisent le processeurI Peu réactif : certains processus peuvent attendre très longtemps

21

M1105 Système d’exploitation

> Plus court d’abord

Plan

1 Problème d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

22

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+0+23 = 2

I Max = 4

23

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+0+23 = 2

I Max = 4

23

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+0+23 = 2

I Max = 4

23

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2 P3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+0+23 = 2

I Max = 4

23

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2 P3 P1

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+0+23 = 2

I Max = 4

23

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !

Exemple

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3

P1 P2 P3 P1

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+0+23 = 2

I Max = 4

23

M1105 Système d’exploitation

> Plus court d’abord

Temps restant

ProblèmeComment connaît-on le temps restant d’un processus ?(avant requête d’E/S ou interruption)

EstimationÀ partir des durées et des estimations des cycles précédents : moyenneexponentielleSoit :I dn durée estimée lors de la neutilisation du CPUI tn durée réelle lors de la neutilisation du CPUI α un facteur de pondération (généralement α = 1

2).dn+1 = αdn + (1− α)tn

24

M1105 Système d’exploitation

> Plus court d’abord

Temps restant

ProblèmeComment connaît-on le temps restant d’un processus ?(avant requête d’E/S ou interruption)

EstimationÀ partir des durées et des estimations des cycles précédents : moyenneexponentielleSoit :I dn durée estimée lors de la neutilisation du CPUI tn durée réelle lors de la neutilisation du CPUI α un facteur de pondération (généralement α = 1

2).dn+1 = αdn + (1− α)tn

24

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

Rappel des critères : équitable, efficace, réactif

Avantages

I Réactif : les petit processus passent en premierI Optimal sur le temps d’attente moyen

Inconvénients

I Pas forcément efficace : les processus de calcul ont « moins » leprocesseur s’il y a beaucoup de processus d’E/S.

I Non équitable : on peut avoir des famines des gros processus.

25

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

Rappel des critères : équitable, efficace, réactif

Avantages

I Réactif : les petit processus passent en premierI Optimal sur le temps d’attente moyen

Inconvénients

I Pas forcément efficace : les processus de calcul ont « moins » leprocesseur s’il y a beaucoup de processus d’E/S.

I Non équitable : on peut avoir des famines des gros processus.

25

M1105 Système d’exploitation

> Plus court d’abord

Plus court d’abord

Rappel des critères : équitable, efficace, réactif

Avantages

I Réactif : les petit processus passent en premierI Optimal sur le temps d’attente moyen

Inconvénients

I Pas forcément efficace : les processus de calcul ont « moins » leprocesseur s’il y a beaucoup de processus d’E/S.

I Non équitable : on peut avoir des famines des gros processus.

25

M1105 Système d’exploitation

> Tourniquet (round robin)

Plan

1 Problème d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

26

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !

Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2

P3

Quantum = 3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+2+43 ≈ 3.33

I Max = 4

27

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !

Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2

P3

P1

Quantum = 3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+2+43 ≈ 3.33

I Max = 4

27

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !

Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2

P3

P1 P2

Quantum = 3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+2+43 ≈ 3.33

I Max = 4

27

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !

Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2

P3

P1 P2 P3

Quantum = 3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+2+43 ≈ 3.33

I Max = 4

27

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !

Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2

P3

P1 P2 P3 P1

Quantum = 3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+2+43 ≈ 3.33

I Max = 4

27

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !

Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2

P3

P1 P2 P3 P1

Quantum = 3

Proc. Date DuréeP1 0 10P2 1 2P3 1 2

Temps d’attente

I Moyenne = 4+2+43 ≈ 3.33

I Max = 427

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin

Rappel des critères : équitable, efficace, réactif

Avantages

I Équitable : tout le monde a le processeur aussi rapidementI Relativement réactif : les petits processus n’attendent pas trop

Inconvénients

I Temps d’attente moyen plus élevéI Beaucoup de commutations : surcoût !

28

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin

Rappel des critères : équitable, efficace, réactif

Avantages

I Équitable : tout le monde a le processeur aussi rapidementI Relativement réactif : les petits processus n’attendent pas trop

Inconvénients

I Temps d’attente moyen plus élevéI Beaucoup de commutations : surcoût !

28

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin

Rappel des critères : équitable, efficace, réactif

Avantages

I Équitable : tout le monde a le processeur aussi rapidementI Relativement réactif : les petits processus n’attendent pas trop

Inconvénients

I Temps d’attente moyen plus élevéI Beaucoup de commutations : surcoût !

28

M1105 Système d’exploitation

> Tourniquet (round robin)

Tourniquet (Round-Robin)

En pratique

I Largement utilisé dans les SE, avec quantum ≈ 2 à 10 fois le tempsde commutation de contexte

I Efficace dès que la durée réelle (tn) de 80% des processus estinférieure au quantum.

29

M1105 Système d’exploitation

> Exemples et exercices

Plan

1 Problème d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Tourniquet (round robin)

5 Exemples et exercices

30