The art of making a real time operating system continues to flourish, although currently the focus of innovation is on how small and efficient the RTOS can be made. These small-footprint RTOSs provide only the minimal OS support, including task management, inter-process communication, and memory management. File systems, graphics, and communication protocol stacks are usually available for an additional charge and can significantly increase a system's footprint. The following are the descriptions of a few of the RTOS which can be categorized as small (other RTOS like RTLinux, KURT etc have not been included, as they have not been considered as a small RTOS):
1. eCos is an RTOS that is dependable, license free, and truly open-source. It has been tested and ported on multiple platforms and is highly configurable in architecture. It supports processors based on ARM7, ARM9, ColdFire, IA32, MIPS, PowerPC, SuperH, Xscale, among others. Website: www.ecoscentric.com
2. CMX Systems has moved its CMX-RTX from CMX's usual 8- and 16-bit realm into the 32- and 64-bit world. The functionality is the same, and its footprint is on the order of 3.5 to 20 kbytes. CMX-Tiny+ is an even smaller, more limited RTOS. CMXRTX is only part of the puzzle, though. CMX's other protocol stacks and file systems also are available. Many of these can be used without an operating system. Royalty-free licenses start at $2200. Website: www.cmx.com
3. Green Hills Software's u-VelOSity is the little brother of VelOSity, which in turn is the basis for the high-end Integrity RTOS. u-VelOSity has a very small footprint, starting at 1.6 kbytes of flash and about 1 kbyte of SRAM. Its application programming interface (API) is upward-compatible with its siblings. Contact Green Hills Software for royalty-free pricing. Website: www.ghs.com
4. FreeRTOS is a portable, open source, mini Real Time Kernel - a free to download and royalty free RTOS that can be used in commercial applications. It is both preemptive and cooperative and has been ported on to ARM CORTEX M3, ARM7, HCS12, MSP430, AVR, PIC, and several other 8/16/32 bit processors. Website: www.freertos.org
5. ChorusOS operating system was developed by Sun Microsystems. It is a highly scalable and reliable embedded operating system that has established itself among top telecom suppliers. The ChorusOS operating system is used in public switches and PBXs, as well as within access networks, cross-connect switches, voice-mail systems, cellular base stations, cellular phones. Its features include component-based architecture for high configurability, allowing a high degree of scalability (requires 10KB RAM to run), multiple OS personalities and Inter-Process communication. Website: www.sun.com/chorusos
6. Express Logic's Threadx V5 offers a starting footprint that's under 6 kbytes of flash. It adds real-time performance metrics, run-time stack analysis, and built-in software trace support. A simplified timer interrupt and increased priority levels make the platform even more flexible. The new event-chaining feature allows a task to wait on a group of message queues. Royalty-free licenses start at $12,500. Website: www.rtos.com
7. Quadros' RTXC also targets a range of platforms. Its dual-mode version is optimized for RISC/DSP microcontrollers. A single-project license starts at $15,500. Website: www.quadros.com
8. Coyotos is a secure, microkernel-based operating system that builds on the ideas and experiences of the EROS project. Much of the code developed for EROS will migrate directly to Coyotos. The Coyotos project’s objectives include correcting the shortcomings of the earlier EROS design, demonstrate that an atomic kernel design scales up as well as down, bring up versions of Coyotos on large-scale multiprocessors, provide an efficient linux compatibility environment for use as a transitional runtime system, so that it is possible to explore adapting applications to a more secure API foundation, construct the kernel and key utilities in a new systems programming language (BitC) with a well-defined, mechanically-specified semantics (which will allow formal verification of security and correctness properties of the system and its key utilities). It is also one of the few RTOS which is being targeted at AMD-64, and multi-core processors. Website: http://www.coyotos.org
9. embOS is a very efficient and small OS, which features the entire palette of communication mechanisms such as mailboxes, events and different kinds of semaphores. All tasks and communication instances can be dynamically created, deleted and configured. It is fully priority controlled : out of the tasks in READY-state, the one with the highest priority is active. Tasks that have identical priorities are executed "quasi-simultaneously" in round robin. If no task is ready, embOS automatically puts the CPU in to a power-saving mode in the idle-task. Website: www.segger.com
10. L4 microkernel is a high-performance RTOS and extremely suitable for secure, highly reliable, embedded applications. Its design philosophy is based on the following: Trustworthiness of a system has a lot to do with its size, even well-engineered code has of the order of several defects per thousand lines of code (loc). Hence, a bigger system has inherently more bugs than a small system. This is particularly relevant for the kernel, as it is not subject to protection mechanisms. Therefore any kernel bug is potentially fatal for the system (which is the same as saying that the kernel is part of the trusted computing base (TCB). Minimising the exposure to faults means minimising the TCB. As the kernel is always part of the TCB, a small TCB requires a small kernel. L4 is one of the smallest kernels in existence and is known for its excellent performance. Website: http://ertos.nicta.com.au/research/l4
11. eQip is a community project to develop QNX on handheld devices. It is a public extension of the QNX\'s iPAQ reference platform. eQip stands for "embedded QNX for information appliance". Website: http://eqip.openqnx.com/
12. RxDOS is a fast industrial strength DOS compatible RTOS, supports huge disk drives, FAT32 volumes, Windows 95/98 long filenames, coded in Assembly, and is open source with GPL license. Website: http://sourceforge.net/projects/rxdos/
13. Fusion RTOS is a priority based, preemptive, multitasking real-time operating system designed and optimized for next generation DSP architectures. Many DSP applications operate under tight memory requirements. The Fusion RTOS kernel can be configured to operate with as little as 1 - 1.5 K of DSP code space. The kernel uses less than 30 words of ram. Each task control block uses only 15 words of ram. The memory requirements of Fusion RTOS are miniscule. The Fusion RTOS kernel is extremely fast and is capable of a higher level of performance than any microcontroller based OS can deliver. Minimum context switch times can be as fast as 190 Cycles (4.75 usec @ 40 MIPs). Website: www.unicoi.com
14. MQX RTOS provides proven performance, with blazing real-time speed within a tiny footprint. The MQX RTOS is designed to be easy to configure to balance code size with performance requirements; alternative settings can be selected, benchmarked and iterated to optimize cost and performance. Depending on platform and options chosen, the MQX RTOS can be configured to take as little as 6K bytes of ROM, including kernel, interrupts, semaphores, queues and memory manager. The MQX RTOS delivers the performance that demanding customer have come to expect in leading RTOS solutions as well, on a 200 MHz PowerPC® MPC8248, interrupt latency came in at 0.331 μsec and context switch time was benchmarked at 0.558 μsec. Website: http://www.psti.com/products/mqx
15. On Time RTOS-32 is a royalty-free hard real-time embedded operating system for protected mode 32-bit x86 CPUs implements a Windows subset kernel in only 16k of memory. It provides about 250 Win32 API functions and can load Windows DLLs. Website: www.on-time.com/rtos-32.htm
16. Salvo RTOS is designed expressly for very-low-cost embedded systems with severely limited ROM and RAM. Typical applications use 1-2K ROM and 50-100 bytes of RAM. Salvo can be used for 8051 family and its derivatives, ARClite microRISC synthesizeable 8-bit core, ARM ARM7TDMI and Cortex-M3, Atmel AVR and MegaAVR, Motorola M68HC11, TI's MSP430 Ultra-Low Power Microcontroller, Microchip PIC12|14000|16|17|18 PICmicro MCUs, Microchip PIC24 MCUs and dsPIC DSCs and TI's TMS320C2000 DSPs. Website: www.pumpkininc.com/
17. SMX is a no royalty, full featured, fast, preemptive kernel. Unlike generic C kernels, it exploits strengths of x86 architecture and makes them easily used by programmers. Optimal mix of speed, compactness, functions. Supports ColdFire, PowerPC, x86. Website: www.smxrtos.com
18. Tics RTOS is a powerful real-time operating system with an easy to understand API. Tics is distributed under the GPL license. Tics can run on virtually any microprocessor; you only need to create a hardware support file for your particular processor. A sample hardware support file is provided that allows Tics to run under DOS. This sample hardware support file can be used as a template to create hardware support files for other processors. Website: www.concentric.net/~Tics/
19. Turbo Task is a tiny but full-featured and royalty-free real time operating system for the Rabbit and Z-80/Z180 microprocessors. TurboTask ranges in size from 1k to 2.5k, depending on the features that are used. TurboTask is written in 100% assembly code making it as small and as fast as possible. An economical and royalty-free binary license is available. Website: www.softools.com/turbotask.htm
20. Jbed is embedded Java RTOS with hard realtime capability, unique technology combines small footprint, high speed, and the safety and productivity of Java. It is a component-based, safe run-time system, for Java and Component Pascal. It allows remote reconfiguration with no down-time. Website: www.esmertec.com
21. µC/OS-II RTOS is a highly portable, ROMable, very scalable, preemptive real-time, multitasking kernel (RTOS) for microprocessors and microcontrollers. µC/OS-II runs on a large number of processor architectures. A Validation Suite developed for µC/OS-II provides all of the documentation necessary to deliver µC/OS-II as a pre-certifiable software component for safety critical systems, including avionics RTCA DO-178B and EUROCAE ED-12B, medical FDA 510(k), and IEC 61058 standard for transportation and nuclear systems. Website: www.ucos-ii.com/products/rtos/kernel/rtos.html