VERY SMALL RTOS ATTRIBUTES |
Characteristics |
Advantages |
Disadvantages |
Alternatives |
Most developers don't build their own OS. Instead, they turn to small RTOSs, such as CMX RTX from CMX Systems, Nucleus OSEK from Accelerated Technologies (ATI), and Lineo's RTXC. Still, developers may employ only a fraction of the features because each translates into costs, usually in memory and system overhead.
Tiny RTOSs can be trimmed to the bare bones. MMUs aren't needed. Even memory management can be eliminated. Just the necessary features must be included, typically keeping the OS footprint small. It can also reduce task overhead because less information must be preserved to track task resources.
Vendors take different approaches when designing a compact RTOS. CMX Systems starts small and has an even smaller sibling. ATI begins with 16-bit platforms and grows to support 32-bit platforms. Lineo links Linux with RTXC Quadros. Yet, all three note a small footprint as a key feature.
Small, Smaller, Smallest CMX Systems revels in the 8-bit space and readily supports 16-bit processors, especially single-chip solutions with limited memory capabilities. CMX Tiny+ can be trimmed to under half a kilobyte of ROM and still retain event support. Features like queues and memory management, which are standard in CMX RTX, are optional on CMX Tiny+.Tiny is the watchword for CMX Tiny+, where adding even just 1 kbyte of ROM can be a budget buster. It uses only 14 bytes for a task block. Other operating-system data structures also are compact.
The CMX-MicroNet TCP/IP stack raises the bar over 3 kbytes on an Atmel AVR. Adding a Web server and virtual file system raises the footprint to around 14 kbytes. This is still smaller than the minimum footprint for competing RTOSs alone. But don't confuse minimal size with minimal support.
CMX is supported by such tools as C Compiler from Keil Software (www.keil.com). Bundled development hardware, like All American's (www.allamerican.com) iKit2000, runs CMX on a reconfigurable Triscend E5 (www.triscend.com) chip. The OS even handles an Ethernet adapter.
Building Up ATI Nucleus OSEK adds graphics in addition to networking support and compatibility with the OSEK standard (www.osek-vdx.org). This scalable RTOS can trim unneeded features for a particular environment because features are implemented with minimal cross dependencies. This modular approach makes it possible to run with just one type of interprocess communication service, including mailboxes, pipes, or queues.A modular device driver architecture makes building larger systems easier. A complete set of clients and servers for FTP, Telnet, mail, and DHCP make Nucleus OSEK a great choice for OSEK-compliant networks. Another OSEK-compatible RTOS is Wind River Systems' (www.windriver.com) OSEKWorks.
Adding Linux Compatibility within the RTXC API extends to Lineo's Linux RTOS, Embedix. Applications are ported to larger systems when necessary, allowing RTXC to be configured for an application. RTXC Quadros has four configurations. These include single stack, multiple stack, both single and multistack, and multiprocessor. The hybrid services a mix of high-priority tasks with a single stack and lower-priority tasks with their own stacks. Applications include voice-over-IP gateways.RTXCdsp extends RTXC into the DSP realm. It has the same APIs and same compact size.
With these compact RTOSs, it's possible to keep the package small.
Accelerated Technologies
CMX Systems Inc.
Lineo Inc.
LILLIPUTIAN LANDSCAPE | |||
CMX RTX/Tiny+ | Nucleus OSEK | RTXC Quadros | |
Architectures | 8- and 16-bit | 16- and 32-bit | 16- and 32-bit |
Target platforms | over 40 | over 105 (includes 32-bit) | over 20 (includes 32-bit) |
MMU support | no | no | no |
Scheduling | priority | priority | priority, round robin |
Messaging | yes | yes | yes |
Memory management | yes/no | yes | yes |
Minimum footprint | 1/0.8 kbytes | under 2 kbytes | 1.5 kbytes |
Graphics | none | Nucleus Grafix | RTXCgraphics |
Network support | CMX-MicroNet | yes | RTXCnet |
Device drivers | no | yes | RTXCio |
File system support | yes | yes | RTXCfile |
Remote debugging | yes | yes | yes |
Royalties | none | none | negotiated |
Company | CMX Systems Inc. | Accelerated Technologies | Lineo Inc. |
Web site | www.cmx.com | www.atinucleus.com | www.lineo.com |
LINUX/RT | |
Architecture | monolithic |
MMU support | required |
Real time | hard, soft |
Scheduling | Priority, QoS |
POSIX | 1003.1, 1b, 1c, 2 |
Graphics | X Windows |
Licensing | per project |
Target CPUs | MIPS, PPC, x86 |
Java VM | JTime |
THREADX | |
Architecture | picokernel |
MMU | required |
support | |
Real time | hard |
Scheduling | priority |
POSIX | 1003.1 |
Graphics | pegX |
Licensing | no royalties |
Target CPUs |
68xxx, ARM, Coldfire, i960, MIPS, PPC, SH, SPARC, V8xx |
Java VM | third party |
WINDOWS NT 4.0 | |
Architecture | monolithic |
MMU support | required |
Real time | hard, soft |
Scheduling | Priority |
POSIX | 1003.1 |
Graphics | Win32 |
Licensing | per system |
Target CPUs | x86 |
Java VM | third party |
LYNXOS | |
Architecture | monolithic |
MMU support | required |
Real time | hard, soft |
Scheduling | priority |
POSIX | 1003.1, 1b, 1c, 2 |
Graphics | X Windows |
Licensing | per system |
Target CPUs | MIPS, PPC, x86 |
Java VM | HP Chai |
ONCORE OS | |
Architecture | microkernel |
MMU support | required |
Real time | hard |
Scheduling | priority |
POSIX 1003. | per partition |
Graphics | per partition |
Licensing | per system |
Target CPUs | ARM, MIPS, PPC, x86 |
Java VM | third party |
BSD/OS | |
Architecture | monolithic |
MMU support | required |
Real time | hard, soft |
Scheduling | priority |
POSIX | 1003.1, 1b, 1c, 2 |
Graphics | X Windows |
Licensing | per project |
Target CPUs | Alpha, x86 |
Java VM | J2RE |