VxWorks


VxWorks is a real-time operating system 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.
VxWorks supports AMD/Intel architecture, POWER architecture, ARM architectures, and RISC-V. The RTOS can be used in multicore asymmetric multiprocessing, symmetric multiprocessing, and mixed modes and multi-OS designs on 32- and 64-bit processors.
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. Scalability, security, safety, connectivity, and graphics have been improved to address Internet of Things needs.

History

VxWorks started in the late 1980s as a set of enhancements to a simple RTOS called VRTX sold by Ready Systems. 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.
Published in 2003 with a Wind River copyright, "Real-Time Concepts for Embedded Systems"
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.
Some key milestones for VxWorks include:
  • 1980s: VxWorks adds support for 32-bit processors.
  • 1990s: VxWorks 5 becomes the first RTOS with a networking stack.
  • 2000s: VxWorks 6 supports SMP and adds derivative industry-specific platforms.
  • 2010s: VxWorks adds support for 64-bit processing and introduces VxWorks 7 for IoT in 2016.
  • 2020s: VxWorks continues to update and add support, including the ability to power the Mars 2020 lander.

Platform overview

VxWorks supports Intel architecture, Power architecture, and ARM architectures. The RTOS can be used in multi-core asymmetric multiprocessing, symmetric multiprocessing, mixed modes and multi-OS 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, software for applications support, and hardware support. VxWorks core development tools are compilers such as Diab, GNU, and Intel C++ Compiler 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.
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, which enables easier bug fixes and testing of new features. 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
  • 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:
In March 2014 Wind River introduced VxWorks 7, emphasizing scalability, security, safety, connectivity, graphics, and virtualization. The following lists some of the release 7 updates. More information can be found on the website.

Hardware support

VxWorks has been ported to a number of platforms. This includes the Intel x86 family, MIPS, PowerPC, 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 interface between all its supported hardware and the OS. Wind River's BSP developer kit provides a common application programming interface and a stable environment for real-time operating system development. VxWorks is supported by popular SSL/TLS libraries such as wolfSSL.

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, 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:
;Supported target architectures and processor families
VxWorks supports a range of target architectures including ARM, Intel, Power architecture, RISC-V architecture and more. For the latest target architecture processors and board support packages, refer to the VxWorks Marketplace or via citation.
The Eclipse-based Workbench IDE that comes with VxWorks is used to configure, analyze, optimize, and debug a VxWorks-based system under development. The Tornado IDE was used for VxWorks 5.x and was replaced by the Eclipse-based Workbench IDE for VxWorks 6.x. and later. Workbench is also the IDE for the Wind River Linux, On-Chip Debugging, and Wind River Diab Compiler product lines. VxWorks 7 uses Wind River Workbench 4 which updates to the Eclipse 4 base provides full third party plug-in support and usability improvements.
Wind River Simics is a standalone simulation tool compatible with VxWorks. It simulates the full target system 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.

Notable uses

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. Several notable products also use VxWorks as the onboard operating system.

Aerospace and defense

;Spacecraft
Aircraft
;Space telescopes
;Others

Automotive

Consumer electronics

Industrial

;Industrial robots
;Test and Measurement
;Transportation
;Controllers
;Storage systems
;ImagingToshiba eBridge based range of photocopiers
;Others
  • GrandMA Full-Size and Light Console by MA Lighting

Medical

Networking and communication infrastructure

TCP vulnerability and CVE patches

As of July 2019, a paper published by Armis 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. 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.
The system is in use by quite a few mission-critical products, many of which could not be easily patched.