Présentation
EnglishRÉSUMÉ
Les applications d'informatique industrielle ont des problématiques particulières en termes de productivité, de fiabilité et de performances. Linux est aujourd'hui robuste et possède de plus en plus de références dans le monde du temps réel et de l'embarqué. Cet article présente les caractéristiques de Linux, notamment par rapport aux spécificités du temps réel. Un cas d'application vient illustrer cette présentation.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Robert JAY : Directeur technique, UXP
-
Fathi BOUDRA : Ingénieur applications, UXP
-
Matthieu VIAL : Ingénieur applications, UXP
INTRODUCTION
Les notions de temps réel et de communication dans un système d’exploitation sont indispensables pour les applications techniques et industrielles, et nous partageons ici notre expérience quotidienne du système Linux dans le domaine de l’automation, particulièrement exigeant en termes de réactivité, fiabilité et répétabilité.
En effet, les concepteurs de systèmes automatisés de production (SAP) doivent faire face à des contraintes de plus en plus sévères, des exigences de performances en terme de qualité et de productivité, l’utilisation et le suivi des nouvelles technologies tant pour les capteurs et actionneurs qu’au niveau électronique de contrôle-commande, etc., sans parler des progrès énormes des matériaux et de la mécanique.
Nous traitons ici des aspects temps réel et déterministes nécessaires aux applications d’informatique industrielle, communication et automation, en laissant le soin à l’utilisateur d’extrapoler vers d’autres domaines d’application.
Le monde industriel utilise de plus en plus de PC, déclinés sous toutes les formes : bureautique, industriel en « rack », « shoe box », panel PC, etc. Leur facilité de communication et de fonctionnement coopératif en réseau répond aux besoins d’échanges d’informations pour assurer la réactivité de la production. Ils sont donc entrés dans les ateliers en particulier pour superviser et contrôler des machines de production. On leur confie des tâches de plus en plus complexes, et ils supportent même des applications d’automatisme et de commande numérique. Mais, dans ce cas, on exige d’eux des qualités de robustesse, de fiabilité, de sécurité et bien sûr de performance.
Si le matériel répond aujourd’hui à ces critères, il n’en est pas de même pour certains systèmes d’exploitation, développés à l’origine pour des applications bureautiques, donc non critiques. L’utilisateur industriel doit se tourner vers un système d’exploitation répondant à ses exigences, en étant assuré de la pérennité du système, de sa large diffusion et de son évolutivité. C’est le cas du système Linux arrivé à présent à maturité avec un nombre de plus en plus important de références dans les applications critiques et embarquées.
Linux est devenu un système d’exploitation robuste intégrant les fonctionnalités d’Unix avec un choix important d’applications et de logiciels libres associés. La qualité de ces logiciels et leur large diffusion font de Linux un produit économique, offrant une plate-forme informatique supportée qui convient à l’environnement de l’entreprise industrielle. Système stable et fiable, Linux répond aux besoins des applications critiques et temps réel de l’entreprise industrielle, en particulier au niveau de la communication dans l’atelier et du contrôle-commande des systèmes automatisés de production.
Certaines informations font l’objet de travaux soumis à la propriété industrielle, notamment l’application du paragraphe 4. Le lecteur trouvera des compléments d’information en consultant les sites Internet cités dans .
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Automatique et ingénierie système
(139 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Différentes approches et solutions
3.1 Linux, le noyau temps réel
3.1.1 Comment rendre Linux temps réel
La première approche pour améliorer les caractéristiques temps réel de Linux consiste à rechercher dans le noyau les portions de code dont l’exécution est trop longue et d’y insérer des points d’ordonnancement explicites. Lorsque le noyau rencontre un point d’ordonnancement explicite, il peut décider de finir d’exécuter le traitement en cours ou bien de donner la main à une tâche plus prioritaire. Cela permet de minimiser le temps de traitement des interruptions ou l’ordonnancement des tâches temps réel. En effet, la longueur de la plus longue section de code du noyau non préemptive détermine le temps de latence maximum que l’on peut garantir pour un temps réel dur. Le problème de cette solution, dite low-latency patch, est qu’il est impossible de trouver toutes les portions de code du noyau à problème.
Cette solution peut être utilisée conjointement avec un autre correctif qui permet de rendre le noyau Linux préemptif (preemptive-kernel patch ). Le principal obstacle pour rendre le noyau préemptif est que ce dernier devient réentrant, c’est-à-dire que les fonctions peuvent subir des appels multiples et concourants qui ne doivent pas interférer entre eux. Heureusement, le problème de préemption peut être résolu en profitant du support SMP (symmetric multiprocessing ) de Linux. En effet, sur une machine multiprocesseur, le code peut s’exécuter sur les différents processeurs simultanément. Le noyau fournit déjà des fonctionnalités (spin lock ) qui permettent de protéger les sections critiques. La notion de spin lock utilisée pour les architectures SMP a donc simplement été étendue pour inclure la notion de zone non préemptible.
Dans ce type d’approche combinée, l’ordonnanceur standard de Linux utilisant une priorité dynamique est insuffisant. Il est impératif que l’application qui nécessite un temps de réponse fiable ait une priorité d’exécution supérieure aux autres applications du système. Cela permet de garantir que l’application sera privilégiée lors du réordonnancement des tâches par le noyau.
Linux fournit trois politiques d’ordonnancement...
Cet article fait partie de l’offre
Automatique et ingénierie système
(139 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Différentes approches et solutions
BIBLIOGRAPHIE
-
(1) - SOULEMA (P.) - Système d’exploitation Unix. - H 1 528, traité Technologies logicielles - Architectures des systèmes (1997).
-
(2) - COCQUEBERT (C.) - Système Linux. - H 1 538, traité Technologies logicielles - Architectures des systèmes (2001).
-
(3) - DELACROIX (J.), MÉNIVAL (C.) - Système temps réel RTLinux. - H 1 568, traité Technologies logicielles - Architectures des systèmes (2002).
-
(4) - AIGRAIN (P.) - Logiciels libres. - H 3 218, traité Technologies logicielles - Architectures des systèmes (2003).
-
(5) - COLOMBARI (G.), BRARD (P.) - Outil de description des automatismes séquentiels : le GRAFCET. - R 7 250, traité Informatique industrielle (1988).
-
(6) - TRINQUET (Y.), ELLOY (J.-P.) - Systèmes...
NORMES
-
Documentation et symboles graphiques – Établissement des diagrammes fonctionnels pour systèmes de commande – Diagramme fonctionnel « GRAFCET » – Extension des concepts de base. - UTE C03-191 - 06-93
-
Langage de spécification GRAFCET pour diagrammes fonctionnels en séquence. - CEI 60848 - 02-02
-
Automates programmables. - CEI 61131 - 2003
ANNEXES
Linux temps réel par Nicolas Ferre
Linux FranceAssociation francophone des utilisateurs de Linux (AFUL)Linux DevicesLinux JournalRTAIhttp://www.aero.polimi.it/~rtai
RTLinuxLow Latency Patchhttp://www.zip.com.au/~akpm/linux/schedlat.html
Preemptible Kernel Patchhttp://www.tech9.net/rml/linux
Fonctions de l’APIhttp://bernia.disca.upv.es/rtportal/comparative/api.html
SELIAtecUXP HAUT DE PAGECet article fait partie de l’offre
Automatique et ingénierie système
(139 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive