Bonjour,
Pour implémenter des tâches temps réel avec RTAI, j'ai utilisé l'extension LXRT qui permet de travailler en espace utilisateur.
Mon problème c'est comment je peux contrôler mon système??
par exemple quand la durée d'exécution d'une tâche dépasse la période, comment faire pour détecter ça?
est ce qu'il ya des fonctions implémentées dans RTAI qui font ça?
ou il faut implémenter d'autres tâches qui contrôlent?
J'attends vos réponses et merci d'avance.
# je ne comprend pas
Posté par NeoX . Évalué à 1.
mais de confier cette tache à l'ordonnanceur
qui va prioriser les taches en fonction des criteres internes à l'ordonnanceur
[^] # Re: je ne comprend pas
Posté par briaeros007 . Évalué à 2.
le but d'un système temps réel (en tout cas dans le principe) est de dire "tel tache système (appel système, ...) ne peut pas duré plus que x ms/µs".
Ensuite le dvp utilise ces données, et peut donc mettre des bornes supérieur sur la durée d'execution du programme/partie du programme.
on est donc sur qu'une tache bien définie se terminera dans la borne max alloué, et se verra attribué suffisament de ressource pour qu'il effectue sa tache.
Il ne devrait pas avoir de "priorité" dans un ordonnancement temps réel, mais des deadlines. (tel tache doit être exécutée avant tel date).
Ensuite c'est le boulot de l'admin/dvp de pas demander des contraintes impossibles a tenir. (typiquement lancer 2 programmes en parallèles, qui chacun font 0.8s de traitement, et demander que chaque traitement doit débuter au plus tard 1 seconde après le début du traitement précédent).
Comment contrôler la durée de chaque tache pour pouvoir définir ses politiques, ca par contre j'en ai aucune idée.
[^] # Re: je ne comprend pas
Posté par christiano . Évalué à 1.
En tout cas je croix qu'on doit le faire nous même...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.