VxWorks - VxWorks

VxWorks
VxWorks icon.svg
Écran de démarrage VxWorks 7.png
Écran de démarrage de VxWorks 7
Développeur Wind River (une filiale en propriété exclusive de TPG Capital )
Famille d'OS Systèmes d'exploitation en temps réel
État de fonctionnement Courant
Première version 1987 ; il y a 34 ans ( 1987 )
Dernière version VxWorks 7 SR0660 / 2 décembre 2020 ; il y a 8 mois ( 2020-12-02 )
Cible marketing Systèmes embarqués
Plateformes x86 , x86-64 , MIPS , PowerPC , SH-4 , ARM , RISC-V
Type de noyau Monolithique
Licence Propriétaire
Site officiel Windriver.com/products/vxworks

VxWorks est un système d'exploitation en temps réel (RTOS) développé en tant que logiciel propriétaire par Wind River Systems , une filiale en propriété exclusive de TPG Capital, aux États-Unis. Lancé pour la première fois en 1987, VxWorks est conçu pour être utilisé dans des systèmes embarqués nécessitant des performances déterministes en temps réel et, dans de nombreux cas, une certification de sûreté et de sécurité, pour des industries telles que l'aérospatiale et la défense, les dispositifs médicaux, les équipements industriels, la robotique, l'énergie, les transports, l'infrastructure réseau, l'automobile et l'électronique grand public.

VxWorks prend en charge l'architecture AMD/Intel, l'architecture POWER, les architectures ARM et RISC-V. Le RTOS peut être utilisé dans des conceptions de multitraitement asymétrique multicœur (AMP), de multitraitement symétrique (SMP) et de modes mixtes et multi-OS (via l'hyperviseur de type 1) sur des processeurs 32 et 64 bits .

VxWorks est fourni avec le noyau, le middleware, les packages de prise en charge des cartes, la suite de développement Wind River Workbench et des technologies logicielles et matérielles tierces complémentaires. Dans sa dernière version, VxWorks 7, le RTOS a été repensé pour la modularité et l'évolutivité afin que le noyau du système d'exploitation soit séparé des middleware, applications et autres packages. L'évolutivité, la sécurité, la sécurité, la connectivité et les graphiques ont été améliorés pour répondre aux besoins de l' Internet des objets (IoT).

Histoire

VxWorks a commencé à la fin des années 1980 en tant qu'ensemble d'améliorations d'un simple RTOS appelé VRTX vendu par Ready Systems (devenu un produit Mentor Graphics en 1995). Wind River a acquis les droits de distribution de VRTX et l'a considérablement amélioré en ajoutant, entre autres, un système de fichiers et un environnement de développement intégré . En 1987, anticipant la résiliation de son contrat de revendeur par Ready Systems , Wind River a développé son propre noyau pour remplacer VRTX au sein de VxWorks.

Publié en 2003 avec un copyright Wind River, "Real-Time Concepts for Embedded Systems" décrit l'environnement de développement, les paramètres d'exécution et les familles d'appels système du RTOS. Écrit par des employés de Wind River avec une préface de Jerry Fiddler, président et co-fondateur de Wind River, le manuel est un excellent tutoriel sur le RTOS. (Cependant, il ne remplace pas la documentation de Wind River comme cela pourrait être nécessaire pour les ingénieurs en exercice.)

Les étapes clés de VxWorks sont :

  • Années 1980 : VxWorks ajoute la prise en charge des processeurs 32 bits.
  • Années 90 : VxWorks 5 devient le premier RTOS avec une pile réseau.
  • Années 2000 : VxWorks 6 prend en charge SMP et ajoute des plates-formes dérivées spécifiques à l'industrie.
  • Années 2010 : VxWorks ajoute la prise en charge du traitement 64 bits et introduit VxWorks 7 pour l'IoT en 2016.
  • Années 2020 : VxWorks continue de mettre à jour et d'ajouter du support, y compris l'alimentation de l' atterrisseur Mars 2020 [2]

Présentation de la plate-forme

VxWorks prend en charge l'architecture Intel, l'architecture Power et les architectures ARM. Le RTOS peut être utilisé dans des conceptions de multitraitement asymétrique multicœur (AMP), de multitraitement symétrique (SMP) et de modes mixtes et multi-OS (via l'hyperviseur de type 1) sur des processeurs 32 et 64 bits.

Le VxWorks se compose d'un ensemble de composants d'exécution et d'outils de développement. Les composants d'exécution sont un système d'exploitation (UP et SMP ; 32 et 64 bits), un logiciel pour la prise en charge des applications (système de fichiers, pile de réseau central, pile USB et communications inter-processus) et une prise en charge matérielle (adaptateur d'architecture, prise en charge du processeur bibliothèque, bibliothèque de pilotes de périphériques et packages de support de carte). Les principaux outils de développement de VxWorks sont des compilateurs tels que Diab, GNU et Intel C++ Compiler (ICC)) et ses outils de construction et de configuration. Le système comprend également des outils de productivité tels que sa suite de développement Workbench et des outils Intel et des outils de support au développement pour le suivi des actifs et le support hôte.

La plate-forme est un système ouvert , modulaire et indépendant des fournisseurs qui prend en charge une gamme de logiciels et de matériel tiers. Le noyau du système d'exploitation est distinct des middleware, applications et autres packages, ce qui permet de corriger plus facilement les bogues et de tester de nouvelles fonctionnalités. Une implémentation d'un système de génération de sources en couches permet à plusieurs versions de n'importe quelle pile d'être installées en même temps afin que les développeurs puissent sélectionner quelle version de n'importe quel ensemble de fonctionnalités doit aller dans les bibliothèques du noyau VxWorks.

La technologie avancée en option pour VxWorks fournit des fonctionnalités supplémentaires liées à la technologie, telles que :

  • Fonctionnalités de sécurité avancées pour protéger les appareils et les données résidant et voyageant sur l'Internet des objets (IoT)
  • Partitionnement de sécurité avancé pour permettre une consolidation fiable des applications
  • Analyses visuelles avancées en temps réel permettant des réponses autonomes sur les appareils basés sur VxWorks en temps réel sans latence
  • Moteur d'exécution Java embarqué optimisé permettant le déploiement d'applications Java
  • Capacité de virtualisation avec un hyperviseur de type 1 intégré en temps réel

Caractéristiques

Voici une liste de certaines des fonctionnalités du système d'exploitation :

En mars 2014, Wind River a introduit VxWorks 7, qui met l'accent sur l'évolutivité, la sécurité, la sécurité, la connectivité, les graphiques et la virtualisation. Ce qui suit répertorie certaines des mises à jour de la version 7. Vous trouverez plus d'informations sur le site Web de Wind Rivers VxWorks .

  • Architecture modulaire à composants utilisant un système de construction en couches avec la possibilité de mettre à jour chaque couche de code indépendamment
  • Micronoyau VxWorks (un RTOS complet qui peut être aussi petit que 20 Ko)
  • Fonctionnalités de sécurité telles que les modules signés numériquement (X.509), le cryptage, la gestion des mots de passe, la possibilité d'ajouter/supprimer des utilisateurs lors de l'exécution
  • Algorithme de hachage SHA-256 comme algorithme de hachage de mot de passe par défaut
  • Interface homme-machine avec graphiques vectoriels et interface utilisateur (UI) Tilcon
  • Interface utilisateur graphique (GUI) : pile OpenVG, Open GL, Tilcon UI, Frame Buffer Driver, EV Dev Interface
  • Interfaces de configuration mises à jour pour les projets VSB Source Build VxWorks et les projets d'image VxWorks
  • Contrôle d'authentification unique utilisé pour les démons Telnet, SSH, FTP et rlogin
  • Connectivité avec les piles de protocoles Bluetooth et SocketCAN
  • Inclusion du système de fichiers MIPC (MFS) et du périphérique réseau MIPC (MND)
  • Fonctionnalités de mise en réseau avec prise en charge 64 bits, y compris Wind River MACsec, la mise en œuvre par Wind River de IEEE 802.1A, le protocole point à point (PPP) sur L2TP, PPP sur réseau local virtuel (VLAN) et le stockage de clé sécurisé Diameter
  • Nouvel environnement de développement intégré Wind River Workbench 4 pour VxWorks 7 avec de nouveaux outils d'analyse système
  • Compilateur Wind River Diab 5.9.4 ; compilateur GNU Wind River 4.8 ; Intel C++ Compiler 14 et Intel Integrated Performance Primitives (IPP) 8

Prise en charge matérielle

VxWorks a été porté sur un certain nombre de plates-formes et fonctionne désormais sur pratiquement tous les processeurs modernes utilisés sur le marché de l'embarqué. Cela inclut la famille Intel x86 (y compris le SoC Intel Quark ), MIPS , PowerPC (et BAE RAD), Freescale ColdFire , Intel i960 , SPARC , Fujitsu FR-V , SH-4 et la famille étroitement liée d' ARM , StrongARM et xScale CPU. VxWorks fournit une interface BSP ( Board Support Package ) standard entre tout son matériel pris en charge et le système d'exploitation. Le kit de développement BSP de Wind River fournit une interface de programmation d'applications (API) commune et un environnement stable pour le développement de système d'exploitation en temps réel. VxWorks est pris en charge par les bibliothèques SSL/TLS populaires telles que wolfSSL .

Environnement de développement

Comme il est courant dans le développement de systèmes embarqués , la compilation croisée est utilisée avec VxWorks. Le développement est effectué sur un système "hôte" où un environnement de développement intégré (IDE), comprenant l'éditeur, la chaîne d'outils du compilateur, le débogueur et l' émulateur peuvent être utilisés. Le logiciel est ensuite compilé pour s'exécuter sur le système "cible". Cela permet au développeur de travailler avec des outils de développement puissants tout en ciblant un matériel plus limité. VxWorks utilise les environnements hôtes et architectures matérielles cibles suivants :

Architectures cibles et familles de processeurs prises en charge

VxWorks prend en charge les architectures cibles suivantes :

  • BRAS
  • Architecture Intel
  • Architecture de puissance
  • Architecture RISC-V

Pour la dernière architecture cible, les processeurs et les packages de prise en charge des cartes, reportez-vous à VxWorks Marketplace : https://marketplace.windriver.com/index.php?bsp&on=locate&type=platform

L'IDE Workbench basé sur Eclipse fourni avec VxWorks est utilisé pour configurer, analyser, optimiser et déboguer un système basé sur VxWorks en cours de développement. L' IDE Tornado a été utilisé pour VxWorks 5.x et a été remplacé par l' IDE Workbench basé sur Eclipse pour VxWorks 6.x. et ensuite. Workbench est également l'IDE pour les gammes de produits Wind River Linux, On-Chip Debugging et Wind River Diab Compiler. VxWorks 7 utilise Wind River Workbench 4, dont les mises à jour de la base Eclipse 4 offrent une prise en charge complète des plug-ins tiers et des améliorations de la convivialité.

Wind River Simics est un outil de simulation autonome compatible avec VxWorks. Il simule le système cible complet (matériel et logiciel) pour créer une plate-forme partagée pour le développement de logiciels. Plusieurs développeurs peuvent partager un système virtuel complet et son état complet, y compris l'historique d'exécution. Simics permet une intégration précoce et continue du système et un prototypage plus rapide en utilisant des prototypes virtuels au lieu de prototypes physiques.

Utilisations notables

Le robot ASIMO utilise VxWorks.
AgustaWestland Project Zero utilise VxWorks.
Le Mars Reconnaissance Orbiter utilise VxWorks.
Le vaisseau spatial Clementine utilisait VxWorks.

VxWorks est utilisé par des produits dans un large éventail de domaines de marché : aérospatiale et défense, automobile, industriel comme les robots, l'électronique grand public, le domaine médical et les réseaux. Plusieurs produits notables utilisent également VxWorks comme système d'exploitation embarqué.

Aéronautique et défense

Vaisseau spatial

Avion

Télescopes spatiaux
Autres

Automobile

  • SoC de reconnaissance d'image Toshiba TMPV75 Series pour les systèmes avancés d'aide à la conduite (ADAS)
  • Système de télémétrie pour voitures de course Bosch Motor Sports
  • Système Hyundai Mobis IVI
  • L'enregistreur de télémétrie de Magneti Marelli et le système d'infodivertissement conforme à GENIVI®
  • Système BMW iDrive après 2008
  • Systèmes de navigation automobile Siemens VDO
  • La plupart des boîtiers électroniques des camions Renault Trucks T , K et C.
  • Systèmes de navigation européens Volkswagen RNS 510 .

Electronique grand public

Industriel

Robots industriels
Test et mesure
Transport
Contrôleurs
  • Système de contrôle Bachmann M1
  • Système Invensys Foxboro PAC
  • Contrôleurs National Instruments CompactRIO 901x, 902x 907x
  • Le système de physique expérimentale et de contrôle industriel (EPICS)
  • Systèmes de contrôle de serrage industriel Bosch Rexroth
  • Contrôleur d'ascenseur MCE iBox
  • Contrôleur industriel Schneider Electric
Systèmes de stockage
  • Contrôleurs RAID externes conçus par LSI Corporation /Engenio avant 2011, désormais conçus par NetApp . Et utilisé dans les baies de classe RDAC en tant que baies NetApp E/EF Series et OEM
  • Famille de baies de stockage de données unifiées Fujitsu ETERNUS DX S3
Imagerie
Autres
  • Console GrandMA pleine grandeur et lumineuse par MA Lighting

Médical

Infrastructures de réseautage et de communication

  • Appliances de sécurité réseau Arkoon
  • AirWalk EdgePoint d' Ubee Interactive
  • Les cartes processeur ACTA de Kontron
  • QQSG de QQTechnologies
  • Une partie importante des équipements de télécommunications de Huawei utilise VxWorks
  • Produits GPON/PON de BroadLight
  • InterSKY de Shiron Satellite Communications
  • SkyGateway, SkyExtender et SkyControl de Sky Pilot
  • EtherRaptor-1010 par Raptor Network Technology
  • Routeurs CPG-3000 et CPX-5000 de Siemens
  • Produit d'ingénierie micro-ondes de la série FlexiPacket de Nokia Solutions and Networks
  • Série Acme Packet Net-Net de contrôleurs Session Border
  • Téléphones de bureau IP Alcatel-Lucent IP Touch 40x8
  • Avaya ERS 8600
  • Bureau IP400 d' Avaya
  • Plateforme CSS de Cisco
  • Plateforme Cisco ONS
  • Couche photonique commune de Ciena
  • Commutateurs Dell PowerConnect « alimentés par » Broadcom , à l'exception du dernier PCT8100 qui fonctionne sur la plate-forme Linux
  • Routeurs Ericsson SmartEdge (SEOS 11 exécute NetBSD 3.0 et VxWorks pour Broadcom BCM1480 version 5.5.1 kernel version 2.6)
  • Processeur de service Hewlett Packard HP 9000 Superdome Guardian
  • Pare-feu industriel Hirschmann EAGLE20
  • Modems Internet par satellite HughesNet / Direcway
  • MiVoice Business de Mitel Networks (anciennement Mitel Communications Director (MCD)), 3300 ICP Media Gateways et SX-200 et SX-200 ICP.
  • Système de poste téléphonique IP Motorola Solutions MCD5000
  • Modem câble Motorola SB5100
  • Équipement de tête de réseau de câble Motorola, y compris SEM, NC, OM et d'autres lignes
  • Nortel CS1000 PBX (anciennement Nortel Meridian 1 (Option 11C, Option 61C, Option 81C)
  • Passeport Nortel
  • Commutateurs Radware OnDemand
  • PBX série DCS et OfficeServ de Samsung
  • Pare-feu SonicWALL
  • Téléphone satellite Thuraya SO-2510 et ThurayaModule
  • Équipement de communication Radvision 3G
  • Systèmes téléphoniques 3com NBX
  • Systèmes d' accès Zhone Technologies
  • Système Oracle EAGLE STP

Vulnérabilité TCP et correctifs CVE

En juillet 2019, un article publié par Armis exposait 11 vulnérabilités critiques, notamment l'exécution de code à distance , le déni de service , les fuites d'informations et les failles logiques affectant plus de deux milliards d'appareils utilisant le RTOS VxWorks. Les résultats sont significatifs car ce système est utilisé par un certain nombre de produits critiques. Cette vidéo YouTube d'Armis montre comment un attaquant peut créer un tunnel dans un réseau interne en utilisant la vulnérabilité et pirater des imprimantes, des ordinateurs portables et tout autre appareil connecté. La vulnérabilité peut également contourner les pare-feu.

Les informations et les correctifs pour toutes les versions de VxWorks affectées par la vulnérabilité Urgent/11 peuvent être obtenus auprès de Wind River.

Conservation des données obsolètes

Le système d'exploitation Wind River VxWorks est utilisé sur les avions Boeing 787-8, 787-9 et 787-10. Depuis le 2 avril 2020, la Federal Aviation Administration des États-Unis exige que le système d'exploitation soit éteint ou éteint et allumé tous les cinquante et un (51) jours. La raison pour laquelle le redémarrage périodique du système de base commun (CCS) est requis est que sa défaillance lorsqu'il est alimenté en continu pourrait entraîner une perte de la validation de l'âge du message du réseau de données commun (CDN), qui filtre les données obsolètes des principaux affichages des commandes de vol. D'après la directive aérienne de la FAA : « La perte potentielle de la fonction de surveillance des données périmées du CCS lorsqu'il est allumé en continu pendant 51 jours, si elle n'est pas résolue, pourrait entraîner l'acheminement et l'affichage de données critiques de vol erronées en tant que données valides, ce qui pourrait réduire la capacité de l'équipage de conduite à assurer la sécurité du vol et de l'atterrissage de l'avion."

Les références

Liens externes