Major release expands RTLinux horizons
Oct 6, 2003 — by LinuxDevices Staff — from the LinuxDevices Archive — 7 viewsFSMLabs has issued a major release to its RTCore hard real-time OS and RTLinuxPro development kit, adding ease-of-use features it hopes will bring its technology to a broader range of customers. Also new are support for BSD kernels, upgrades to real-time networking, and overall performance and reliability enhancements, the company says.
“This release is mostly about flattening the learning curve and reducing configuration time,” said FSMLabs CEO Victor Yodaiken, who adds, “The new build system, in particular, automates a lot of non-creative work.”
RTCore 2.0 offers a new build system that automates the process of sending real-time threads from the secondary operating system (Linux or BSD) into the RTCore domain. FSMLabs claims that this lets application programmers write standard threaded programs and treat the executables like ordinary UNIX executables.
The company cites an example of running a real-time application from the command line, and piping the output to a non-realtime program:
"getdata | gnuplot"
According to FSMLabs, such a command will automatically install a real-time program and “pipe” its output to a second program that plots the data on a graphical window.
FSMLabs Director of Engineering Cort Dougan says, “RTCore 2.0 makes the mechanics of pushing threads into the real-time domain invisible to the programmer. From the programmer's point of view, a real-time application is just a special UNIX process.”
Using the RTCore 2.0 build system, a programmer can write an application consisting of a main program and any number of real-time threads. The build system creates a Linux or BSD executable that will automatically install the real-time threads, initialize them, connect them to standard I/O, and clean-up on termination.
FSMLabs says the new RTCore build system retains RTCore's architectural decoupling of hard real-time software and the secondary non-real-time operating system and its applications, but removes the burden that earlier versions of RTLinux and RTCoreBSD placed on programmers to accommodate to the loadable kernel module framework of the secondary operating system. The new build system and library set insulates the programmer from both the internal APIs of the secondary operating system and the mechanics of dynamic module load and unload. For instance, the company says, the standard “C” example program “main(){ printf(“Hello worldn”); }” works unmodified as a real-time application.
FSMLabs lists the following features for the 2.0 release:
- RTCore, the real-time kernel that can run a non-real-time operating system as a preemptible task, has been significantly optimized and provided with a lightweight POSIX trace system.
- The lock-minimal POSIX I/O layer provides optimized read/write/open access to shared memory and driver memory.
- A number of A/D device drivers are packaged with the system.
- The embedded Linux development system provided with RTLinuxPro has been significantly upgraded and offers a completely self-contained cross development environment based on a ruggedized version of Linux 2.4.19 or later (depending on the target architecture).
- RTCoreBSD comes with a SMP capable version of NetBSD 1.6.
- The Real-Time Components for RTCore have been extended.
- LNet real-time networking now supports Gigabit ethernet and Firewire B in addition to Firewire A and Fast Ethernet.
- The Process Space Development Domain (PSDD) now comes with a complete “slot scheduler” and support framework for machine-in-loop and standard aviation/aerospace simulation environments.
- ControlsKit XML/RPC supports an extended range of A/D devices and the use of Microsoft's Internet Explorer as a control interface. ControlsKit's XML/RPC interface allows browsers and any other XML ready network applications to be plugged into a real-time control application for both monitoring and updating control variables.
- VME and 1553 can be accessed by real-time threads.
FSMLabs says it will target a wider market with the 2.0 release. Yodaiken points out that “The first wave of customers for RTLinuxPro have been primarily UNIX shops that required a modern real-time solution, and had pretty deep technical experience with older real-time UNIXs. Over the last year, we have been adding technologies to support customers who don't need or want to be able to write Linux kernel modules. Our PSDD component provides memory protection for real-time threads within user processes, and with RTCore 2.0 we have provided a similar, clean interface for in-kernel threads. This is allowing us to expand our presence in some larger volume markets.”
FSMLabs says it has tested the new release for four months at customers sites that include Pratt&Whitney, NASA, and Siemens, and in applications that include large scale real-time simulations, network edge devices, and factory automation systems.
RTCore employs a patented dual kernel technique to run Linux or BSD Unix as applications. Hard real-time software runs at hardware speeds while an open-source UNIX is available to non-real-time components.
FSMLabs says RTLinuxPro is used in applications ranging from satellite controllers, telescopes, and jet engine test stands to routers and computer graphics. It runs on high end clusters of multiprocessor P4s/Athlons as well as low power devices like the MPC860, Elan 520, and ARM7, the company says.
RTLinuxPro is sold under a commercial license both in binary and source.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.