Chap5
Introduction
Un ordonnanceur ( scheduler) comporte deux parties :
●
●
ordonnanceur de haut niveau (Long Term Scheduling): politique de décision, affectation de priorité ordonnanceur de bas niveau ou distributeur ( Short Term Scheduling ou dispatcher) : affectation d’un processeur à un processus
Pour l’ordonnanceur de haut niveau, trois concepts sont à détailler :
■
Mode de décision
Il s’agit de spécifier des instants où les priorités des processus sont évaluées et comparées et où des processus sont sélectionnés pour exécution. Entre deux instants consécutifs, l’allocation de processeurs aux processus ne change pas.
- mode non pré-emptif : un processus en exécution continue jusqu’à ce qu’il se termine ou se bloque (non adéquat pour les systèmes temps réel et temps partagé)
- mode pré-emptif : un processus en exécution peut être interrompu par diverses causes : un nouveau processus arrive, un processus existant est réveillé, un temps q s’est écoulé, la priorité d’un processus prêt est devenue plus grande que celle du processus actif, .... compromis : la pré-emption sélective. Elle consiste à assigner à chaque processus p une paire de bits (up, vp) : up = 1 si p peut pré-empter un autre processus et 0 dans le cas contraire
( up représente la capacité de préemption d’un processus) vp = 1 si p peut être pré-empté par un autre processus et 0 dans le cas contraire ( vp représente une priorité d’exécution).
■
Fonction de priorité
A tout moment une priorité est affectée à un processus du fait du résultat de l’application d’une fonction de priorité : ses variables sont divers paramètres (liés au processus ou au système) et la valeur retour est la priorité . Les paramètres utilisés sont usuellement :
●
●
●
●
besoins mémoire temps d’utilisation CPU temps réel dans le système ( temps d’utilisation CPU + temps d’attente) temps total de service
Ordonnancement
Solution des exercices
Solution de l'exercice 1
Le schéma ci-dessous décrit l'enchaînement des