• Aucun résultat trouvé

Nicolas Sabouret

N/A
N/A
Protected

Academic year: 2022

Partager "Nicolas Sabouret"

Copied!
108
0
0

Texte intégral

(1)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Syst` emes d’Exploitation Cours 3/13 : Processus II

Nicolas Sabouret

Universit´e Paris-Sud Licence 3 - semestre S5

(2)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plan

1 Probl`eme d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Round-Robin

5 Exemples concrets

(3)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Plan

1 Probl`eme d’ordonnancement Probl`eme

Diagramme de Gantt

Qualit´e de l’ordonnancement Notion de priorit´e

2 Algorithme FIFO

3 Plus court d’abord

4 Round-Robin

5 Exemples concrets

Info32b Syst`emes d’Exploitation Nicolas Sabouret 3/32

(4)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Rappel

Multiprogrammation et temps partag´e Les processus sont r´epartis sur les ressources.

Plusieurs processus peuvent vouloir la mˆeme ressourceen mˆeme temps

File d’attente dePCB

Ordonnancement

Choisir un processus parmi tous les processus dans une liste d’attente pour une ressource

→Ordonner les processus pour l’acc`es `a la ressource

Exemple : processeur

Choisir parmi les processus prˆet + en ex´ecution

(5)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Rappel

Multiprogrammation et temps partag´e Les processus sont r´epartis sur les ressources.

Plusieurs processus peuvent vouloir la mˆeme ressourceen mˆeme temps

File d’attente dePCB

Ordonnancement

Choisir un processus parmi tous les processus dans une liste d’attente pour une ressource

→Ordonner les processus pour l’acc`es `a la ressource

Exemple : processeur

Choisir parmi les processus prˆet + en ex´ecution

(6)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Rappel

Multiprogrammation et temps partag´e Les processus sont r´epartis sur les ressources.

Plusieurs processus peuvent vouloir la mˆeme ressourceen mˆeme temps

File d’attente dePCB

Ordonnancement

Choisir un processus parmi tous les processus dans une liste d’attente pour une ressource

→Ordonner les processus pour l’acc`es `a la ressource

Exemple : processeur

Choisir parmi les processus prˆet + en ex´ecution

(7)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Contraintes I Temps r´eel

Permettre aux ”petits” processus (ex : E/S) d’acc´eder au processeur plus vite

dur´ee avant requˆete

nbdeproc.

70%

Les E/S causent beaucoup d’interruptions

→cycles UC tr`es courts (2µs)

(8)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Ordonnancement

Attention

On ne s’int´eresse pas `a la dur´ee totale du processus. . .

Mais au temps pendant lequel il va garder le processeur : Jusqu’`a ce qu’il termine

Jusqu’`a ce qu’il fasse une E/S

Jusqu’`a ce que l’OS d´ecide que ce n’est plus son tour !

(9)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Ordonnancement

Attention

On ne s’int´eresse pas `a la dur´ee totale du processus. . . Mais au temps pendant lequel il va garder le processeur :

Jusqu’`a ce qu’il termine Jusqu’`a ce qu’il fasse une E/S

Jusqu’`a ce que l’OS d´ecide que ce n’est plus son tour !

(10)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Contraintes II

Commutation de contexte

Le remplacement du processus en ex´ecution a un coˆut ! Ex´ecution de la routine d’ordonnancement

Sauvegarde du contexte (registres + PC) Chargement d’un nouveau contexte

Ordonnancer lorsque

Le processus en ex´ecution se termine Un nouveau processus passe dans l’´etat prˆet Un processus en attente passe dans l’´etat prˆet

Le processus en ex´ecution a eu la main trop longtemps

(11)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Contraintes II

Commutation de contexte

Le remplacement du processus en ex´ecution a un coˆut ! Ex´ecution de la routine d’ordonnancement

Sauvegarde du contexte (registres + PC) Chargement d’un nouveau contexte

Ordonnancer lorsque

Le processus en ex´ecution se termine Un nouveau processus passe dans l’´etat prˆet Un processus en attente passe dans l’´etat prˆet

Le processus en ex´ecution a eu la main trop longtemps

(12)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Contraintes II

Commutation de contexte

Le remplacement du processus en ex´ecution a un coˆut ! Ex´ecution de la routine d’ordonnancement

Sauvegarde du contexte (registres + PC) Chargement d’un nouveau contexte

Ordonnancer lorsque

Le processus en ex´ecution se termine Un nouveau processus passe dans l’´etat prˆet Un processus en attente passe dans l’´etat prˆet

Le processus en ex´ecution a eu la main trop longtemps

(13)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

(14)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

(15)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

(16)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

Proc.1

(17)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

(18)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1 Proc.2

(19)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

(20)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Ressources

CPU

HD1

0 1 2 3 4 5 6

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

Arriv´ees : P1 P2,P3

(21)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Diaramme de Gantt D´efinition

Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.

Applications

Ordonnancement: ressources = CPU ou p´eriph´erique G´enie logiciel :

ressources = tˆaches processus = d´eveloppement Gestion d’´equipe:

ressources = humains processus = tˆaches

ajout de lien de d´ependance

(22)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Objectifs de l’ordonnancement

´Equitable

Tous les processus ont acc`es aux ressources dont ils ont besoin, en fonction de leur priorit´e

Efficace

Bonne r´epartition entre les processus E/S et calcul

R´eactif

Un processus ne doit pas attendre trop longtemps

(23)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

(24)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

Taux d’utilisation

Proportionde temps pendant lequel la ressource (en l’occurrence, le CPU) est utilis´ee

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a maximiser

(25)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

Taux d’utilisation

Proportionde temps pendant lequel la ressource (en l’occurrence, le CPU) est utilis´ee

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a maximiser

(26)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

Taux d’utilisation

Proportionde temps pendant lequel la ressource (en l’occurrence, le CPU) est utilis´ee

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2

Proc.3 taux= 56 = 83%

→ `a maximiser

(27)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

Taux d’utilisation

Proportionde temps pendant lequel la ressource est utilis´ee

D´ebit

Nombre moyende processus trait´es par unit´e de temps

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a maximiser

(28)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

Taux d’utilisation

Proportionde temps pendant lequel la ressource est utilis´ee

D´ebit

Nombre moyende processus trait´es par unit´e de temps

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a maximiser

(29)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres I Objectif

Choisir l’algorithme d’ordonnancement

→minimiser ou maximiser un crit`ere

Taux d’utilisation

Proportionde temps pendant lequel la ressource est utilis´ee

D´ebit

Nombre moyende processus trait´es par unit´e de temps

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2

Proc.3 debit´ = 36 = 0.5

→ `a maximiser

(30)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet

(31)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus

→ choisir l’algorithme qui minimise l’attente moyenne

(32)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus

→ choisir l’algorithme qui minimise l’attente moyenne

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a minimiser

(33)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus

→ choisir l’algorithme qui minimise l’attente moyenne

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2

Proc.3 attente= 1+0+33 = 1.33

→`a minimiser

(34)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus

→ choisir l’algorithme qui minimise l’attente moyenne Crit`ere min-max:

→ choisir l’algorithme qui minimise l’attente max (celle du processus qui a le plus attendu)

(35)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus

→ choisir l’algorithme qui minimise l’attente moyenne Crit`ere min-max:

→ choisir l’algorithme qui minimise l’attente max

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a minimiser

(36)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus

→ choisir l’algorithme qui minimise l’attente moyenne Crit`ere min-max:

→ choisir l’algorithme qui minimise l’attente max

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2

Proc.3 max = 3

→`a minimiser

(37)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet

Rotation

Dur´eed’un processus : date terminaison – date cr´eation

Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S

→temps de r´eponse du processus (moyenne ou min-max)

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a minimiser

(38)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet

Rotation

Dur´eed’un processus : date terminaison – date cr´eation

Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S

→temps de r´eponse du processus (moyenne ou min-max)

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a minimiser

(39)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet

Rotation

Dur´eed’un processus : date terminaison – date cr´eation

Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S

→temps de r´eponse du processus (moyenne ou min-max)

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

→ `a minimiser

(40)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres II

Temps d’attente

Temps totalpass´e par tous les processusdans la fileprˆet

Rotation

Dur´eed’un processus : date terminaison – date cr´eation

Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S

→temps de r´eponse du processus (moyenne ou min-max)

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

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

→ `a minimiser

(41)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Crit`eres : r´esum´e

Taux d’utilisation

Proportionde temps pendant lequel le CPU est utilis´ee

D´ebit

Nombre moyende processus trait´es par unit´e de temps

Temps d’attente

Temps totalpass´e dans la file prˆet

Rotation

Dur´eedes processus

(42)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Priorit´e Principe

Associer `a chaque processus une valeur de priorit´e

Selon les OS, valeur enti`ere, positive ou n´egative, croissante ou ecroissante. . .

Structure de donn´ees et algorithme File d’attente par priorit´e

Calcul de la priorit´e

Type de processus (syst`eme ou utilisateur, E/S ou calcul) Dur´ee (estim´ee) du processus, taille m´emoire, nombre de fichiers ouverts. . .

Priorit´e fix´ee par l’utilisateur

Variable au cours de l’ex´ecution (r`egles de l’OS)

(43)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Priorit´e Principe

Associer `a chaque processus une valeur de priorit´e

Structure de donn´ees et algorithme File d’attente par priorit´e

Liste ordonn´ee des files de priorit´e

→choisir le premier processus de la file la plus prioritaire

Calcul de la priorit´e

Type de processus (syst`eme ou utilisateur, E/S ou calcul) Dur´ee (estim´ee) du processus, taille m´emoire, nombre de fichiers ouverts. . .

Priorit´e fix´ee par l’utilisateur

Variable au cours de l’ex´ecution (r`egles de l’OS)

(44)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Priorit´e Principe

Associer `a chaque processus une valeur de priorit´e

Structure de donn´ees et algorithme File d’attente par priorit´e

Calcul de la priorit´e

Type de processus (syst`eme ou utilisateur, E/S ou calcul) Dur´ee (estim´ee) du processus, taille m´emoire, nombre de fichiers ouverts. . .

Priorit´e fix´ee par l’utilisateur

Variable au cours de l’ex´ecution (r`egles de l’OS)

(45)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Pr´eemption D´efinition

Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.

. . . selon la priorit´e des processus

Temporalit´e

Ordonnancement lorsque :

Le processusen ex´ecution passe en attenteou setermine

pas de probl`eme de pr´eemption

Un processus entre dans l’´etatprˆet

pr´eempter ?

(46)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Pr´eemption D´efinition

Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.

. . . selon la priorit´e des processus

Temporalit´e

Ordonnancement lorsque :

Le processusen ex´ecution passe en attenteou setermine

pas de probl`eme de pr´eemption

Un processus entre dans l’´etatprˆet

pr´eempter ?

(47)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Pr´eemption D´efinition

Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.

. . . selon la priorit´e des processus

Temporalit´e

Ordonnancement lorsque :

Le processusen ex´ecution passe en attenteou setermine

pas de probl`eme de pr´eemption

Un processus entre dans l’´etatprˆet

pr´eempter ?

(48)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e

Pr´eemption D´efinition

Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.

. . . selon la priorit´e des processus

Temporalit´e

Ordonnancement lorsque :

Le processusen ex´ecution passe en attenteou setermine

pas de probl`eme de pr´eemption

Un processus entre dans l’´etatprˆet

pr´eempter ?

Il existe diff´erents algorithmes, pr´eemptifs ou non

(49)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plan

1 Probl`eme d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Round-Robin

5 Exemples concrets

6 Conclusion

(50)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out Principe

Premier arriv´e, premier servi : file d’attente

Exemple

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

P1 P2 P3

P1 P1 P2 P3

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(51)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out Principe

Premier arriv´e, premier servi : file d’attente

Exemple

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

P1 P2 P3

P1

P1 P2 P3

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(52)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out Principe

Premier arriv´e, premier servi : file d’attente

Exemple

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

P1 P2 P3

P1

P1

P2 P3

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(53)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out Principe

Premier arriv´e, premier servi : file d’attente

Exemple

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

P1 P2 P3

P1

P1 P2

P3

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(54)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out Principe

Premier arriv´e, premier servi : file d’attente

Exemple

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

P1 P2 P3

P1

P1 P2 P3

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(55)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out Principe

Premier arriv´e, premier servi : file d’attente

Exemple

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

P1 P2 P3

P1

P1 P2 P3

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

Temps d’attente

Moyenne= 0+9+113 '6.67 Max = 11

(56)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Rappel crit`eres : ´equitable, efficace, r´eactif

Avantages

Simple `a impl´ementer

Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)

Inconv´enients

Peu efficace : processus de calcul ont ”plus longtemps” le processeur

Peu r´eactif : certains processus peuvent attendre tr`es longtemps

(57)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Rappel crit`eres : ´equitable, efficace, r´eactif

Avantages

Simple `a impl´ementer

Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)

Inconv´enients

Peu efficace : processus de calcul ont ”plus longtemps” le processeur

Peu r´eactif : certains processus peuvent attendre tr`es longtemps

(58)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Rappel crit`eres : ´equitable, efficace, r´eactif

Avantages

Simple `a impl´ementer

Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)

Inconv´enients

Peu efficace : processus de calcul ont ”plus longtemps” le processeur

Peu r´eactif : certains processus peuvent attendre tr`es longtemps

(59)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Rappel crit`eres : ´equitable, efficace, r´eactif

Avantages

Simple `a impl´ementer

Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)

Inconv´enients

Peu efficace : processus de calcul ont ”plus longtemps” le processeur

Peu r´eactif : certains processus peuvent attendre tr`es longtemps

(60)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plan

1 Probl`eme d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Round-Robin

5 Exemples concrets

6 Conclusion

(61)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Principe

Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)eactif!

Exemple

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

P1 P2 P3

P1 P2 P3 P1

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(62)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Principe

Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)eactif!

Exemple

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

P1 P2 P3

P1

P2 P3 P1

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(63)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Principe

Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)eactif!

Exemple

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

P1 P2 P3

P1 P2

P3 P1

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(64)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Principe

Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)eactif!

Exemple

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

P1 P2 P3

P1 P2 P3

P1

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(65)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Principe

Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)eactif!

Exemple

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

P1 P2 P3

P1 P2 P3 P1

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

(66)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Principe

Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)eactif!

Exemple

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

P1 P2 P3

P1 P2 P3 P1

Proc. Date Dur´ee

P1 0 10

P2 1 2

P3 1 2

Temps d’attente

Moyenne= 4+0+23 = 2 Max = 4

(67)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3 P2P2 P4 P5 P1

File d’attente : P1

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

(68)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1

P3 P2P2 P4 P5 P1

File d’attente : P2 P3

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

(69)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3

P2P2 P4 P5 P1

File d’attente : P2 P1

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

L’algorithme est pr´eemptif : le processus plus court prend la main

(70)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3 P2

P2 P4 P5 P1

File d’attente : P1 P4 P5

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

(71)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3

P2

P2

P4 P5 P1

File d’attente : P1 P4 P5

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

En cas d’´egalit´e de temps restant, on garde en priorit´e le processus actif

→´evite une commutation de contexte

(72)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3

P2

P2 P4

P5 P1

File d’attente : P1 P5

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

En cas d’´egalit´e de temps restant et de date, on prend l’ordre du tableau

C¸ a reste une file. . .

(73)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3

P2

P2 P4 P5

P1

File d’attente : P1

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

(74)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3

P2

P2 P4 P5 P1

File d’attente :

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

(75)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord Un autre exemple

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

P1 P2 P3

P4 P5

P1 P3

P2

P2 P4 P5 P1

File d’attente :

Proc. Date Dur´ee

P1 0 5

P2 1 2

P3 1 1

P4 3 1

P5 3 1

Temps d’attente

Moyenne= 5+1+0+1+25 = 1.8 Max = 5

(76)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Temps restant Probl`eme

Comment connaˆıt-on le temps restant d’un processus ?

(avant requˆete ou interruption)

Estimation

A partir des dur´` ees et des estimations descycles pr´ec´edents: moyenneexponentielle

Soit :

dn la dur´ee estim´ee lors de lanieme` utilisation de l’UC tn la dur´ee r´eelle lors de la nieme` utilisation de l’UC α un facteur de pond´eration (g´en´eralement,α= 12)

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

(77)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Temps restant Probl`eme

Comment connaˆıt-on le temps restant d’un processus ?

(avant requˆete ou interruption)

Estimation

A partir des dur´` ees et des estimations descycles pr´ec´edents: moyenneexponentielle

Soit :

dn la dur´ee estim´ee lors de lanieme` utilisation de l’UC tn la dur´ee r´eelle lors de la nieme` utilisation de l’UC α un facteur de pond´eration (g´en´eralement,α= 12)

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

(78)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Temps restant Probl`eme

Comment connaˆıt-on le temps restant d’un processus ?

(avant requˆete ou interruption)

Estimation

A partir des dur´` ees et des estimations descycles pr´ec´edents: moyenneexponentielle

Soit :

dn la dur´ee estim´ee lors de lanieme` utilisation de l’UC tn la dur´ee r´eelle lors de la nieme` utilisation de l’UC α un facteur de pond´eration (g´en´eralement,α= 12)

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

(79)

Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Rappel crit`eres : ´equitable, efficace, r´eactif

Avantages

R´eactif : les petits processus passent en premier

Optimal sur le temps d’attente moyen (preuve par r´ecurrence)

Inconv´enients

Pas forc´ement efficace : processus de calcul ont ”moins” le processeur s’il y a beaucoup d’E/S

Non ´equitable : on peut avoir desfaminesdes gros processus

D´efinition

On parle defaminelorsqu’un processus n’a jamais acc`es `a une ressource alors qu’il est dans la file d’attente.

Références

Documents relatifs

[r]

Donner la d´efinition de la borne sup´erieure de A ainsi qu’une condition n´ecessaire et suffisante pour son existence. En particulier, on peut faire la seconde partie en admettant

(la dynamique de f sur I correspond au carr´ e en gras dans le dessin ci-dessous)3. Calculer

Montrer qu’il existe une solution d´ efinie sur R +∗ et la calculer..

Etant donn´ es quatre points d’une droite affine, exprimer leur birapport comme rapport de rapport de mesures alg´ ebriques de segments joignant les points...

La principale (dont les autres d´ ecoulent) est la suivante : Pour deux arˆ etes parall` eles, la diff´ erence de cotes entre les extr´ emit´ es est la mˆ eme (pour une

Cette expression peut aussi permettre de voir la pression exerc´ee par le flux de photons ou de l’onde ´electromagn´etique sur la surface S, en effet, il suffit de diviser la force

Donn´ ee: une machine de Turing M , qui ne revient jamais en d´ ebut de ruban, ne revient jamais dans l’´ etat initial, n’´ ecrit jamais de blancs?. Question: M ne s’arrˆ ete