Création et exécution d’un ensemble de tâches dépendantes sur le noyau temps réel LITMUS-RT (dérivé de LINUX)

Occurrences : 

2020

Nombre d'étudiants minimum: 

2

Nombre d'étudiants maximum: 

4

Nombre d'instances : 

1

Le noyau LITMUS-RT a été conçu par la communauté scientifique pour évaluer des des implémentations d’algorithmes d’ordonnancement temps réel. Par exemple, un algorithme peut consister à exécuter la tâche la plus prioritaire en premier, les priorités étant affectées aux tâches de manière à ce qu’elles garantissent leurs propriétés temporelles.

En général, ces implémentations sont évaluées sur des ensembles de tâches indépendantes et LITMUS-RT fournit un programme pour lancer de telles tâches. Or, pour faire des tests réalistes, nous souhaitons pouvoir lancer des tâches dépendantes. En l’occurrence, une tâche avant de s’activer doit pouvoir attendre que les tâches dont elle dépend se soient terminées. Par exemple, les données d’entrée de la tâche sont les données de sortie des tâches dont elle dépend.

L’objectif du projet vise donc à concevoir un programme qui globalement 1) lit un fichier de configuration de tâches fournissant leurs paramètres temporels ainsi que les tâches dont elle dépend, 2) crée ces tâches et 3) assure que celles-ci s’activent en respectant leurs dépendances.

En l’occurrence, le travail sera similaire à la création de processus et à des blocages de processus en attendant que des données soient produites. Ce sera l’opportunité de découvrir les enjeux des application temps réel. Il ne s’agira pas de modifier un noyau. Par contre, la création et la manipulation des tâches feront appel à l’API de manipulation de tâches de LITMUS-RT. Ce sera éventuellement l’occasion de faire exécuter le noyau sur une machine virtuelle.