LWN.net Logo

Wind River buys RTLinux

Among many in the real-time community, it is a matter of accepted faith that a general-purpose kernel (such as the Linux kernel) cannot be expected to perform properly in a situation where deterministic, real-time response is required. Things may work most of the time, but one never knows when such a kernel may get distracted for too long, with disastrous results for real-time applications. On the other hand, general-purpose kernels do tend to provide nicer programming environments than hard real-time kernels. So real-time developers can be faced with a fundamental conflict: deterministic response or a rich environment?

One longstanding attempt to resolve this conflict is RTLinux. At its core, RTLinux is a small, real-time kernel without a great deal of functionality. One of the things RTLinux can do, however, is run a normal Linux kernel as a low-priority task. The RTLinux kernel responds to interrupts, passing them through to the real-time code when appropriate; Linux only gets a chance to run when the real-time code has finished. In an RTLinux system, a small amount of real-time code can perform data acquisition or other real-time tasks while leaving much of the more time-flexible processing to Linux-based code.

One interesting thing to know about RTLinux is that the basic technique is patented. This patent - first covered in LWN in February, 2000 - was a relatively early indication of just how software patent claims can affect free software users. The core RTLinux code was licensed under the GPL, but it was not truly free; anybody wanting to use it was subject to the terms imposed by the patent owner. Those terms were eventually spelled out in the RTLinux patent license which allowed royalty-free use provided that either (1) the "Open RTLinux" distribution was used without modifications, or (2) the entire application was licensed under the GPL. Not everybody was happy with this license, but most of the world found ways of living with it or avoiding the patent, and things got quiet on the RTLinux front for some years.

On February 20, however, Wind River Systems announced the acquisition of RTLinux - including the patent. Interestingly, nothing to be found in Wind River's press release or acquisition FAQ mentions the patent license in any way. The text of that license, meanwhile, has disappeared from the FSMLabs site and has yet to reappear on the Wind River site. LinuxWorld ran an article on the acquisition with a verbal statement from Wind River that the license would be maintained, which is a step in the right direction, but it hardly adds up to a commitment on Wind River's part.

It is entirely possible that Wind River will continue with the current policy. Perhaps Wind River will even make new "Open RTLinux" releases allowing licensees to run reasonably contemporary software. At the moment, however, this code does not appear to be downloadable from anywhere, and there is no indication of when that situation might change. Along these lines, it's worth looking at some text from the acquisition FAQ [PDF]:

There are other real-time Linux products available in open source today. However, RTLinux is the only commercially supported, hard real-time product available today. Other open source versions of RTLinux are based on much older versions of the technology or on older distributions.

Given that Wind River sees an advantage to having a newer RTLinux than the "open source" versions, updated free releases of RTLinux from Wind River seem unlikely.

For anybody who is concerned, there are alternative approaches to real time and Linux which are worthy of consideration. At the lowest level, there is Adeos, a "nanokernel" which makes RTLinux-like functionality available while avoiding the claims of the RTLinux patent. Rather than run the general-purpose kernel as a task of the real-time kernel, Adeos runs both as tasks underneath itself. Adeos, in turn, is used at the base of RTAI, a longstanding RTLinux competitor. Things have been relatively quiet on the RTAI front in recent times, but a look at the RTAI-Lab project suggests that interesting things are happening there still.

Beyond that, work on the real-time preemption project, which aims to make Linux, itself, a real-time capable kernel, continues, and much of that work has found its way into the mainline. It will always be harder to prove that a full Linux kernel can provide deterministic response times, but, for many applications, the real-time performance of this kernel will be more than good enough. Some real-time vendors are already shipping products based on this work.

There may well be an ongoing market for the RTLinux technology that Wind River has just bought. It would be nice if Wind River could find a way to exploit that market while, simultaneously, using RTLinux to increase its contributions back to the community. There are few indications that Wind River sees RTLinux as anything more than a product, though, so those hoping for a more community-oriented stance may well be disappointed. The good news is that the alternatives are plentiful and quickly getting better.


(Log in to post comments)

Wind River buys RTLinux

Posted Feb 22, 2007 18:07 UTC (Thu) by gvrdlwn_sf (subscriber, #27932) [Link]

Missing obvious link: http://www.xenomai.org

Xenomai used to be in fusion with RTAI, but now live on its own.
This is a very stable and broad solution for hard-realtime in Linux.

IMO, the WindRiver acquisition FAQ is wrong because Xenomai has commercial support at least from DENX http://denx.de and OpenWide http://www.openwide.fr . Besides, Xenomai has been backed by some chip manufacturers.

That would be nice if LWN could write an article about Xenomai.

PS: I'm not affiliated with Xenomai or any of the mentionned companies. I'm simply a happy user 8-)

Wind River buys RTLinux

Posted Feb 25, 2007 9:34 UTC (Sun) by nbsharma (subscriber, #43614) [Link]

From what I understand, Xenomai v.3.x will try to provide migration capabilities of legacy time-critical applications over Linux with Ingo's real-time patches. It seems they want to maintain both the "co-kernel" and "native real-time" technologies.

The patent is probably not defensible

Posted Feb 22, 2007 20:28 UTC (Thu) by brouhaha (subscriber, #1698) [Link]

If someone was willing to spend enough money to challenge the patent, it could probably be overturned on the basis of prior art. The RTLinux technique has been used in many systems, going back at least as far as MERT at Bell Labs in 1975, which did exactly the same thing: run a Unix kernel as a task under an RTOS.

The patent is probably not defensible

Posted Mar 5, 2007 20:27 UTC (Mon) by JoelSherrill (guest, #43881) [Link]

I don't know what the patent claims to cover but certainly another example of running a general purpose non-RTOS as a task is InTime. This used to be from Intel and ran Windows as a task under iRMX. It is now sold by another company which appears to be a group of former Intel folks from the company information. Check out the timeline at http://www.tenasys.com/company/index.php and notice that it supported Windows 3.1.

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds