With Linux OnDemand embedded systems, designers are given the flexibility to run applications on a standard version of Linux as needed. This copy of Linux runs in its own MMU-protected partition while the rest of the system continues to operate in other partitions. It operates on the OnCore systems software foundation, a real-time microkernel foundation operating environment.
The program is typically used for applications that reconfigure the software or hardware on an embedded system. This process often requires the use of a compiler and linker on the embedded system. In general, the reconfiguration procedure seldom places real-time demands on the system.
Another feature of Linux OnDemand is that it can be used to host Linux applications such as web or FTP servers. These are capable of providing remote management services that don't impact the real-time nature of an embedded system.
When no longer required, Linux OnDemand partitions can be shut down. Memory and processor resources can then be applied to other areas. There's no need to disturb the rest of the environment unless changes have been made that affect specific tasks. In this case, provisions must be made for restarting or notifying tasks of any modifications.
Linux OnDemand normally provides a non-real-time environment. The new Linux OnCall support, however, can access the underlying real-time scheduler by making direct microkernel calls. This allows custom Linux applications to take advantage of real-time services while retaining access to well-established Linux support.
To develop Linux-based real-time applications that don't incur the overhead of the Linux operating system's scheduler, Linux OnCall can be used independently of Linux OnDemand. By moving directly to the microkernel, the OnCall API eliminates additional overhead normally brought on by Linux applications. Also, when compared to Linux operating-system support, OnCall offers a lower memory footprint.
Linux OnCall is different than OnCore's Linux for real-time support. Linux for real time replaces the Linux kernel with a real-time kernel that works with the OnCore system software foundation. Conventional Linux applications function in this partition, unaware that the Linux kernel has been exchanged for the real-time kernel.
The OnCore systems software foundation has an impressive sub-5-µs task switch between a standard Linux application and a real-time application. This is on a 550-MHz IBM PowerPC 750CX.
Embedded-systems designers using the OnCore systems software foundation are able to choose the most appropriate mix of operating-system interfaces for each project. Only necessary modules need to be loaded on an embedded system.
The OnCore systems software foundation supports distributed interprocess communications among partitions and across processors in a multiprocessor environment. In addition, it runs on most PowerPC microprocessors and Intel's Itanium.
Linux for real time, OnCall, and OnDemand can operate concurrently on a system that also may include non-Linux-based real-time applications. The OnCore systems software foundation supports real-time applications that rely on POSIX and C Threads support as well as native microkernel support. Java virtual machines also can function in their own partitions.
OnCore Systems Corp., 795 Main St., Half Moon Bay, CA 94019; (650) 712-0655; fax (650) 726-7666; Internet: www.oncoresystems.com.