Software Directory: Operating-System Series

Green Hills Software Integrity
The watchwords for Green Hills Software's Integrity RTOS are mission-critical and high reliability. To deliver the highest level of system integrity, Green Hills' RTOS supports guaranteed resource availability of memory and time resources. For this reason, developers are choosing Integrity for performance and safety-critical applications.

One way that Green Hills delivers performance is by minimizing interrupt latency. The kernel never masks interrupts while manipulating critical data structures. Instructions with long latencies, like division and certain string operations, also are avoided in the kernel. Still, efficient use of the RTOS requires good tools.

Integrity is supported by Green Hills' own Multi integrated development environment. Integrity and Multi work with third-party tools too, such as Rational Software's Rose RealTime UML modeling system. UML can improve code reuse as well as reduce development time and errors. Plus, Multi supports multiprocessor debugging environments where Integrity is often found.

Complex time-related debugging is done using the Integrity EventAnalyzer. The utility logs events like semaphore calls, task context-switches, and interrupts in real time. Calls can be inserted into applications to track real-time performance.

Integrity Features
Integrity's guaranteed resource availability permeates the kernel design and is key to application development. It allows developers to parcel out limited system resources to applications. Therefore, overall system consumption is known, and errors that may occur in one application don't ripple through the whole system. This requires memory isolation, which is provided by a processor's MMU, as well as kernel-imposed control over otherwise conventional allocation and scheduling APIs.

Application control and isolation support are key to Integrity's ability to replace applications by downloaded replacements. Most systems that utilize Integrity must run continuously, making reboots im-practical.

Continuous operation is only effective if applications can perform their actions given the limited resources of the system. Integrity's range of scheduling support helps developers stay within these limitations. The optional ARINC 653 Partition Scheduler can guarantee that a task has a window of runtime available for execution. Also, message transfers use a task's time allotment. They're not part of kernel execution time. This also helps to reduce interrupt latency.

Green Hills' attention to performance didn't distract it from security issues. The kernel's object-oriented design and access-verification system stop such problems as invalid kernel addresses, or call parameters, from occurring. Moreover, it aids in fault isolation between protected applications because use of interprocess communication services is controlled by access permissions employed throughout the system.

Even device driv- ers are secured and implemented as user-level tasks. This keeps the kernel small and prevents a device-driver problem from causing problems with other devices or applications.

Integrity supports the usual complement of devices and network services. Additionally, it supports the Trillium telephony suite. This makes the RTOS a good choice for telephone switch management.

Integrity cannot guarantee that a device will always work. But it does guarantee that the other services will still have the resources necessary to continue.

Red Hat eCos
Think open-source OS, and Linux comes to mind. Look further for open-source RTOSs, and eCos appears. Significantly more compact than Linux, eCos targets deeply embedded solutions, in which memory and hardware resources are limited. It handles a wide range of computing platforms and has impressive third-party support with both open-source and proprietary solutions. In addition, eCos is supported by a number of development tools, including those available from Red Hat.

The eCos source code can be downloaded from Red Hat's Web site for free, but that's only part of the story. While eCos is a royalty-free RTOS, Red Hat charges for support and development tools. Compared to many other RTOS alternatives, this approach is a bargain. Cost cutters can still work on their own, but the expertise that Red Hat provides in addition to consulting services is significant, lowering development costs in the long run.

Red Hat has added a number of key features to eCos, including support for the embedded EL/IX APIs, µITRON 3.02 compatibility, and RedBoot support. RedBoot is Red Hat's standardized embedded debug and bootstrap solution. RedBoot also supports the Linux kernel. EL/IX is available for Linux as well.

eCos Features
The EL/IX APIs provide eCos developers with a migration path to larger platforms, like Linux. A consistent programming environment also helps in a distributed network configuration, where eCos nodes work with Linux servers.

Moreover, EL/IX provides a platform for third-party developers to deliver software for eCos developers. The POSIX-based EL/IX is contributed as part of the Embedded Linux Consortium (www.embedded-linux.org) ELC Platform Specification. Linux developers will find that the eCos Developers Kit contains many familiar tools, such as Red Hat GNUPro, a GCC compiler, and a thread-aware GDB.

Components that can be configured include support for Ethernet, USB, and flash-memory devices. Additionally, a number of third-party products can be configured.

Third parties also are the source for many eCos applications and modules. For example, NetSilicon Softworks Group (www.netsilicon.com) and EBSnet Inc. (www.ebsnet.com) have Web browsers and graphics support. These types of products are important because eCos includes limited networking support. Many open-source applications that use EL/IX and TCP/IP will work with eCos.

The advantage to eCos is that it covers a wide range of processors. Red Hat provides support for a range of system boards as well. This includes support for RedBoot, which en-ables developers to get up and running very quickly on stock hardware.

Even on these system boards, the eCos memory footprint starts small. But like any compact RTOS, the size increases as more services are incorporated into the kernel.

Developers can port eCos to any platform they choose, but most developers will opt for Red Hat's standard configurations. Red Hat provides porting and consulting services for new platforms.

Best of all, the source can be viewed before committing a project to eCos. Very few RTOSs have this advantage.