This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|Developer||Wind River (a wholly owned subsidiary of TPG Capital)|
|OS family||Real-time operating systems|
|Latest release||VxWorks 7 SR0660 / December 2, 2020|
|Marketing target||Embedded systems|
|Platforms||x86, x86-64, MIPS, PowerPC, SH-4, ARM, RISC-V|
VxWorks is a real-time operating system (RTOS) developed as proprietary software by Wind River Systems, a wholly owned subsidiary of TPG Capital, US. 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 and defense, medical devices, industrial equipment, robotics, energy, transportation, network infrastructure, automotive, and consumer electronics.
VxWorks supports AMD/Intel architecture, POWER architecture, ARM architecturesand RISC-V. The RTOS can be used in multicore asymmetric multiprocessing (AMP), symmetric multiprocessing (SMP), and mixed modes and multi-OS (via Type 1 hypervisor) designs on 32- and 64-bit processors.
VxWorks comes with the kernel, middleware, board support packages, Wind River Workbench development suite and complementary third-party software and hardware technologies. 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 (IoT) needs.
VxWorks started in the late 1980s as a set of enhancements to a simple RTOS called VRTXsold by Ready Systems (becoming a Mentor Graphics product in 1995). 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 developed 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 text book is an excellent tutorial on the RTOS. (It does not, however, replace Wind River documentation as might be needed by practicing engineers.)
VxWorks key milestones are: [ failed verification ]
VxWorks supports Intel architecture, Power architecture, and ARM architectures.The RTOS can be used in multi-core asymmetric multiprocessing (AMP), symmetric multiprocessing (SMP), and mixed modes and multi-OS (via Type 1 hypervisor) 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).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.
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 technology for VxWorks provides add-on technology-related capabilities, such as:
A list of some of the features of the OS are:
In March 2014, Wind River introduced VxWorks 7, which emphasizes scalability, security, safety, connectivity, graphics, and virtualization.The following lists some of the release 7 updates. More information can be found on the Wind Rivers VxWorks website.
VxWorks has been ported to a number of platforms and now runs on practically any modern CPU that is used in the embedded market. This includes the Intel x86 family (including the Intel Quark SoC),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.
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:
VxWorks supports the following target architectures:
For the latest target architecture, processors and board support packages, refer to the VxWorks Marketplace: https://marketplace.windriver.com/index.php?bsp&on=locate&type=platform
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 provide full third party plug-in support and usability improvements.
Wind River Simicsis 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.
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.
As of July 2019, a paper published by Armisexposed 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 findings are significant since this system is in use by quite a few mission-critical products. This YouTube video from Armis shows how an attacker can 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.
Information and patches for all VxWorks versions affected by Urgent/11 vulnerability can be obtained from Wind River.
The Wind River VxWorks operating system is used on the Boeing 787-8, 787-9 and 787-10 aircraft. As of April 2, 2020, the US Federal Aviation Administration requires the operating system to be power-cycled, or turned off and on, every fifty-one (51) days.The reason for requiring the periodic reboot of the common core system (CCS) is that its failure when continuously powered could lead to a loss of the common data network (CDN) message age validation, which filters out stale data from key flight control displays. From the FAA Air Directive: "The potential loss of the stale-data monitoring function of the CCS when continuously powered on for 51 days, if not addressed, could result in erroneous flight-critical data being routed and displayed as valid data, which could reduce the ability of the flight crew to maintain the safe flight and landing of the airplane."
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. In 2009 it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems. As of 2020, it is used in a variety of devices including cars and mobile phones.
pSOS is a real-time operating system (RTOS), created in about 1982 by Alfred Chao, and developed/marketed for the first part of its life by his company Software Components Group (SCG). In the 1980s pSOS rapidly became the RTOS of choice for all embedded systems based on the Motorola 68000 family architecture, because it was written in 68000 assembler and was highly optimised from the start. It was also modularised, with early support for OS-aware debugging, plug-in device drivers, TCP/IP stacks, language libraries and disk subsystems. Later came source-level debugging, multi-processor support and further networking extensions.
An embedded operating system is an operating system for embedded computer systems. Embedded operating systems are computer systems designed for a specific purpose, to increase functionality and reliability for achieving a specific task. Resource efficiency comes at the cost of losing some functionality or granularity that larger computer operating systems provide, including functions which may not be used by the specialized applications they run. Depending on the method used for multitasking, this type of OS is frequently considered to be a real-time operating system, or RTOS. Embedded systems are mostly used as Real-time operating systems. QNX, WinCE, and VxWorks are the most widely used embedded operating systems today.
Versatile Real-Time Executive (VRTX) is a real-time operating system (RTOS) developed and marketed by the company Mentor Graphics. VRTX is suitable for both traditional board-based embedded systems and system on a chip (SoC) architectures. It has been superseded by the Nucleus RTOS.
Simics is a full-system simulator used to run unchanged production binaries of the target hardware at high-performance speeds. Simics was originally developed by the Swedish Institute of Computer Science (SICS), and then spun off to Virtutech for commercial development in 1998. Virtutech was acquired by Intel in 2010 and Simics is now marketed by Wind River Systems, which was in the past a subsidiary of Intel.
Nucleus RTOS is a real-time operating system (RTOS) produced by the Embedded Software Division of Mentor Graphics, a Siemens Business, supporting 32- and 64-bit embedded platforms. The operating system (OS) is designed for real-time embedded systems for medical, industrial, consumer, aerospace, and Internet of things (IoT) uses. Nucleus was released first in 1993. The latest version is 3.x, and includes features such as power management, process model, 64-bit support, safety certification, and support for heterogeneous computing multi-core system on a chip (SOCs) processors.
Wind River Systems, also known as Wind River, is an Alameda, California–based wholly owned subsidiary of TPG Capital. The company develops embedded system and cloud software consisting of run-time operating systems software, industry-specific software, simulation technology, development tools and middleware.
The Blackfin is a family of 16-/32-bit microprocessors developed, manufactured and marketed by Analog Devices. The processors have built-in, fixed-point digital signal processor (DSP) functionality supplied by 16-bit multiply–accumulates (MACs), accompanied on-chip by a microcontroller. It was designed for a unified low-power processor architecture that can run operating systems while simultaneously handling complex numeric tasks such as real-time H.264 video encoding.
Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics.
In embedded systems, a board support package (BSP) is the layer of software containing hardware-specific drivers and other routines that allow a particular operating system to function in a particular hardware environment, integrated with the RTOS itself. Third-party hardware developers who wish to support a particular RTOS must create a BSP that allows that RTOS to run on their platform. In most cases the RTOS image and license, the BSP containing it, and the hardware are bundled together by the hardware vendor.
PikeOS is a commercial, hard real-time operating system (RTOS) that offers a separation kernel based hypervisor with multiple logical partition types for many other operating systems (OS), each called a GuestOS, and applications. It enables users to build certifiable smart devices for the Internet of things (IoT) according to the high quality, safety and security standards of different industries.
ELinOS is a commercial development environment for embedded Linux. It consists of a Linux distribution for the target embedded system and development tools for a development host computer. The development host computer usually is a standard desktop computer running Linux or Windows. The Linux system and the application software for the target device are both created on the development host.
LynxSecure is a least privilege real-time separation kernel hypervisor from Lynx Software Technologies designed for safety and security critical applications found in military, avionic, industrial, and automotive markets. Leveraging multi-core CPU hardware virtualization features and smaller than a microkernel it is primarily targeted to raise the assurance of systems that perform critical computing functions in regulated environments. Common use cases include; separating critical apps from internet domains, isolating security functions from application domains, verifying and filtering inter-domain communication. LynxSecure lives underneath applications and operating systems, runs completely transparent and cannot be tampered with. The software can be embedded into a broad class of devices from embedded to IT platforms. The stripped-down design aims to raise assurance of the host by removing the possibility of CPU privilege escalation and provide extremely tight control over CPU scheduling. Rather than attempting to shape system behavior indirectly by issuing commands to platform APIs according to a programming manual, LynxSecure allows developers to directly control system behavior through a unique system architecture specification written by the developer and enforced solely by the processor.
TenAsys is a privately owned company providing real-time software and services based on the x86 Intel Architecture and Microsoft Windows operating system.
MQX is a real-time operating system (RTOS) developed by Precise Software Technologies, Inc., and currently sold by Synopsys, Embedded Access, Inc., and NXP Semiconductors.
T-Kernel is an open source real-time operating system designed for 32-bit microcontrollers. It is standardized by the T-Engine Forum, which distributes it under a "T-License" license agreement. There is also a corresponding μT-Kernel implementation designed for embedded systems with 16-bit or 8-bit microcontrollers.
NuttX is a real-time operating system (RTOS) with an emphasis on technical standards compliance and small size. Scalable from 8-bit to 64-bit microcontroller environments, the main governing standards in NuttX are from the Portable Operating System Interface (POSIX) and the American National Standards Institute (ANSI). Further standard application programming interfaces (APIs) from Unix and other common RTOSes are adopted for functions unavailable under these standards, or inappropriate for deeply embedded environments, such as a fork.
Zephyr is a small real-time operating system for connected, resource-constrained and embedded devices supporting multiple architectures and released under the Apache License 2.0. Beyond its kernel, Zephyr includes all the components and libraries needed to develop a full application such as device drivers, protocol stacks, file systems, and firmware updates.