bonjour,
j'ai compilé un noyau 2.6.14 patcher xenomai-2.1-rc2, j'ai noyau qui tourne, cependant lorsque j'essais de faire tourner des taches vxWorks sous mon noyaux (les taches vxworks deviennent des threads sous linux)tous s'exécutant au sein d'un seul et même process.
. Or, j'ai choisi que ce process s'exécute en mode 'User', pour plus de
commodité, et aussi parce que la programmation 'kernel' me fait un peu
peur ...
. LXRT est le mécanisme qui permet à un process 'User' d'être quand même
'temps réel' : Si j'ai bien compris, le fonctionnement de la tâche se fait
principalement en mode kernel 'temps réel', et à chaque fois qu'un appel
système doit être fait, on repasse en mode 'Linux' standard pendant tout
le temps que dure ce service ...
. Il semble malheureusement que dès qu'un appel système est lancé dans un
des thread (typiquement la fonction select avec un timeout de plusieurs
centaines de mS est systématiquement utilisée dans les tâches 'réseau'),
alors le fonctionnement temps réel des autres thread est complètement coincé !
Pour illustrer cela, j'ai fait une application très simple, On crée 5 tâches qui
impriment un messages tous les 100 ticks.
Après la création, si la tâche principale bloque sur un scanf pour
attendre une validation opérateur, alors tout s'arrête.
En revanche, si la tâche boucle en testant le clavier (fonction kbhit) et
en faisant des taskDelay(), le fonctionnement continue.
est ce que ce comportement est normal?
et comment faire pour le contourner?
merci!!!
gdroopy
# Temps réél et Linux: Le grand amour
Posté par Ph Husson (site web personnel) . Évalué à 2.
Enfin bon apres c'est mon experience mais j'ai toujours vu partout que Linux ne gérait pas le temps réél qu'il etait pas prevu pour, alors bon je comprends pas trop....
[^] # Re: Temps réél et Linux: Le grand amour
Posté par durandal . Évalué à 1.
[^] # Re: Temps réél et Linux: Le grand amour
Posté par gilles mendes . Évalué à 1.
linux n'est pas nativement un os temps réel, bien que le noyaux 2.6 intègre la gestion des priorités (pour du temps réel "mou") mais un noyau patcher avec xenomai devient temps réel (xenomai issu du projet RTAI). voila pour l'histoire du temps réel, j'aimerai bien que tu me donne les modifications noyau pour faire tourner mes applis
merci
Gilles
# dtyj
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
sinon, comme dis au dessus, tu as peut-être choisis un mauvais comportement de scheduling pour ton thread principal qui garde toujours la main.
"La première sécurité est la liberté"
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.