Etude et simulation d`un ordonnanceur POSIX 1003.1b « fair

Transcription

Etude et simulation d`un ordonnanceur POSIX 1003.1b « fair
SUJET DE TER
INTITULE : Etude et simulation d’un ordonnanceur POSIX 1003.1b « fairplay » pour systèmes embarqués temps-réel
ENCADRANTS
Nom, Prénom
Frank Singhoff, Shuai Li
E-mail
[email protected], [email protected]
CONTEXTE
Les systèmes temps-réel embarqués (RTES) font aujourd’hui partis intégralement des
produits de notre quotidien (transport, télécommunication…). Les RTES sont souvent multitâches, et ils ont un nombre de processeurs limité. L’architecture des RTES est dotée d’un
système d’exploitation temps-réel (RTOS) qui comporte un ordonnanceur, dont le rôle est
d’arbitrer l’accès des tâches aux processeurs.
L’ordonnanceur du standard IEEE POSIX 1003.1b [1] est communément implémenté dans
des RTOS basé sur Linux. Quand l’ordonnanceur est dit « fair-play », il offre la possibilité à
une tâche de « rendre la main » - via une instruction yield() dans son code – malgré que la
tâche ait encore des données à traiter. Ce mécanisme simple peut changer radicalement le
comportement du système.
Le mécanisme de fair-play est nécessaire pour des applications comme les pilotes, le
traitement du signal, le décryptage/encryptage dans le domaine de la sécurité... Le fairplay est ainsi offert par des RTOS industriels comme PikeOS [2].
Aujourd’hui, il n’existe pas beaucoup d’outils d’analyse et simulation d’ordonnancement
prenant en compte le fair-play. Pourtant la demande auprès de l’industrie, pour ce genre
d’outil, est réelle.
TRAVAIL PROPOSE
Le but du travail est d’implémenter le mécanisme de fairy-play dans l’ordonnanceur POSIX
1003.1b existant dans l’outil de simulation Cheddar [3].
Dans un premier temps l’étudiant(e) se familiarisera avec ce type d’ordonnanceur. Il/elle
étendra ensuite celui de Cheddar avec le fair-play. Enfin il/elle vérifiera la cohérance de la
simulation par rapport à la réalité, et proposera d’éventuelles corrections.
Le travail de l’étudiant(e) est une valeur ajoutée à un processus de modélisation et analyse
déjà entamé [4], en collaboration avec Thales Communications & Security.
REFERENCES
[1]
Obenland, Kevin M. "The use of POSIX in real-time systems, assessing its effectiveness and performance."
The MITRE Corporation (2000).
[2]
Kaiser, Robert, and Stephan Wagner. "Evolution of the PikeOS microkernel." In First International
Workshop on Microkernels for Embedded Systems, p. 50. 2007.
[3]
Singhoff, Frank, Alain Plantec, Pierre Dissaux, and Jérôme Legrand. "Investigating the usability of realtime scheduling theory with the Cheddar project." Real-Time Systems 43, no. 3 (2009): 259-295.
[4]
http://beru.univ-brest.fr/svn/CHEDDAR/trunk/contribs/examples_of_use/s2c/s2c_demo.html