OS Products

Sept. 3, 2001
VERY SMALL RTOS ATTRIBUTES Characteristics Supports 8- or 16-bit processor 0.5...

VERY SMALL RTOS ATTRIBUTES
Characteristics
  • Supports 8- or 16-bit processor
  • 0.5 to 8 kbytes of program memory
  • Very low RAM requirements
  • ROMable

  • Advantages
  • Incremental OS architecture
  • Components work together
  • Tested and supported software

  • Disadvantages
  • Limited functionality
  • Memory requirements may still be too large for some platforms

  • Alternatives
  • Build your own
  • Use a more powerful platform
  • Great RTOSs Come In Small Packages It takes skill to pack applications into compact 8- and 16-bit systems with limited memory. Bringing in a real-time operating system (RTOS) can simplify the task. Building an RTOS for these platforms is an art and not a chore to be taken lightly, even though the RTOS may use only a few thousand bytes.

    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 Delivers Quality Of Service (QoS). TimeSys' Linux/RT adds a real-time resource-management kernel to Linux. Tasks can reserve time over an interval instead of just trying to run at a high priority. The kernel provides real-time QoS support and conventional prioritized scheduling. Linux/RT also handles real-time application-space tasks. Some real-time Linux implementations support only real-time kernel tasks, but Linux/RT supports POSIX real-time extensions. TimeSys' JTime Java virtual machine delivers QoS support to Java threads with a real-time garbage collector.TimeSys Corp. (888) 432-TIME; www.timesys.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
    Picokernel RTOS Comes With Development tools in the version of ThreadX from Green Hills Software. The company combines its Multi for ThreadX integrated development environment (IDE) with Express Logic's ThreadX RTOS. The picokernel can be packed into as little as 3 kbytes of RAM plus add-on packages. Add-on packages such as fileX, netX, and pegX provide file, network, and graphical services, respectively. Royalty-free licensing makes ThreadX an excellent alternative to compact Linux implementations.Green Hills Software Inc. (805) 964-3044; www.ghs.comExpress Logic Inc. (858) 613-6640; www.threadx.com
    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
    Embedded OS Does Windows with Windows NT Embedded 4.0 OS. It's a modular version of the popular Windows NT OS, so applications and development tools work with both platforms. This also is true for major Microsoft technologies, such as COM and DCOM, though not for .NET. This OS supports domain-level management and security, plus Windows file and print services. The Win32-based graphics support is optional, and the Target Designer permits the selection of optional components.Microsoft Corp. (425) 882-8080; www.microsoft.com
    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
    Linux-Compatible RTOS Has A Linux Sibling and both are available from LynuxWorks. LynxOS adds high-availability support, hot-swappable PCI support, an I2O interprocess messaging system, and HP's Chai Java VM. BlueCat Linux is a version-stabilized, open-source Linux distribution without per-system licensing. LynxOS provides hard real-time support via a proprietary kernel with a per-system licensing scheme.LynuxWorks Inc. (408) 979-3900; fax (408) 979-3920; www.lynuxworks.com
    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
    Embedded Virtual Computing Environments are built on the OnCore OS from OnCore Systems. It allows different OSs to run on the same system concurrently, including Java, POSIX apps, VxWorks, pSOS, mCos, and Red Hat Linux. Applications can be dynamically loaded, as can Linux, allowing the installation of real-time updates via Linux. A distributed interprocess communication system supports IP and non-IP communication between applications in different OS partitions. Multilevel, high-availability support provides failover support. These services support a range of hot-swap hardware.OnCore Systems Corp. (650) 712-0655; www.oncoresystems.com
    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
    OS Runs On SMP Systems and is a kissing cousin to Linux. Wind River's purchase of BSD/OS from BSDi expands Wind River's high end. Based on FreeBSD (www.freebsd.com), its licensing scheme can be more restrictive than the General Public License (GPL) used with Linux. A large number of applications will run on either platform via recompilation, but BSD/OS features top-notch security in addition to a high-performance platform. It supports IPv6 and the Java 2 runtime environment, along with a host of Web-based services. Designed for mission-critical environments, BSD/OS delivers high reliability. Wind River Inc. (800) 545-WIND; www.windriver.com
    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:

    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. 

    Sponsored Recommendations

    Comments

    To join the conversation, and become an exclusive member of Electronic Design, create an account today!