Ajouter un commentaire

Par :
Prashant Dubal

mar, 03/06/2014 - 12:04

Depuis son lancement à la fin des années 80, et au cours des 25 dernières années, le système d'exploitation temps réel (RTOS) VxWorks de Wind River a su évoluer afin de s'adapter à la dynamique rapide du marché de l'embarqué. Le lancement dans les années 80 de processeurs 32 bits pour les équipements embarqués a offert la possibilité d'utiliser des systèmes d'exploitation dédiés dans les dispositifs. Dans les années 90, le passage de l'analogique au numérique au sein des appareils de contrôle, l'essor d'Internet, ainsi que l'arrivée massive des processeurs multicœur lors de la dernière décennie ont conduit à une plus grande connectivité. Récemment, l'avènement de l'Internet des Objets (IoT) a permis aux équipements de devenir plus intelligents : contrôle distribué et capacités de prise de décision sont désormais des réalités.

Une grande partie, voire la majorité des milliards d'appareils intelligents de l'Internet des Objets seront des systèmes embarqués équipés d'un système d'exploitation et beaucoup nécessiteront un système d’exploitation temps réel. Le cloud computing, les volumes de données en rapide évolution et les appareils connectés de plus en plus nombreux dans l'IoT sont la source de nouveaux défis, mais également de nombreuses opportunités. La nouvelle version du RTOS leader du secteur de Wind River, VxWorks 7 a été conçue pour relever ces défis pour les applications qui requièrent des capacités système temps réel dur.

Défis

Les dispositifs initialement autonomes et équipés d'un RTOS, tel que VxWorks de Wind River, sont à présent connectés à l'Internet des Objets et passeront d'appareils intelligents à des systèmes capables de décision intelligents. Cette nouvelle dynamique implique de nouvelles actions de la part des clients. Ils devront mettre les équipements connectés sur le marché plus rapidement, différentier les produits à l'aide de fonctionnalités et de capacités particulières, adresser les risques de sécurité inhérents à la connectivité de l'Internet des Objets, rendre les produits existants plus flexibles afin de profiter des nouvelles opportunités, ainsi que s'assurer que les produits restent pertinents et compétitifs, tout en réduisant les coûts de développement du système. Pour relever ces nouveaux défis et pour pouvoir se concentrer sur le développement de leurs applications, les clients réclament un RTOS flexible, sécurisé, sûr, ainsi qu'un middleware fournissant des services de connexion, des facilités de gestion et de virtualisation.

Modularité

Traditionnellement, un RTOS est un outil monolithique fourni avec un package logiciel comprenant le système d'exploitation, le middleware, des BSP et des outils. Les mises à jour apportées à ce package consistent généralement en des corrections de bugs et rarement en des ajouts de nouvelles fonctionnalités, en raison de la quantité prohibitive de codage et de tests requis pour leur mise en œuvre. Cependant, le paysage de l'Internet des Objets évolue beaucoup plus rapidement que les cycles de lancement des RTOS. Par conséquent Wind River a revu l'architecture de VxWorks en adoptant une approche hautement modulaire et flexible pour la conception et le déploiement de sa dernière version.

L’un des éléments fondamentaux de VxWorks 7 réside dans la séparation du noyau et des packages tels que le middleware, les protocoles réseau et les applications. Les cycles de vie des applications sont désormais totalement indépendants du noyau du système d'exploitation. Ainsi, les applications individuelles peuvent être mises à jour à tout moment. Plusieurs versions des packages peuvent coexister au sein de l'arbre de développement, permettant ainsi aux patchs ou aux nouvelles versions d'être installés ou retirés si nécessaire. En outre, VxWorks fournit également la possibilité d'utiliser différents compilateurs, permettant une importante flexibilité lors de l'optimisation des performances du système. Surtout, des middleware, des nouveaux protocoles de communication et d'autres packages peuvent être ajoutés ou mis à niveau via le modèle d’ « application store » sans modifier le noyau de base, dont Wind River garantit la stabilité pendant trois ans. Ces packages peuvent également inclure des plug-ins pour les nouvelles architectures matérielles de microprocesseurs tels que ARM, Freescale (PPC et QorlQ) ou Intel par exemple.

L'architecture modulaire de VxWorks 7 permettra aux fabricants d’équipements embarqués de démarquer leurs produits et de les rendre compétitifs sur de plus longues périodes grâce à la possibilité d’ajout de nouvelles fonctionnalités et caractéristiques (tout cela sans avoir à changer le noyau du système) adaptées au rythme de l'évolution des normes et des exigences du marché. Grâce à VxWorks 7, les fabricants seront en mesure de prolonger la vie du système sur plusieurs générations de leurs produits, et ainsi augmenter le retour sur investissement du système d'exploitation.

Evolutivité

La modularité de VxWorks 7 offre un très haut niveau d'évolutivité, permettant aux clients de choisir les packages d'applications qu'ils souhaitent, tels que des middleware basés sur la connectivité ou la sécurité en fonction de leur utilisation, du code, de leur empreinte mémoire, ainsi que selon les exigences du marché en termes de puissance des applications cibles. Les clients peuvent à présent créer des plates-formes communes entre plusieurs lignes de produits en installant VxWorks sur des dispositifs de classes différentes : des périphériques de petite taille, aux passerelles en passant par les systèmes intelligents complexes de grande échelle, tous sont essentiels à l'Internet des Objets (Voir Figure 1).


Figure 1 – Evolutivité des fonctions et des applications au sein des plates-formes IoT

De plus, un micro-noyau d'environ 20 Ko est également disponible en tant que profil de VxWorks 7. Ce micro-noyau cible les équipements ayant de fortes contraintes de taille, les dispositifs portatifs ou les systèmes multicoeurs de type big/small, où le plus petit cœur est en charge des traitements répétitifs ou d’offload matériel.(voir figure 2).


Figure 2 – Micro-noyau fonctionnant sur le petit coeur d'un processeur multicœur big/small

Sécurité

Un aspect essentiel de l'Internet des Objets est la sécurité ; en effet, la connectivité est également synonyme d'exposition aux menaces. Cependant, les capacités de sécurité intégrées à VxWorks 7 offrent aux concepteurs la possibilité de choisir le niveau de sécurité souhaité ou nécessaire. VxWorks 7 a été développé sur la base de 4 piliers de sécurité (voir Figure 3) : « Design » pour empêcher la présence de code malveillant lors du développement ; « Boot & Execute » pour empêcher l'exécution d’applications non fiables ; « Run Time » pour empêcher les attaques malveillantes pendant le fonctionnement et enfin « Power down » pour empêcher l'accès aux données lorsque le système est au repos. Les clients décident du niveau de sécurité qu'ils souhaitent mettre en place et si un ou plusieurs piliers sont appropriés, notamment en fonction de l'environnement de déploiement de l'appareil. La capacité d'accès aux dispositifs n'est pas la même dans un environnement du secteur de la défense et dans un centre commercial par exemple. Un élément de sécurité particulier est la chaine de confiance intégrée au pilier « Boot & Execute ». Cette dernière permet la signature numérique de toutes les applications, du bootloader aux applications en passant par l'image VxWorks. Cela signifie que seules les images autorisées seront chargées ou que des modules correctement identifiés seront exécutés. Au sein du pilier « Run Time », les clients peuvent définir des droits utilisateurs basés sur la politique d’utilisation.


Figure 3 – Les quatre piliers de sécurité de VxWorks 7

Sûreté

La sûreté est une exigence primordiale pour la plupart des systèmes embarqués, et les normes de sûreté sont bien établies sur les marchés tels que l'aérospatiale, le secteur médical et l'industrie, mais sont également appliquées sur d'autres marchés. Au fur et à mesure que les normes évoluent, il doit être plus simple pour les clients d'obtenir les certificats de sécurité et de sûreté obligatoires pour leurs produits. VxWorks 7 intègre un ordonnanceur temporel (voir la figure 4) intégré au système d'exploitation central, associé aux Real Time Processes (RTP), afin de fournir un partitionnement spatial et temporel permettant aux clients d'exécuter sur un même système des applications de différents niveaux de sûreté, ce qui réduit considérablement les coûts de certification des applications critiques. Par exemple, les fabricants de dispositifs médicaux ou de contrôleurs industriels peuvent prétendre à la certification CEI 61508 plus rapidement grâce à l’ordonnanceur de VxWorks 7 et aux RTPs. En substance, chaque ligne de code a un coût dans le monde de la certification. Cette nouvelle solution fait le lien entre un RTOS non-sécurisé et un RTOS tel que la plate-forme VxWorks 653 pour la certification ARINC 653 des applications avioniques.


Figure 4 – Partitionnement du temps, de l'espace et des ressources

Support

Une des nouvelles fonctionnalités disponibles dans VxWorks 7 est une meilleure prise en charge du développement des interfaces graphique utilisateur, une nouvelle connectivité et davantage d'options de stockage. L'interface utilisateur est un élément clé de différenciation des produits ; des téléphones mobiles, aux dispositifs médicaux, en passant par les systèmes de commande industrielle. Cette meilleure prise en charge inclut désormais des capacités graphiques open-source comme des piles graphiques basées sur OpenVG, des graphismes 3D avec assistance matérielle et des pilotes de framebuffer pour une large variété de processeurs.

Les équipements embarqués sont de plus en plus connectés à des réseaux dans de nombreuses applications telles que des systèmes de contrôle industriel, ou des dispositifs médicaux utilisés à domicile qui envoient des données de diagnostic au centre hospitalier. Parmi les nouveaux protocoles de connectivité de VxWorks 7 se trouvent Bluetooth / BLE, CAN, FireWire (IEE1394) et la stack Continua pour les applications de soins de santé, ainsi que la prise en charge de ZigBee, Wi-Fi et Ethernet. En outre, la fonctionnalité de stockage accrue de l'outil inclut la prise en charge de NAND, VFS (système de fichiers virtuels) et le stockage sécurisé de données du système de fichiers.

De plus, en association avec VxWorks 7, la suite d'outils Wind River Workbench a été améliorée. La suite d'outils est basée sur l'environnement de développement intégré (IDE) standard Eclipse (version 4.3.1) et sur les plug-ins Eclipse CDT (Outils de développement C/C++). Elle comprend des outils de configuration du noyau, des analyseurs de système et de mémoire, des simulateurs ainsi que de nombreux autres plug-ins disponibles via le vaste écosystème de fournisseurs tiers de Wind River. La clé des nouvelles fonctionnalités de Workbench est la possibilité d'insérer du code de manière dynamique, ou même d’en supprimer pendant que le système fonctionne. De nouveaux outils d'analyse de système fournissent également des capacités avancées de profilage de données et d'analyse des processeurs/de la mémoire dans diverses combinaisons graphiques, permettant un développement plus rapide et des coûts réduits pour les clients (voir figure 5).


Figure 5 – Capacités analytiques améliorées au sein de Wind River Workbench

En conclusion

Les RTOS de nouvelle génération doivent être modulaires, configurables et évolutifs afin de répondre entre autres, aux exigences de l'Internet des Objets. Non seulement VxWorks 7 peut renforcer les applications des clients sur les marchés traditionnels de l’embarqué tels que le secteur avionique, médical ou industriel, en mettant par exemple en place une certification de sûreté ou de sécurité plus rapidement, mais il peut également permettre aux clients de se développer vers les applications émergentes de l'IoT. Pour aider les clients, des « profils » VxWorks 7 sont également disponibles en tant qu'add-ons à la plate-forme centrale pour les marchés du médical, de l’électronique grand public et des réseaux ; c’est également le cas pour des profils technologiques spécifiques tels que le micro-noyau mentionné précédemment, des profils de sécurité et des applications de partitionnement basées sur un hyperviseur.

Dans l'ensemble, VxWorks 7 améliore l’évolutivité, la connectivité, la sûreté, la sécurité et apporte des fonctionnalités étendues au système d’exploitation, en plus de ses capacités déjà connues en termes de performance temps réel, de faible latence et adapté aux architectures multicœurs. La solution donne aux fabricants de systèmes embarqués les moyens de rester compétitif dans le monde de l'IoT en leur permettant de mettre sur le marché plus rapidement des équipements évolués tout en réduisant les risques et les coûts de développement et de maintenance.

A propos de l'auteur

Prashant Dubal
Outils de développement et infrastructure VxWorks chez Wind River

Prashant Dubal est chef de produit chez Wind River et gère VxWorks, les outils de développement et l'équipe de gestion de l'infrastructure produit. Il a occupé plusieurs postes chez Wind River, notamment en tant qu’ingénieur avant vente  et architecte de solutions. Prashant Dubal a plus de 13 années d'expérience dans l'industrie de l'embarqué et est titulaire d'une maitrise en ingénierie électronique obtenue à l'université de Mumbai en Inde.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 H  H  H  H  V     V  FFFF  BBBB  
H H H H V V F B B
HHHH HHHH V V FFF BBBB
H H H H V V F B B
H H H H V F BBBB