Environnement de prototypage d’ordonnancement pour systèmes temps réel

Encadrants : 

Occurrences : 

2018

Nombre d'étudiants minimum: 

3

Nombre d'étudiants maximum: 

5

Nombre d'instances : 

1

Nous souhaitons concevoir en langage C un environnement de prototypage d’ordonnancement temps réel pour multi-coeurs. L’implémentation se basera sur les processus POSIX. Un processus hautement prioritaire se chargera d’exécuter les actions d’ordonnancement. Notamment il donnera des priorités moyennes aux processus utilisateurs qui auront été élus et laisseront les autres processus avec des priorités faibles. Il choisira également les cœurs sur lesquels les processus élus devront s’exécuter. L’ordonnanceur se chargera de faire exécuter des jeux de tâches classiques pour le temps réel.

La réalisation de cet environnement nécessitera éventuellement l’installation d’une machine virtuelle avec un système d’exploitation LINUX sur lequel les étudiants pourront disposer de privilèges tel que modifier les priorités.

Une fois cet environnement de prototypage réalisé, il s’agira d’implanter quelques algorithmes d’ordonnancement classiques des systèmes temps réel. Notamment les ordonnancements par table, par priorité ( !) et par échéance.

L’objectif ultime du projet consistera à implanter un ordonnancement pour systèmes de tâches à criticité mixte avec précédences. En l’occurrence, les systèmes à criticité mixte sont des systèmes avec différents niveaux de criticité comme nous en trouvons dans l’avionique, le ferroviaire ou l’automobile.

Ce projet requiert un intérêt certain pour la programmation en C, pour la programmation concurrente, pour les systèmes embarqués. Il s’adresse naturellement à des étudiants se destinant à la filière Systèmes Embarqués et éventuellement à la filière Systèmes et Logiciels Répartis.