VxWorks

From Vero - Wikipedia
Jump to navigation Jump to search

Template:Short description Template:Use mdy dates Template:Multiple issues Template:Infobox OS

VxWorks is a real-time operating system (or RTOS) developed as proprietary software by Wind River Systems, a subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, deterministic performance and in many cases, safety and security certification for industries such as aerospace, defense, medical devices, industrial equipment, robotics, energy, transportation, network infrastructure, automotive, and consumer electronics.<ref name="64bitWBvert">"VxWorks Goes 64-bit", Electronic Design, March 25, 2011</ref>

VxWorks supports AMD/Intel architecture, POWER architecture, ARM architectures, and RISC-V.<ref name=":0">Template:Cite web</ref> The RTOS can be used in multicore asymmetric multiprocessing (AMP), symmetric multiprocessing (SMP), and mixed modes<ref name="amp">RTOS Handles AMP and SMP, electronic design, March 2009</ref> and multi-OS (via Type 1 hypervisor)<ref name="virt">Template:Cite web</ref> designs on 32- and 64-bit processors.<ref name="star">Embedded Star Template:Webarchive Article, February 2011</ref>

VxWorks comes with the kernel, middleware, board support packages, Wind River Workbench development suite, complementary third-party software and hardware. In its latest release, VxWorks 7, the RTOS has been re-engineered for modularity and upgradeability so the OS kernel is separate from middleware, applications, and other packages.<ref name="iTERS">Wind River Template:Webarchive reinvents real-time system for the Internet of Things, iTERS news, March 2014</ref> Scalability, security, safety, connectivity, and graphics have been improved to address Internet of Things (IOT) needs.<ref name="MSSC">Template:Cite web</ref><ref name="msscwb">Wind River Reinvents the RTOS for the IoT, Business Wire, February 2014</ref><ref name="joab1">Template:Cite web</ref>

History

VxWorks started in the late 1980s as a set of enhancements to a simple RTOS called VRTX<ref name="netrino-glossary-v">Template:Cite web</ref> sold by Ready Systems (becoming a Mentor Graphics product in 1995).<ref>Template:Cite web</ref> Wind River acquired rights to distribute VRTX and significantly enhanced it by adding, among other things, a file system and an integrated development environment. In 1987, anticipating the termination of its reseller contract by Ready Systems, Wind River proceeded to develop its own kernel to replace VRTX within VxWorks.<ref>Lord of the Toasters, Wired (magazine) interview with Jerry Fiddler, September 1998</ref>

Published in 2003 with a Wind River copyright, "Real-Time Concepts for Embedded Systems"<ref name="book"> Template:Cite book</ref> describes the development environment, runtime setting, and system call families of the RTOS. Written by Wind River employees with a foreword by Jerry Fiddler, chairman, and co-founder of Wind River, the textbook is an excellent tutorial on the RTOS. (It does not, however, replace Wind River documentation as might be needed by practicing engineers.)

Some key milestones for VxWorks include:<ref name="history">Company Histories, Funding Universe</ref>Template:Failed verification

  • 1980s: VxWorks adds support for 32-bit processors.
  • 1990s: VxWorks 5 becomes the firstTemplate:Citation needed RTOS with a networking stack.
  • 2000s: VxWorks 6 supports SMP and adds derivative industry-specific platforms.
  • 2010s: VxWorks adds support for 64-bit processing<ref name="star"/> and introduces VxWorks 7 for IoT in 2016.<ref name="joab2">Wind River Outfits VxWorks Template:Webarchive for the Internet of Things, Computer World</ref>
  • 2020s: VxWorks continues to update and add support, including the ability to power the Mars 2020 lander.<ref>Template:Cite web</ref>

Platform overview

VxWorks supports Intel architecture, Power architecture, and ARM architectures. The RTOS can be used in multi-core asymmetric multiprocessing (AMP), symmetric multiprocessing (SMP), mixed modes<ref name="star"/> and multi-OS (via Type 1 hypervisor)<ref name="virt"/> designs on 32- and 64- bit processors.

The VxWorks consists of a set of runtime components and development tools. The run time components are an operating system (UP and SMP; 32- and 64-bit), software for applications support (file system, core network stack, USB stack, and inter-process communications), and hardware support (architecture adapter, processor support library, device driver library, and board support packages).<ref name="star"/> VxWorks core development tools are compilers such as Diab, GNU, and Intel C++ Compiler (ICC) and its build and configuration tools. The system also includes productivity tools such as its Workbench development suite and Intel tools and development support tools for asset tracking and host support.<ref name="star"/>

The platform is a modular, vendor-neutral, open system that supports a range of third-party software and hardware. The OS kernel is separate from middleware, applications, and other packages,<ref name="msscwb"/> which enables easier bug fixes and testing of new features.<ref name="joab2"/> An implementation of a layered source build system allows multiple versions of any stack to be installed at the same time so developers can select which version of any feature set should go into the VxWorks kernel libraries.

Optional advanced add-ons for VxWorks provide additional capabilities, including the following:

  • Advanced security features to safeguard devices and data residing in and traveling across the Internet of Things (IoT)
  • Advanced safety partitioning to enable reliable application consolidation
  • Real-time advanced visual edge analytics allow autonomous responses on VxWorks-based devices in real-time without latency
  • Optimized embedded Java runtime engine enabling the deployment of Java applications
  • Virtualization capability with a real-time embedded, Type 1 hypervisor

Features

Core features of the OS include:<ref name="amp"/><ref>Template:Cite web</ref><ref>POSIX Certification Register</ref><ref>Filesystems Template:Webarchive in VxWorks, CDF online, Fermi Labs</ref>

In March 2014 Wind River introduced VxWorks 7, emphasizing scalability, security, safety, connectivity, graphics, and virtualization.<ref name="joab1"/><ref name="joab2"/><ref name="mod">Wind River Reinvents the Real-Time Operating System for the Internet of Things Windriver.com,</ref> The following lists some of the release 7 updates.<ref name="64bitWBvert"/><ref name="star"/><ref name = "iTERS"/><ref name="joab1"/> More information can be found on the Wind Rivers VxWorks website.

  • Modular, componentized architecture using a layered build system with the ability to update each layer of code independently
  • VxWorks microkernel (a full RTOS that can be as small as 20 KB)
  • Security features such as digitally-signed modules (X.509), encryption, password management, ability to add/delete users at runtime
  • SHA-256 hashing algorithm as the default password hashing algorithm
  • Human machine interface with Vector Graphics, and Tilcon user interface (UI)
  • Graphical user interface (GUI): OpenVG stack, Open GL, Tilcon UI, Frame Buffer Driver, EV Dev Interface
  • Updated configuration interfaces for VxWorks Source Build VSB projects and VxWorks Image Projects
  • Single authentication control used for Telnet, SSH, FTP, and rlogin daemons
  • Connectivity with Bluetooth and SocketCAN protocol stacks
  • Inclusion of MIPC File System (MFS) and MIPC Network Device (MND)
  • Networking features with 64-bit support including Wind River MACsec, Wind River's implementation of IEEE 802.1A, Point-to-Point Protocol (PPP) over L2TP, PPP over virtual local area network (VLAN) and Diameter secure key storage
  • New Wind River Workbench 4 for VxWorks 7 integrated development environment with new system analysis tools
  • Wind River Diab Compiler 5.9.4; Wind River GNU Compiler 4.8; Intel C++ Compiler 14 and Intel Integrated Performance Primitives (IPP) 8

Hardware support

VxWorks has been ported to a number of platforms. This includes the Intel x86 family (including the Intel Quark SoC),<ref name="quark">Intel Tackles SoC With Quark"' EE Times, October 7, 2013</ref> MIPS, PowerPC (and BAE RAD), Freescale ColdFire, Intel i960, SPARC, Fujitsu FR-V, SH-4 and the closely related family of ARM, StrongARM and xScale CPUs. VxWorks provides a standard board support package (BSP) interface between all its supported hardware and the OS. Wind River's BSP developer kit provides a common application programming interface (API) and a stable environment for real-time operating system development. VxWorks is supported by popular SSL/TLS libraries such as wolfSSL.<ref>Template:Cite web</ref>

Development environment

As is common in embedded system development, cross-compiling is used with VxWorks. Development is done on a "host" system where an integrated development environment (IDE), including the editor, compiler toolchain, debugger, and emulator can be used. Software is then compiled to run on the "target" system. This allows the developer to work with powerful development tools while targeting more limited hardware. VxWorks uses the following host environments and target hardware architectures:<ref name="ide">Workbench Product Note</ref>

Supported target architectures and processor families

VxWorks supports a range of target architectures including ARM, Intel, Power architecture, RISC-V architecture and more.<ref name=":0" /> For the latest target architecture processors and board support packages, refer to the VxWorks Marketplace<ref>Template:Cite web</ref> or via citation.<ref>Template:Cite web</ref>

The Eclipse-based Workbench IDE that comes with VxWorks is used to configure, analyze, optimize, and debug a VxWorks-based system under development.<ref>Wind River reinvents the RTOS for the IoT, Business Wire</ref> The Tornado IDE was used for VxWorks 5.x<ref>Template:Cite web</ref> and was replaced by the Eclipse-based Workbench IDE for VxWorks 6.x. and later.<ref name="ide"/> Workbench is also the IDE for the Wind River Linux,<ref>Template:Cite web</ref> On-Chip Debugging,<ref>Template:Cite web</ref> and Wind River Diab Compiler product lines. VxWorks 7 uses Wind River Workbench 4<ref>"VxWorks Gets Re-vamped" Information Technology</ref> which updates to the Eclipse 4 base provides full third party plug-in support and usability improvements.

Wind River Simics<ref>Simics, Wikipedia</ref><ref>Wind River Simics</ref> is a standalone simulation tool compatible with VxWorks. It simulates the full target system (hardware and software) to create a shared platform for software development. Multiple developers can share a complete virtual system and its entire state, including execution history. Simics enables early and continuous system integration and faster prototyping by utilizing virtual prototypes instead of physical prototypes.<ref>Accelerate Software Development with Wind River Simics, Intel webpage</ref>

Notable uses

The Mars Science Laboratory Curiosity rover uses VxWorks.
The ASIMO Robot uses VxWorks.
AgustaWestland Project Zero uses VxWorks.
The Mars Reconnaissance Orbiter uses VxWorks.
The Clementine spacecraft used VxWorks.

VxWorks is used by products across a wide range of market areas: aerospace and defense, automotive, industrial such as robots, consumer electronics, medical area and networking.<ref name="iTERS"/> Several notable products also use VxWorks as the onboard operating system.<ref>VxWorks customer list</ref>

Aerospace and defense

Spacecraft

Aircraft

Space telescopes
Others

Automotive

  • Toshiba TMPV75 Series image recognition SoCs for advanced driver assistance systems (ADAS)<ref>Wind River: Toshiba is using Simics to develop automotive application software, Embedded Control Europe</ref>
  • Bosch Motor Sports race car telemetry system<ref>Wind River Helps Bosch Motorsport Race For The Win, Globe and Mail</ref>
  • Hyundai Mobis IVI system<ref>Hyundia Template:Webarchive works with Wind River, Telematics News</ref>
  • Magneti Marelli's telemetry logger and GENIVI-compliant infotainment system<ref>Magneti Marell "i Motorsport Chooses Wind River VxWorks for Formula One Race Cars"</ref>
  • BMW iDrive 2.0 (2003-2008)<ref name="mars"/>
  • Siemens VDO automotive navigation systems<ref>The Network on Wheels -- Java Developers, Start Your Programming Engines!, Oracle</ref>
  • Most of Renault Trucks T, K and C trucks' electronic control units.
  • European Volkswagen RNS 510 navigation systems

Consumer electronics

Industrial

Industrial robots
Test and Measurement
Transportation
  • FITSCO Automatic Train Protection (ATP)system<ref>Leading Chinese Transportation Company Relies on Wind River to Meet Stringent Safety Certification Goal, On-line Wall Street Journal</ref>
  • Bombardier HMI410 Train Information System<ref>Bombardier Transportation Selects Wind River Platforms for Safety Critical Certified Display on London Underground, Online UK [1]Reuters</ref>
Controllers
  • Bachmann M1 Controller System<ref>Wind Power Automation Leader Bachmann Relies On Wind River VxWorks For Next-Generation Controller System, Globe and mail</ref>
  • Invensys Foxboro PAC System<ref>Invensys acquisition: “Now, it is up to how well we execute.”, The Instrument Readout SignPost</ref>
  • National Instruments CompactRIO 901x, 902x 907x controllers<ref>National Instruments Support Page</ref>
  • Emerson distributed control system controllers
  • AMX controls system devices
  • The Experimental Physics and Industrial Control System (EPICS)<ref>EPICS base Release 3.14 Installation Instructions</ref>
  • Bosch Rexroth Industrial Tightening Control Systems<ref>Bosch Rexroth YouTube video</ref>
  • MCE iBox elevator controller<ref>iBox user guide Page 8-41</ref>
  • Rockwell Automation PLCs - ControlLogix, CompactLogix, Assorted Communication Cards, and Servo Drives
  • Schneider Electric Industrial Controller
  • B&R Automation Runtime
Storage systems
Imaging
Others
  • GrandMA Full-Size and Light Console by MA Lighting<ref>GrandMA Full-Size Data Sheet</ref>

Medical

Networking and communication infrastructure

TCP vulnerability and CVE patches

As of July 2019, a paper published by Armis<ref>Template:Cite web</ref> exposed 11 critical vulnerabilities, including remote code execution, denial of service, information leaks, and logical flaws impacting more than two billion devices using the VxWorks RTOS.<ref>Template:Cite web</ref> The vulnerability allows attackers to tunnel into an internal network using the vulnerability and hack into printers, laptops, and any other connected devices. The vulnerability can bypass firewalls as well.<ref>Template:Cite web</ref>

The system is in use by quite a few mission-critical products, many of which could not be easily patched.<ref>Template:Cite magazine</ref>

References

Template:Reflist

Template:Intel software Template:Real-time operating systems