Wind River buys RTLinux
[Posted February 21, 2007 by corbet]
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)