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