Forum Linux.embarqué Contrôler des tâches temps réel avec LXRT (RTAI)

Posté par  .
Étiquettes : aucune
0
17
juil.
2009
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  . Évalué à 1.

    il me semble que le but de rendre un systeme temps reel c'est justement de ne pas avoir à "controler" chaque appli

    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  . Évalué à 2.

      Controler la priorité des processus, c'est ce que fait un ordonnanceur standard.


      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  . Évalué à 1.

        Normalement un système temps réel doit avoir des fonctions dont l'appel nous permet de savoir si l'exécution de la tache crée (avec sa période et sa priorité) a dépassé la période ou non, car le rôle d'un ordonnanceur temps réel n'est pas seulement affecter une priorité, une période et une fonctionnalité à la tâche, mais il faut aussi détecter si elle a respecté les échéances ou non. A quoi sert un système Temps Réel comme RTAI ou RTLinux s'ils ne peuvent pas contrôler ça???
        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.