Académique Documents
Professionnel Documents
Culture Documents
P1 elu
P2 attente E/S
P3 attente cpu
P4 attente E/S
Processeur P2 P4
P51 attente cpu
P6 attente cpu P1 UE
Bus
Fin
Déblocage
Bloqué
En attente de ressources
Méthodes de Programmation Système 2003/2004 J. Delacroix 4
Fin Système multiprocessus
Réveil
Prêt
Election Elu En exécution
Etats des processus
En attente Préemption
du processeur Blocage
(réquisition)
Déblocage
Bloqué
En attente de ressources
ELU
Interruption ou appels système
Sauvegarde PCB 0
PRET
élection
Recharge PCB 1
BLOQUE
ELU
PRET
Interruption ou appels système
Sauvegarde PCB 1
élection
Préemption
Cpu
Ordonnanceur
Election
Cpu
PCB
PCB
PCB
Répartiteur
PCB
PCB
PCB
Prêts
Cpu Classement selon une
Politique d'ordonnancement
Déblocage
Blocage
PCB
PCB
PCB
PCB
PCB
PCB
Bloqués
• Temps réel
¾ Respecter les contraintes temporelles des processus
P1 P2 P3 Bloqué
24 3 3
Temps de cycle
P3
Temps moyen d'attente
P2
17 millisecondes
P1 (0 + 24 + 27)/3
24 27 30
Prêt Actif
P2 P3 P1
3 3 24 Bloqué
Temps de cycle
P3
Temps moyen d'attente
P2
3 millisecondes
P1 (6 + 0+ 3) /3
3 6 30
P4
P3 Temps moyen d'attente
P2 8,2 millisecondes
P1
P1 P2 P3 Quantum = 4
20 7 3
Temps de cycle
P3
P2
P1
4 8 11 15 18 22 26 30
Méthodes de Programmation Système 2003/2004 J. Delacroix 16
Politiques d'ordonnancement
F2 q2
Election
F3 q3
Fn qn
Prêt Priorité
Arrivée
F1 q1
F2 q2
Election
F3 q3
--
Fn FCFS
Méthodes de Programmation Système 2003/2004 J. Delacroix 19
Ordonnancement : système LINUX
• Trois classes d ’ordonnancement (norme POSIX) :
Prio ++
¾ SCHED_FIFO : Priorité préemptif
Priorité fixe
¾ SCHED_RR : Tourniquet (quantum)
Priorité variable
¾ SCHED_OTHER : politique Unix
Fonction de l’utilisation
du processeur
Utilisateur Noyau
(pas de processus noyau)
P1 (u)
Interruption
Appels système Sauvegarde de contexte (CO, PSW)
Trappe
P1 (n)
P1
Traitement It
(C
Appel système
O,
P2 (u)
P2
PS
(C O
W
,P
)
SW
)
Ordonnancement
P1 P2 Prêt
Restitution
de contexte Election
Méthodes de Programmation Système 2003/2004 J. Delacroix 22
Ordonnancement dans le système Unix
Priorités
du
mode noyau Swapper
(sleep)
Attente E/S disque
Non interruptible Attente tampon
Interruptible Attente sortie tty
Attente entrée tty
Attente exit du fils
Niveau utilisateur n
Méthodes de Programmation Système 2003/2004 J. Delacroix 24
Ordonnancement dans le système Unix
¾ Priorité Noyau :
P la file où le processus s'endort est fonction de
l'événement attendu
¾ Priorité Utilisateur :
Utilisation UC = Utilisation UC / 2
• Exemple
¾ Trois processus A, B, C
¾ Priorité initiale = 60
¾ Priorité de niveau 0 = 60
Mesures
Commandes
Evénements
Fonction de
Fonction de suivi
pilotage
Contraintes de temps
Méthodes de Programmation Système 2003/2004 J. Delacroix 31
Caractéristiques de l'ordonnancement temps réel
réveil échéance
• Test d'acceptabilité
Vraie Fausse
Configuration Configuration
ordonnançable non ordonnançable
automate
¾ Ordonnancement en ligne
La séquence d'exécution des tâches est établie
dynamiquement par l'ordonnanceur au cours de la vie de
l'application en fonction des événements qui surviennent.
L'ordonnanceur choisit le prochaine tâche à élire en fonction
d'un critère de priorité.
¾ Tâches périodiques
Elles correspondent aux mesures sur le procédé ; elles se
réveillent régulièrement (toutes les P unités de temps)
kème requête
C max
r0 t C(t) d0 r0 + kP t
R(t)
P
Méthodes de Programmation Système 2003/2004 J. Delacroix 39
Caractéristiques de l'ordonnancement temps réel
¾ Tâches apériodiques
Elles correspondent aux événements ; elles se réveillent de
manière aléatoire
kème requête
C max
r d r' t
t C(t)
R(t)
Méthodes de Programmation Système 2003/2004 J. Delacroix 41
Algorithmes d'ordonnancement pour les tâches périodiques
indépendantes
Rate Monotonic
n
Ci
∑
i =1
Pi
≤ n ( 21 / n − 1)
Rate Monotonic
Tp2 (r0 = 0, C = 2, P = 5)
0 2 5 7 10 12 15 17 t
20
Inverse Deadline
n
Ci
∑
i =1
Ri
≤ n ( 21 / n − 1)
Inverse Deadline
Tp1(r0 = 0, C = 3, R = 7, P = 20)
0 2 5 7 t
20
Tp2(r0 = 0, C = 2, R = 4, P = 5)
0 4 5 7 9 10 12 14 15 17 19 20 t
2
Tp3(r0 = 0, C = 2, R = 9, P = 10)
0 7 9 10 12 14 19 20 t
Réveil Échéance
Earliest Deadline
n n n
Ci Ci
∑i =1
Pi
≤1 ∑ Ri
≤1 ∑
i =1
Ci
Pi
≤1
i =1
Earliest Deadline
0 2 5 7 t
20
Tp2 (r0 = 0, C = 2, R = 4, P = 5)
0 4 5 6 8 9 10 12 14 15 17 19 20 t
2
0 5 6 8 10 12 13 18 20 t
Réveil Echéance