Accueil Instrumentación Linux en temps réel : la naissance d'une nouvelle ère du design...

Linux en temps réel : la naissance d'une nouvelle ère de conception embarquée.

 

Article cédé par National Instruments 

Peu de temps après sa création, le système d'exploitation Linux est devenu courant dans la conception de systèmes embarqués, car un système d'exploitation open source était très attractif car il était pris en charge par la communauté et était gratuit et accessible. L'adoption de Linux dans la conception de systèmes embarqués est la seule chose à espérer, car Linux est hautement personnalisable, supporte une large gamme d'architectures de processeurs (par exemple ARM, x86, etc.) et dispose d'une communauté facilement accessible qui est riche en applications et code. Une récente étude de marché embarquée indique clairement que Linux revendique actuellement plus de 50% des systèmes d'exploitation embarqués utilisés, bien qu'il n'y ait pas de distribution individuelle représentant plus de 20% du marché. 

Malgré les avantages que Linux offre aux concepteurs embarqués, il n'a jamais été adapté à ceux qui cherchent à répondre aux exigences des applications temps réel hautes performances. Dès le début, les développeurs de logiciels embarqués ont essayé diverses techniques pour améliorer les performances de Linux pour une utilisation en temps réel. Bien que les concepteurs embarqués aient proposé de nombreuses solutions, il n'y avait pas d'approche cohérente et largement acceptée des performances en temps réel avec Linux. Au fil des ans, une technique qui a attiré une attention particulière est l'approche hybride consistant à utiliser la technologie "hyperviseur" pour combiner Linux avec un système d'exploitation en temps réel (RTOS) dédié pour une utilisation dans des applications intégrées avec des exigences en temps réel. 

Le marché de l'embarqué voit quelques solutions basées sur un hyperviseur, qui permettent aux utilisateurs d'exécuter Linux parallèlement à un RTOS plus dédié. Les exemples incluent Green Hills INTEGRITY Multivisor et CODEZERO Embedded Hypervisor de B Labs.Malheureusement, ces solutions semblent passer à côté de l'essentiel, ne comprenant pas pourquoi les concepteurs embarqués essaient d'utiliser Linux. Au contraire, les solutions d'hyperviseur disponibles augmentent la complexité du système au détriment de la convivialité et exigent une plus grande spécialisation des équipes de conception embarquées. 

Ce n'est que récemment qu'une alternative convaincante a émergé pour les concepteurs de systèmes embarqués. Alors que l'utilisation de Linux continue de mûrir sur les marchés embarqués, les développeurs ont fait des progrès en ajoutant des fonctionnalités qui améliorent le déterminisme du noyau Linux lui-même. Grâce à l'arrivée récente du jeu de correctifs PREEMPT_RT, la communauté Linux a unifié son approche des performances en temps réel avec Linux. Ce qui est particulièrement pertinent à propos de cette solution, c'est qu'un seul système d'exploitation en temps réel basé sur Linux permet aux développeurs d'obtenir des avantages de performances en temps réel avec l'accessibilité, la convivialité et le support communautaire qui sont disponibles dans les systèmes d'exploitation spécialement conçus. 

Un RTOS Linux construit avec l'ensemble de correctifs PREEMPT_RT inclut une gigue au même niveau que les autres RTOS dédiés, tels que VxWorks de WindRiver ou Zero's Interval. De même, en ce qui concerne l'utilisation du processeur en fonction de la vitesse de boucle, un RTOS PREEMPT_RT basé sur Linux offre des performances équivalentes ou supérieures à celles d'autres RTOS dédiés. En grande partie, cette amélioration des performances au niveau de l'application, mesurée par un gain inférieur d'utilisation du processeur à des taux de boucle plus élevés, est le résultat de la disponibilité d'un calendrier système RTOS basé sur Linux. Contrairement à la plupart des RTOS dédiés, un RTOS basé sur Linux peut offrir à la fois un planificateur en temps réel pour les tâches critiques et un planificateur beaucoup plus efficace et complet pour toutes les tâches non en temps réel. 

Le consensus croissant est que PREEMPT_RT permet un RTOS basé sur Linux qui offre des performances similaires à d'autres RTOS existants. Atteindre ce niveau de performance est idéal à la fois pour les utilisateurs de Linux qui cherchent à s'attaquer à des applications en temps réel plus performantes et pour ceux qui s'appuient actuellement sur des RTOS dédiés qui cherchent à bénéficier de la stabilité, de la facilité d'utilisation et du support de la communauté qui propose Linux. La grande communauté d'IP et d'outils ainsi que la base importante d'utilisateurs expérimentés permettent aux concepteurs plus d'autonomie pour augmenter les fonctionnalités de leur solution à moindre coût de développement. De nombreuses améliorations du système d'exploitation peuvent être rapidement exploitées, par exemple, la pile réseau mature et stable fournie par Linux prend en charge les véritables cartes d'interface réseau (NIC) DHCP doubles et offre une prise en charge des protocoles de communication tels que IPv6 et SNMP. 

L'ensemble de correctifs PREEMPT_RT fournit quelques vecteurs de différenciation clés qui sont essentiels pour les concepteurs de systèmes embarqués. Il étend la flexibilité offerte par Linux pour diverses architectures matérielles, et la conception d'un système d'exploitation unique rend l'allocation des ressources beaucoup plus simple. 

En conséquence, les utilisateurs bénéficient d'une plus grande facilité d'utilisation, de capacités de programmation plus intuitives et de capacités de gestion et de configuration améliorées du système. Au-delà de la flexibilité matérielle, un RTOS Linux permet aux équipes de conception embarquées d'ajouter et de former plus facilement des développeurs de logiciels compte tenu de l'omniprésence de Linux et de l'offre relativement importante d'utilisateurs et de ressources Linux. Grâce à l'accès à un RTOS basé sur Linux plus accessible et familier, les équipes de conception embarquée peuvent relever plus efficacement les défis de conception embarquée avec un ensemble consolidé de chaînes d'outils logiciels. 

Alors que PREEMPT_RT continue de se développer en tant que méthode standard d'obtention de fonctionnalités en temps réel avec Linux, le marché commence à reconnaître un nombre croissant de solutions basées sur Custom Off-The-Shelf (COTS), qui offrent des RTOS basés sur Linux. Un exemple est le nouveau contrôleur cRIO-9068 de National Instruments, qui comprend un RTOS basé sur Linux ouvert et bien entretenu dans un format compact et robuste. Le contrôleur cRIO-9068 prend en charge le développement d'applications à l'aide du logiciel de conception de systèmes NI LabVIEW et des outils C/C++ qui permettent aux utilisateurs de réutiliser efficacement le code C/C++ et de tirer parti de la communauté Linux tout en bénéficiant de l'interface de développement intuitive fournie par LabVIEW. 

La conception embarquée est désormais plus accessible aux équipes de conception de logiciels expérimentées 

limité en matériel en raison des solutions COTS basées sur Linux RTOS. Pour les équipes de conception plus expérimentées, ces solutions offrent une voie beaucoup plus efficace vers le marché ; car les ressources de l'équipe peuvent être consacrées à des tâches spécifiques à l'application plutôt qu'à des tâches de routine, telles que la conception et l'agencement de connecteurs pour les périphériques du processeur ou l'écriture d'intergiciels pour intégrer les composants du processeur aux périphériques. 

De plus, pour les équipes désireuses de composants logiciels open source, un RTOS Linux intégré dans une solution COTS par un fournisseur désireux de maintenir et de mettre à jour le système d'exploitation offre suffisamment de confiance et de responsabilité pour justifier l'investissement. Les premiers utilisateurs sont déjà témoins de ces avantages. 

« Le système d'exploitation temps réel basé sur Linux NI cRIO-9068 change la donne », a déclaré Wolfram Koerver, PDG de SEA Datentechnik GmbH. « Avec le NI cRIO-9068, nous pouvons ajouter des fonctionnalités et des technologies importantes à notre plate-forme d'enregistrement de données que nous ne pouvions pas faire auparavant. 

Les efforts de développement pour mettre en œuvre les fonctions et fonctionnalités requises ont été réduits d'au moins 80 % par rapport aux solutions basées sur VxWorks. » 

Alors que les offres Linux RTOS deviennent plus courantes dans les solutions COTS, les utilisateurs doivent rechercher les architectures matérielles sous-jacentes qui offrent le plus de flexibilité. Par exemple, le contrôleur cRIO-9068 est doté de l'architecture RIO (E/S reconfigurables) de NI LabVIEW, qui permet aux utilisateurs de répondre à un ensemble très diversifié de besoins. La polyvalence offerte par l'architecture LabVIEW RIO est due à un processeur qui fonctionne en conjonction avec un FPGA avec accès aux E/S. 

Les utilisateurs peuvent rapidement mettre sur le marché des solutions hautement différenciées avec du matériel COTS flexible doté d'un RTOS basé sur Linux. Cette nouvelle technologie métier permet aux utilisateurs de réutiliser le code et de bénéficier de fonctionnalités accrues, comme le montre LocalGrid™ Technologies. 

« Dans les 24 heures suivant la réception d'un contrôleur cRIO-9068, nous exécutions notre application logicielle LabVIEW existante sans problème », a déclaré Bob Leigh, président-directeur général de LocalGrid Technologies. "Nous sommes impressionnés par la facilité de transition logicielle entre les systèmes CompactRIO et l'incroyable amélioration des performances du nouveau contrôleur conçu par logiciel." 

Alors que le noyau Linux principal continue d'améliorer des fonctionnalités telles que l'isolation du noyau et la gestion de la mémoire, PREEMPT_RT constituera une solution de plus en plus attrayante pour les concepteurs de systèmes embarqués. 

Attirant les développeurs Linux et RTOS traditionnels, un RTOS basé sur Linux offre des opportunités significatives, en particulier lorsqu'il est mis à disposition sur une plate-forme COTS résiliente, robuste et flexible. Cette approche permet aux concepteurs de se concentrer sur des problèmes tels que l'intégration ou la sécurité du système, tandis que la maintenance et les mises à jour du système d'exploitation dépendent du fournisseur, ce qui optimise encore leur conception. 

Les solutions COTS proposées par Linux RTOS permettront aux concepteurs de garder une longueur d'avance sur les pressions du marché, en mettant sur le marché des conceptions innovantes plus rapidement que jamais, inaugurant une nouvelle ère de conception embarquée.