RTOS: Overview
This article introduces the basic knowledge of Real-Time Operating System (RTOS).
What’s RTOS?
A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time application process data as it comes in, typically without buffering delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter.
A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application’s task; the variability is jitter. A hard real-time operating system has less jitter than a soft real-time operating system. The chief design goal is not high throughput, but rather a guarantee of a soft or hard performance category. A RTOS that can usually or generally meet a deadline is a soft real-time OS, but if it can meet a deadline deterministically it is a hard real-time OS.
A RTOS has an advanced algorithm for scheduling. Scheduler flexibility enables a wider, computer-system orchestration of process priorities, but a real-time operating system is more frequently dedicated to a narrow set of applications. Key factors in a real-time operating system are minimal interrupt latency and minimal thread switching latency; a real-time operating system is valued more for how quickly or how predictably it can respond than for the amount of work it can perform in a given period of time.
List of RTOS
The RTOS is developed and supplied by multiple suppliers in an open market. See the comparison of real-time operating systems for a comprehensive list. Here is a list of RTOS, which are used during my work.
Name | License | Source Model | Target | Status | Platforms |
---|---|---|---|---|---|
OSE | Proprietary | Closed | General purpose | Active | ARM, PowerPC, MIPS, IXP2400, TI OMAP, … |
ThreadX | Proprietary | Available to customers | ? | Active | ARC, 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 |
Micrium µC/OS-II | Proprietary | Available under license | Embedded | Active | ARM7-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, … |
Micrium µC/OS-III | Proprietary | Available under license | Embedded | Active | ARM7-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, … |
Here is a list of RTOS, which is open source:
- RT-Thread
- eCos
- Fiasco
- FreeRTOS
- Phoenix-RTOS
- Nut/OS
- Prex
- RTAI
- RTEMS
- Real-Time Linux
- SHaRK
- TRON Project
- Xenomai
- CoOS
Here is a list of RTOS, which is not open source:
- Ardence RTX
- BeOS
- ChorusOS
- DNIX
- DMERT
- e-Tkernel
- HOPEN OS
- embOS
- INTEGRITY
- ITRON
- LynxOS
- MERT
- MicroC/OS-II
- MQX RTOS
- Nucleus
- OS-9
- OSE
- OSEK/VDX
- OSEKtime
- PDOS
- Phar Lap ETS
- PikeOS
- Portos
- pSOS
- QNX
- RMX
- RSX-11
- RT-11
- RTOS-UH
- RTXC
- Salvo RTOS
- SINTRAN III
- Symbian OS
- ThreadX
- VRTX
- VxWorks
- Windows CE
- µnOS
- UNIX-RTR
- REX
- HP-1000/RTE
References
- RTOS Wikipedia
- Comparison of Real-Time Operating Systems (RTOS) at Wikipedia
- Comparison of Real-Time Operating Systems (RTOS) at DMOZ
- 2014 Embedded Market Study