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 |
About the Author
William G. Wong
Senior Content Director - Electronic Design and Microwaves & RF
I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.
You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form.
Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below.
You can visit my social media via these links:
- AltEmbedded on Electronic Design
- Bill Wong on Facebook
- @AltEmbedded on Twitter
- Bill Wong on LinkedIn
I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.
I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence.