Comparison of real-time operating systems

Last updated

This is a list of real-time operating systems (RTOSs). This is an operating system in which the time taken to process an input stimulus is less than the time lapsed until the next input stimulus of the same type.


Name License Source  modelTarget usesStatusPlatforms
Apache Mynewt Apache 2.0 open sourceembeddedactive ARM Cortex-M, MIPS32, Microchip PIC32, RISC-V
BeRTOS Modified GNU GPL open sourceembeddedarchivedARM, Cortex-M3, ARM ARM7TDMI, Atmel AVR, PowerPC (emu), x86 (emu), x86-64 (emu)
CapROS GNU GPL open sourceembeddedactiveIA-32, ARM9
ChibiOS/RT Dual, GNU GPL or proprietaryopen sourceembedded, small footprint activex86, ARM7, ARM9, Cortex-M0-M3-M4, PowerPC e200z, STM8, STM32, AVR, MSP430, ColdFire, H8S
ChorusOS  ? ? ?defunct SPARC, x86, PowerPC
Concurrent CP/M,
became MP/M
Proprietary closed (meanwhile: open source)general purpose, industrialhistoric8080, Z80, 8086
Concurrent DOS,
became Multiuser DOS
Proprietary closeddefunct8086, 286, 386, 68000, (also 8080/Z80 in dual-processor variants)
Contiki BSD open sourceembedded, WSN activeMSP430, AVR, ARM
Data General RDOS Proprietary  ?general purposedefunct Data General Nova, Data General Eclipse
Deos Proprietary closedsafety criticalactivex86, PowerPC, ARM, MIPS
DioneOS Proprietary available for licenseeembeddedMSP430, MSP430x
DMERT
(Duplex Multi-Environment Real-Time)
Proprietary(Bell Labs)closedOS for long-distance telephone switching systemsinactive Bell Labs 3B20D
(a proprietary, VAX-like system with redundant [duplex] processors)
DNIX Proprietary closedgeneral purposedefunct68000
GEC DOS Proprietary closedprocess controldefunctGEC 4000 series
DSOS Proprietary closed ?defunct TI-980A minicomputer
DSP/BIOS Proprietary closed, available with licensegeneral purposemaintenance onlyMostly Texas Instruments C2800, C5500, C6000 and OMAP DSP cores. Replaced by TI-RTOS, but available for download.
DSPnano RTOS Proprietary open sourceMCU, DSC, DSP SoCactiveR8C, M16C, PIC24, dsPIC33
eCos Modified GNU GPL open sourceembeddedinactiveARM-XScale-Cortex-M, CalmRISC, 680x0-ColdFire, fr30, FR-V, H8, IA-32, MIPS, MN10300, OpenRISC, PowerPC, SPARC, SuperH, V8xx
eCosPro Modified GNU GPL or eCosPro license open source with non-free portionsactiveARM7-9, Cortex-A5-A9-M3-M4-M7, 680x0-ColdFire, H8-H8S, IA-32, MIPS32, MIPS64, microMIPS, NIOS II, OpenRISC, PowerPC, SPARC, SH4/4A, TILE-Gx, XScale
embOS Proprietary closed, available to customers, free object code for non-commercial useembedded, industrial, IoT, safety criticalactiveARM7/9/11, ARM Cortex-A/R/M, AVR, AVR32, C16x, CR16C, ColdFire, H8, HCS12, M16C, M32C, MSP430, NIOS2, PIC18/24/32, R32C, R8C, RISC-V, RL78, RH850, RX100/200/600/700, RZ, SH2A, STM8, ST7, V850, 78K0, 8051
ERIKA Enterprise GPL and GPL linking exception open sourceembeddedARM7, ARM Cortex-M, ARM Cortex-A (on Jailhouse hypervisor), Hitachi H8, Altera Nios2, Microchip dsPIC (including dsPIC30, dsPIC33, and PIC24), Microchip PIC32, ST Microelectronics ST10, Infineon C167, Infineon Tricore, Freescale PPC e200 (MPC 56xx) (including PPC e200 z0, z6, z7), Freescale S12XS, EnSilica eSi-RISC, AVR, Lattice Mico32, MSP430, Renesas RX200, x86-64 (on Jailhouse hypervisor)
EROS Modified GNU GPL open sourceexperimental
research use
dormantIA-32
FlexOS Proprietary closedgeneral purpose, industrial, POSdefunct186, 286, 386, V60, V70, 68000
Flexible Safety RTOS Proprietary closed, available to customersembedded, safety criticalactive Altera/Intel NIOS II, ARM9, ARM Cortex-M, ARM Cortex-R, ARM Cortex-A, Infineon TriCore, Infineon AURIX, NXP ColdFire, NXP Kinetis, NXP PowerPC e200, NXP QorIQ, STMicroelectronics STM32, Xilinx/AMD MicroBlaze
FreeRTOS MIT open sourceembeddedactiveARM, AVR, AVR32, ColdFire, ESP32, HCS12, IA-32, Cortex-M3-M4-M7, Infineon XMC4000, MicroBlaze, MSP430, PIC, PIC32, Renesas H8/S, RISC-V, RX100-200-600-700, 8052, STM32, TriCore, EFM32
Fuchsia Variesembedded AArch64, x86-64
Keil RTX Apache 2.0 open sourceembeddedArm Cortex-M
FunkOS Modified Sleepycat License open sourceembeddedAVR, MSP430, Cortex-M3
HeartOS Proprietary closedsafety criticalx86, PowerPC, ARM
Huawei LiteOS BSD open sourceembeddeddiscontinuedARM (M0/3/4/7, A7/17/53, ARM9/11), x86, RISC-V
IBM 4680 OS Proprietary closedgeneral purpose, industrial, POSdefunct286
IBM 4690 OS Proprietary active286, 386
INTEGRITY Proprietary embeddedARM, XScale, Blackfin, ColdFire, MIPS, PowerPC, x86
INtime Proprietary x86
ITRON T-License variesembeddedARM, MIPS, x86, Renesas RX100-200-600-700-others
Kaspersky OS Proprietary open sourcesafety critical, virtualizationx86, x86_64, ARMV5, ARMV7, ARMV8, MIPS32
KolibriOS GNU GPL embeddablex86
LynxOS Proprietary source availableembedded Motorola 68010, x86/IA-32, ARM, Freescale PowerPC, PowerPC 970, LEON
Mbed OS Apache 2.0 open sourceembeddedArm Cortex-M
MenuetOS GNU GPL open source ?IA-32
MERT Proprietary(Bell Labs)closedOS for long-distance telephone switching systemsinactive PDP-11
MicroC/OS-III Apache 2.0 open sourceembeddedactiveARM7-9-11/Cortex-M1-3-4-A8/9, AVR, HC11/12/S12, ColdFire, Blackfin, MicroBlaze, NIOS, 8051, x86, Win32, H8S, M16C, M32C, MIPS, 68000, PIC24/dsPIC33/PIC32, MSP430, PowerPC, SH, StarCore, Renesas RX100-200-600-700, RL; STM32, …
MontaVista Linux GNU GPL open sourceembedded ?
MP/M Proprietary closed (meanwhile: open source)general purpose, industrialdefunct8080, Z80, 8086
MQX Proprietary complimentary source availableembeddedactiveFreescale Power, ColdFire, Kinetis Cortex ARM, List of Freescale products
Multiuser DOS Proprietary closedgeneral-purpose, industrialdefunct386
Nano-RK Dual, GPL or commercialopen sourceembedded, WSN defunctAVR, MSP430
Neutrino Proprietary some source providedmicrokernel, embedded, industrialactiveARM, ARM64, MIPS, PPC, SH, x86, x86-64, XScale
Nucleus RTOS Proprietary source providedembeddedARM (Cortex-M3-M4-R4-R4F-A8-A9, ARM7-9-11), PowerPC, MIPS32-16e, microMIPS, ColdFire, SuperH
NUT Proprietary open sourceembedded, industrialARM-M0, ARM-M0+, ARM Cortex-M3, ARM9, ARM Cortex-M7, Cortex-M3
Nut/OS BSD embedded, industrialAVR, AVR32, ARM7, ARM9, Cortex-M3
NuttX Apache 2.0 open sourceembedded, small footprintLinux user mode, ARM7-9, Cortex-A5-A8-A9-M0-M3-M4-M7, 8052, Espressif ESP32, Lattice LM32, Renesas MC16C/26/SH-1, RISC-V, Zilog Z16F, Zilog eZ80 Acclaim!, Zilog Z8Encore!, Z80, MIPS PIC32MX, PIC32MZ
OpenComRTOS Proprietary source providedembedded Freescale PowerPC, Texas Instruments C66xxx DSP, ARM, XMOS, MicroBlaze, LEON, NXP CoolFlux DSP, Melexis MLX16, Win32, Linux
OS2000 Proprietary  ?embeddedactive MIPS (Baget variant), KOMDIV-32, KOMDIV-64, Intel BSPs (x86)
OS4000 Proprietary closedprocess controlmaintenance onlyGEC 4000 series
OSE Proprietary available to customersgeneral purposeactiveARM, PowerPC, x86, TI OMAP, …
OS-9 Proprietary available to customersembeddedARM-strongARM, MIPS, PowerPC, SuperH, x86/Pentium, XSCALE, Motorola 6809, 680x0, SPARC
OSEK Dual, GPL or commercialspecificationengine control units
Phoenix-RTOS BSD open sourceembeddedactiveARMv7 Cortex-M, ARMv7 Cortex-A, IA-32, RISC V
PikeOS Proprietary available to customerscertifiable safety & security, embedded virtualisationPPC, x86, ARM, MIPS, SPARC-LEON, RISC-V
Protothreads BSD open sourcegeneral purposeactiveArchitecture independent
pSOS Proprietary  ? ?discontinued680x0
PX5 RTOS Proprietary royalty-free licensingembeddedactiveEmbedded MCU and MPU architectures. ARM's Cortex-M, Cortex-R, Cortex-A, RISC-V. AMP and SMP configurations.
QNX Proprietary  ?microkernel, embedded, industrialactive
QP Dual, GPL or commercialdualMCU, DSC, DSP SoCARM7/9, ARM Cortex-M3-M0, MSP430, TMS320C28x, AVR, AVRXmega, ColdFire, 68HC08, M16C/R8C, H8, 8051, 80251, PIC18, PIC24/dsPIC33, Nios II, PSoC1
REAL/32 Proprietary closedgeneral-purpose, industrial386
Real-time Linux (CONFIG_RT_PREEMPT) GNU GPLv2 open sourcegeneral purposesame as Linux
RedHawk Linux RTOS Proprietary closedhardware-in-the-loop, software-in-the-loop, general purposeactiveIntel, AMD, ARM, NVIDIA Drive, NVIDIA Jetson Orin
REX OS Proprietary closed, available with licenseembeddedinactiveARM
RIOT GNU LGPL open sourceactiveARM, MSP430, AVR, x86, RISC-V
RMX Proprietary closeddefunct Intel 8080, 8086, 80386, higher
RODOS BSD source providedactive ARMv7 (M3, A8, A9), AVR32, PowerPC 405, SPARC64

Platforms: SmartFusion2, RaspberryPi, STM32 On an OS: Linux, Windows, macOS, FreeRTOS, RTEMS

RSX-11 Proprietary  ? ?historicPDP-11
RT-11 Proprietary  ?general purposedefunctPDP-11
RTAI GNU GPL open sourcegeneral purposeactivex86 (with and without FPU and TSC), x86-64, PowerPC, ARM (StrongARM; ARM7: clps711x-family, Cirrus Logic EP7xxx, CS89712, PXA25x), m68k (supporting both MMU and NOMMU cpus)
RTEMS Modified GNU GPL embeddedARM, Blackfin, ColdFire, TI C3x/C4x, H8/300, x86, 68k, Milkymist SoC, MIPS, Nios II, PowerPC, SuperH, SPARC, ERC32, LEON, Mongoose-V
RTLinux GNU GPL general purposeinactivesame as Linux
RT-Kernel Proprietary source providedembeddedactiveARM, Blackfin
RT-Thread Apache 2.0 open sourceembeddedactiveARM, ARM Cortex-M0-M3-R4-M4-M7, IA-32, AVR32, Blackfin, nios, PPC, M16C, MIPS (loongson-1b-1c, PIC32,xburst), MicroBlaze, V850, unicore32,
RTXC Quadros Proprietary source availableembeddedARM - Atmel/Freescale/NXP/ST/TI, Blackfin, 680x0-ColdFire, PowerPC, StarCore, TI-Luminary Stellaris, TI OMAP, XScale
RTX, RTX64 Proprietary closedMS Windows extensionx86, x86-64
RX116  ? ?embedded, industrialdefunct NEC V20, NEC V30, NEC V40, NEC V50
RX616  ? ?safety critical, embedded, industrial NEC V60, NEC V70
RX-UX832  ? ?embedded, industrial, general-purposeNEC V60, NEC V70
SafeRTOS Proprietary source code & Design Assurance Pack availableembedded, safety criticalactiveSame as FreeRTOS
SHaRK GNU GPL open source ?inactive ?
Simulink Real-Time Proprietary closedreal-time testing-embeddedactivex86
SINTRAN III Proprietary  ? ? ? Norsk Data computers
Symbian OS Eclipse open sourceembeddeddefunctARM
T-Kernel T-Licensesource availableembedded RTOSactiveARM, MIPS, SH, more
THEOS Proprietary  ? ? ? ?
ThreadX Proprietary partial source available ?activeARC, ARM/Thumb, AVR32, BlackFin, 680x0-ColdFire, H8-300H, Luminary Micro Stellaris, M-CORE, MicroBlaze, PIC24-dsPIC, PIC32, MIPS, V8xx, Nios II, PowerPC, Renesas RX100, RX200, RX600, RX700, Synergy, SH, SHARC, StarCore, STM32, StrongARM, TMS320C54x, TMS320C6x, x86/x386, XScale, Xtensa/Diamond, ZSP
TI-RTOS Kernel (SYS/BIOS) BSD open sourceembeddedMostly Texas Instruments: MSP430-432, C2000-5000-6000, TI's ARM families (Cortex M3-4F-R4-A8-A15), SimpleLink Wireless CC2xxx-CC3xxx
TizenRT Apache 2.0 open sourceembeddedactive
Transaction Processing Facility Proprietary mixedgeneral purposeactive IBM Z series
TRON project Freemixedmixedactiveany: is a specification, not an implementation
UNIX-RTR  ? ? ?defunct PDP-11
UNOS  ? ? ?historic680x0
UniProtonFreeopen sourceembeddedactive AArch64 (Kunpeng), x86-64 on openEuler community & ARM, RISC-V, x86, x64 and LoongArch on OpenHarmony
µITRON T-License open sourceembeddedactiveARM, MIPS, x86, Renesas RX100-200-600-700-others
µ-velOSity Proprietary  ?microkernelactive ?
velOSity Proprietary  ? ?Power ISA, ARM/XScale, MIPS, x86/Pentium, ColdFire, Blackfin, OMAP, DaVinci
VAXELN Proprietary closed source ?historicVAX
VRTX Proprietary  ? ?superseded by Nucleus RTOS ARM, MIPS, PowerPC, RISC
VxWorks Proprietary  ?embeddedactiveARM, IA-32, Intel 64, MIPS, PowerPC, SH-4, StrongARM, xScale
Windows CE Proprietary Microsoft Shared Sourcex86, MIPS, ARM, SuperH
Windows 10 IoT Proprietary  ?Intel Atom, Celeron, Pentium; Qualcomm Snapdragon, Broadcom, NXP i.MX
Xenomai GNU GPLv2 open sourcegeneralx86, x86-64, PowerPC, ARM, Analog Devices Blackfin BF52x, BF53x, BF54x and BF56x
XINU Freeembeddedactivex86, MIPS, ARM, AVR
XMK BSD open sourceembeddedinactive
Zephyr Apache 2.0 open sourceembeddedactive ARM (Cortex-M0, -M3, -M4, -M23, -M33, -R4, -R5, -A53), x86, ARC, RISC-V, Nios II, Xtensa, SPARC

Related Research Articles

<span class="mw-page-title-main">Computer multitasking</span> Concurrent execution of multiple processes

In computing, multitasking is the concurrent execution of multiple tasks over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as central processing units (CPUs) and main memory. Multitasking automatically interrupts the running program, saving its state and loading the saved state of another program and transferring control to it. This "context switch" may be initiated at fixed time intervals, or the running program may be coded to signal to the supervisory software when it can be interrupted.

<span class="mw-page-title-main">Perception</span> Interpretation of sensory information

Perception is the organization, identification, and interpretation of sensory information in order to represent and understand the presented information or environment. All perception involves signals that go through the nervous system, which in turn result from physical or chemical stimulation of the sensory system. Vision involves light striking the retina of the eye; smell is mediated by odor molecules; and hearing involves pressure waves.

Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constraints, often referred to as "deadlines".

A real-time operating system (RTOS) is an operating system (OS) for real-time computing applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which manages the sharing of system resources with a scheduler, data buffers, or fixed task prioritization in a multitasking or multiprogramming environment. Processing time requirements need to be fully understood and bound rather than just kept as a minimum. All processing must occur within the defined constraints. Real-time operating systems are event-driven and preemptive, meaning the OS can monitor the relevant priority of competing tasks, and make changes to the task priority. Event-driven systems switch between tasks based on their priorities, while time-sharing systems switch the task based on clock interrupts.

<span class="mw-page-title-main">User interface</span> Means by which a user interacts with and controls a machine

In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine from the human end, while the machine simultaneously feeds back information that aids the operators' decision-making process. Examples of this broad concept of user interfaces include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls and process controls. The design considerations applicable when creating user interfaces are related to, or involve such disciplines as, ergonomics and psychology.

A stimulus is something that causes a physiological response. It may refer to:

System analysis in the field of electrical engineering characterizes electrical systems and their properties. System analysis can be used to represent almost anything from population growth to audio speakers; electrical engineers often use it because of its direct relevance to many areas of their discipline, most notably signal processing, communication systems and control systems.

<span class="mw-page-title-main">Embedded operating system</span> Type of computer operating system

An Embedded Operating System (EOS) is an operating system designed specifically for embedded computer systems. These systems aim to enhance functionality and reliability to perform dedicated tasks. When the multitasking method employed allows for timely task execution, such an OS may qualify as a real-time operating system (RTOS).

A transducer is a device that converts energy from one form to another. Usually a transducer converts a signal in one form of energy to a signal in another. Transducers are often employed at the boundaries of automation, measurement, and control systems, where electrical signals are converted to and from other physical quantities. The process of converting one form of energy to another is known as transduction.

The IEEE 1164 standard is a technical standard published by the IEEE in 1993. It describes the definitions of logic values to be used in electronic design automation, for the VHDL hardware description language. It was sponsored by the Design Automation Standards Committee of the Institute of Electrical and Electronics Engineers (IEEE). The standardization effort was based on the donation of the Synopsys MVL-9 type declaration.

The LynxOS RTOS is a Unix-like real-time operating system from Lynx Software Technologies. Sometimes known as the Lynx Operating System, LynxOS features full POSIX conformance and, more recently, Linux compatibility. LynxOS is mostly used in real-time embedded systems, in applications for avionics, aerospace, the military, industrial process control and telecommunications. As such, it is compatible with military-grade security protocol such as wolfSSL, a popular Transport Layer Security (TLS/SSL) library.

The receptive field, or sensory space, is a delimited medium where some physiological stimuli can evoke a sensory neuronal response in specific organisms.

<span class="mw-page-title-main">Superposition principle</span> Fundamental physics principle stating that physical solutions of linear systems are linear

The superposition principle, also known as superposition property, states that, for all linear systems, the net response caused by two or more stimuli is the sum of the responses that would have been caused by each stimulus individually. So that if input A produces response X and input B produces response Y then input (A + B) produces response (X + Y).

Functional verification is the task of verifying that the logic design conforms to specification. Functional verification attempts to answer the question "Does this proposed design do what is intended?" This is complex and takes the majority of time and effort in most large electronic system design projects. Functional verification is a part of more encompassing design verification, which, besides functional verification, considers non-functional aspects like timing, layout and power.

<span class="mw-page-title-main">Dorsal cochlear nucleus</span>

The dorsal cochlear nucleus is a cortex-like structure on the dorso-lateral surface of the brainstem. Along with the ventral cochlear nucleus (VCN), it forms the cochlear nucleus (CN), where all auditory nerve fibers from the cochlea form their first synapses.

Neural coding is a neuroscience field concerned with characterising the hypothetical relationship between the stimulus and the neuronal responses, and the relationship among the electrical activities of the neurons in the ensemble. Based on the theory that sensory and other information is represented in the brain by networks of neurons, it is believed that neurons can encode both digital and analog information.

<span class="mw-page-title-main">Biological neuron model</span> Mathematical descriptions of the properties of certain cells in the nervous system

Biological neuron models, also known as spiking neuron models, are mathematical descriptions of the conduction of electrical signals in neurons. Neurons are electrically excitable cells within the nervous system, able to fire electric signals called action potentials across a neural network.These mathematical models describe the role of the biophysical and geometrical characteristics of neurons on the conduction of electrical activity.

In science, computing, and engineering, a black box is a system which can be viewed in terms of its inputs and outputs, without any knowledge of its internal workings. Its implementation is "opaque" (black). The term can be used to refer to many inner workings, such as those of a transistor, an engine, an algorithm, the human brain, or an institution or government.

<span class="mw-page-title-main">Real-time Control System</span> Reference model architecture

Real-time Control System (RCS) is a reference model architecture, suitable for many software-intensive, real-time computing control problem domains. It defines the types of functions needed in a real-time intelligent control system, and how these functions relate to each other.

The emulation theory of representation postulates that there are multiple internal modeling circuitries in the brain referred to as emulators. These emulators mimic the input-output patterns of many cognitive operations including action, perception, and imagery. Often running in parallel, these emulators provide resultant feedback in the form of mock sensory signals of a motor command with less delay than sensors. These forward models receive efference copies of input motor commands being sent to the body and the resulting output sensory signals. Emulators are continually updating so as to give the most accurate anticipatory signal following motor inputs.

References