Embedded Systems/Common RTOS

This chapter will discuss some particular RTOS implementations. We may use some technical terms described in the ../Real-Time Operating Systems/ chapter.

Requested RTOS
Use this page to request or suggest a new chapter about a new RTOS.

Add new RTOS's here before adding them to the main page. Do not list an RTOS on the main page if you do not intend on writing a chapter for it yourself. There are far too many different RTOS's in this world to list every instance on the main table of contents, and expect other users to fill in the blanks. Many RTOS are designed for a particular purpose, and few are common enough that other contributors can be expected to have some experience with them.


 * µC/OS-III
 * INTEGRITY
 * velOSity
 * u-velOSity
 * QNX (Operating System Design/Case Studies/QNX)
 * VxWorks
 * LynxOS
 * FreeRTOS . In particular there is a port of FreeRTOS as an Arduino library ; more generally FreeRTOS has been ported to many processors, including the ARM and the AVR.
 * eCos
 * ST OS20
 * FreeOSEK
 * DSPnano
 * Unison
 * Atomthreads
 * BeRTOS
 * ERIKA Enterprise
 * OPENRTOS
 * SAFERTOS
 * PikeOS® is a hard real-time operating system (RTOS) : PikeOS combines a real-time operating system (RTOS) with a virtualization platform and Eclipse-based integrated development environment (IDE) for embedded systems.
 * RTEMS for Embedded Software Developers
 * KRNL - an open source realtime kernel (KRNL) for the Arduino platform.
 * Everyman Kernel - a well-documented simple hard-real-time kernel released under the 2-clause FreeBSD license.

Many embedded systems have no "operating system" other than a Forth or BASIC interpreter.

Common embedded operating systems
In this book, we discuss these operating systems commonly used in embedded systems:


 * Palm OS ( Programming for Palm OS )
 * Windows CE
 * MS-DOS or DOS Clones
 * Linux, including RTLinux and MontaVista Linux and Unison OS

For further reading
A variety of embedded systems and RTOS are based on Linux—see Embedded Systems/Linux for details.


 * Embedded Control Systems Design/Operating systems
 * Wikipedia: LynxOS: A POSIX® general-purpose, feature-rich, multi-core hard real-time real time RTOS.
 * Wikipedia: LynxOS-178: A native POSIX® hard real-time partitioning operating system developed and certified to FAA DO-178C DAL A safety standards.
 * Wikipedia:INTEGRITY: A small, message passing, hard real-time micro kernel with memory protection designed for safety critical and high security devices.
 * Contiki: a small, open source, operating system developed for use on a number of smallish systems ranging from 8-bit computers to embedded microcontrollers.
 * Wikipedia: eCos (embedded Configurable operating system): an open source, royalty-free, real-time operating system intended for embedded systems and applications. ... eCos was designed for devices with memory footprints in the tens to hundreds of kilobytes, or with real-time requirements.
 * DSP/BIOS: a royalty-free real-time multi-tasking kernel (mini-operating-system) created by Texas Instruments.
 * QNX
 * VxWorks: A small footprint, scalable, high-performance RTOS
 * Windows CE
 * Palm OS
 * "pico]OS" has been ported to the Atmel AVR, the ARM, and the 80x86
 * OSEK is not an OS, but an open standard for automotive real-time operating systems.
 * MaRTE OS - Minimal Real-Time Operating System for Embedded Applications ''(Is this related to MARTE ?)
 * TinyOS is an open-source operating system designed for wireless embedded sensor networks ("networked sensors").
 * ChibiOS/RT is an open-source real-time operating system that supports LPC214x, AT91SAM7X, STM32F103x and ATmega processors.
 * Fusion RTOS is a license-free embedded operating system that supports ARM, Analog Devices Blackfin, Motorola StarCore and Motorola DSP 56800E.
 * FreeRTOS is an open-source embedded operating system kernel that supports ARM, Atmel AVR, AVR32, HCS12, MicroBlaze, MSP430, PIC18, dsPIC, Renesas H8/S, x86, 8052 processors. FreeRTOS can be configured for both preemptive or cooperative operation. FreeRTOS and OPENRTOS share the same code base, SAFERTOS shares the same functional model.
 * RTEMS for Embedded Software Developers ( RTEMS) (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating system (RTOS) designed for embedded systems.
 * MicroC/OS-II is an embedded RTOS intended for safety critical embedded systems such as aviation, medical systems and nuclear installations; it supports a wide variety of embedded processors.
 * "The Real-time Operating system Nucleus" TRON Project
 * DSPnano RTOS Ultra Tiny Embedded Linux and POSIX compatible RTOS for 8/16 Bit MCUs with Dual Licensing. Free open source versions and commercially supported versions for MCUs, DSCs and DSPs.
 * Unison RTOS Ultra Tiny Embedded Linux and POSIX compatible RTOS for 32 Bit MCUs with Dual Licensing. Free open source versions and commercially supported versions for MCUs, DSCs and DSPs.
 * BeRTOS is a real time open source operating system supplied with drivers and libraries designed for the rapid development of embedded software. It supports ARM, Atmel AVR, AVR32, BeRTOS can be configured for both preemptive or cooperative operation. Perfect for building commercial applications with no license costs nor royalties.
 * NuttX is a BSD licensed real-time embedded operating system that supports various ARM (including Cortex-M3), Intel 8052, Intel x86, Freescale M68HC12, Atmel AVR32, Hitachi SuperH and Zilog Z80 systems
 * Ethernut is a modular, open source, real time operating system for embedded platforms, the principal operating system of the Ethernut board. It is easily configurable and optimized to run on 8 and 32 bit microcontrollers.
 * ERIKA Enterprise is an open-source implementation of the OSEK/VDX API. ERIKA Enterprise includes also RT-Druid, which is a development environment distributed as a set of Eclipse plugins.
 * Threadx is a small, fast, SIL 4 and ASIL D safety certified embedded operating system that supports ARC, ARM, PowerPC, RISC-V, Renesas RX/SH/V85x, MIPS, and Xtensa embedded processors.