Mais savez vous qu'il existe une extension temps réel pour le noyau Linux. C'est en GPL, ça se présente sous la forme d'un patch pour les sources et c'est produit par le Département d'ingéniérie spatiale de l'université polytechnique de Milan. Techniquement c'est un ordonnanceur temps réel dans lequel Linux devient une tâche de faible priorité. Les principales architectures sont supportées : x86, PowerPC, ARM, MIPS.
Tous les avantages de Linux pour développer vos applications temps réel embarqué... le rêve ! Et en plus ça permet d'utiliser les flottants et la bibliothèque mathématique quand on est en mode noyau, dans un pilote.
Il y a également un support pour faire du quasi-temps réel en mode user.
Eh oui Linux peut aussi être un concurrent pour Vxworks (il n'y a pas que Windows dans la vie)
Aller plus loin
- DIAPM RTAI - Realtime Application Interface (59 clics)
# Re: Temps réel avec le noyau Linux
Posté par the_freeman . Évalué à 8.
Toujours au sujet du temps réel, il y a un article, d'un assez bon niveau, à ce sujet dans le Linux Mag' de ce mois-ci (enfin celui de Juillet/Aout), cf la news au sujet de sa sortie: http://linuxfr.org/2003/07/03/13137.html(...)
</pub>
[^] # Re: Temps réel avec le noyau Linux
Posté par let antibarbie = xp <- xp - 1 . Évalué à 2.
---
Non aux votes en fonction de la moyenne des notes a nos précédents commentaires!
# noyau flottant ??
Posté par benja . Évalué à 6.
Theo de Raadt y est fermement opposé cf. http://www.monkey.org/openbsd/archive/tech/0305/msg00123.html(...)
[^] # Re: noyau flottant ??
Posté par Loic Jaquemet . Évalué à 6.
j'aime bien la réponse : http://www.monkey.org/openbsd/archive/tech/0305/msg00126.html(...)
[^] # Re: noyau flottant ??
Posté par koopa . Évalué à 1.
quand on fait des taches temps réels, elles tournent en mode noyau
or très souvent ces processus font des calculs scientifiques (exemple un apparail de control et de mesure) alors on est bien content de pouvoir utiliser les nombres flottants.
[^] # Re: noyau flottant ??
Posté par gege (site web personnel) . Évalué à 1.
Donc si on veut faire du commande/controle sur des systèmes réels, il faut bien utiliser les flottants dans le noyau (avec les inconvénients évoqués par de Raadt).
Les solutions actuelles offrent des moyens de communiquer facilement entre le monde temps-réel et le monde linux normal pour y déporter une partie des traitements (fifos, shared memory...), mais dans tous les cas on perd l'aspect temps réel (donc utilisé simplement pour du log, des actions asynchrones...).
[^] # Re: noyau flottant ??
Posté par Nicolas Boulay (site web personnel) . Évalué à 1.
"La première sécurité est la liberté"
# Re: Temps réel avec le noyau Linux
Posté par kb . Évalué à 1.
[^] # Re: Temps réel avec le noyau Linux
Posté par Jonathan ILIAS-PILLET (site web personnel) . Évalué à 8.
Et à ce sujet, le temps de réponse est un critère presque moins important que le déterminisme. On cherche en général les durées moyennes et max pour les primitives utilisées, le temps de réponse des interruptions, le changement de contexte, etc...
[^] # Re: Temps réel avec le noyau Linux
Posté par fleny68 . Évalué à 2.
Si tu prends un système quelconque qui réponds en 1us dans 99 % du temps, ce n'est pas du temps réel.
[^] # Re: Temps réel avec le noyau Linux
Posté par xavier philippon . Évalué à 6.
En plus d'être déternimiste, le temps de réponse doit être en rapport avec le processus que l'on contrôle.
Pour réguler la température d'un batiment, un temps de réponse d'une minute permet de faire du temps réel. Une Clim auto sur une voiture, a un temps de réponse d'une dixaine de seconde.
Dans certain cas, le fait dêtre trop rapide, peu poser des problèmes.
Un assevissement trop rapide, ne peut pas controler un processus trop lent, on arrive facilement à un phénomène de pompage.
L'armée américaine a perdu un proto d'avion, YF22 ou YF23, comme ça. Le pilote a mis son zinc dans une config, basse vitesse, où la trajectoire réagissait plusieurs secondes après l'action sur les gouvernes. L'avion c'est mis a faire un mouvement de montagne russe et le pilote a du s'ejecter !
Si quelqu'un retrouve la video, je suis preneur.
[^] # Re: Temps réel avec le noyau Linux
Posté par Dugland Bob . Évalué à 1.
# solution module noyau
Posté par free2.org . Évalué à 1.
[^] # Re: solution module noyau
Posté par koopa . Évalué à 2.
et comment on fait si on a plusieurs taches temps réel de niveaux de priorités différentes ??
[^] # Re: solution module noyau
Posté par un_brice (site web personnel) . Évalué à 2.
D'ailleurs ça serait peut être pas si efficace paske la latence dépendrais de ce qui se passe ailleurs dans le noyeau. Et, sans pouvoir en être sur, je doute de la qualité de l'ordonanceur qui gère les diffèrents modules et du fait qu'il permette (par exemple) d'interrompre un module à n'importe quel moment pour lui substituer un module de priorité supèrieure (je crois pas qu'il gère la notion de priorité). Donc le système serais bloqué si le module est trop important.
Après on peut faire on module qui se charge juste de ce qui est fortement contraint et comunique avec l'espace utilissateur pour le reste, mais ça reviendrais à réinventer la roue puisque des kits (dont RTAI) existent pour ça.
Tout ces problèmes sont contournés par la solution retenue par certains projets (comme RTLinux si je confonds pas), à savoir ajouter un vrai ordonanceur temps réel qui se place "au dessus" du noyeau (pour cet ordonanceur, GNU/Linux est ses applications sont un process, de même que chaque application temps réel). Elle semble donc bien avoir un interêt.
Et RTAI aussi, qui intercepte certaines interruptions pour donner la main à ses applications temps réel quand elles ont lieu (dans l'optique de répondre rapidement à un périphèrique) (si j'ai bien compris).
[^] # Re: solution module noyau
Posté par kicou . Évalué à 2.
en GPL modifié (style LGPL) c'est RTEMS.
Je sais pas si quelq'un a des retours dessus ?
[^] # Re: solution module noyau
Posté par Nicolas Boulay (site web personnel) . Évalué à 1.
eCos qui appartient à Red Hat est repris par une boite anglaise et semble bien plus dynamique.
"La première sécurité est la liberté"
# schedutils
Posté par free2.org . Évalué à 1.
apt-get install schedutils
cela installe des programmes qui exploitent les APIs posix realtime avec lesquelles linux est compatible depuis longtemps (sans garantie de temps de réponse, mais avec la garantie que les process realtime seront toujours prioritaires avant les autres, ce que même nice --20 ne garantit pas)
il est étonnant que les applications de gravage/musique/video n'utilisent pas (à ma connaissance) ces API
[^] # Re: schedutils
Posté par free2.org . Évalué à 1.
[^] # Re: schedutils
Posté par grmbl . Évalué à 1.
J'ai effectivement pas besoin de temps réel dur, mais juste de m'assurrer que l'affichage ou le swap, par exemple ne soient en aucun cas prioritaires par raport à la diffusion audio.
Je plussoie dès que possible.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.