Real Time Coming to Linux Real Soon


Real Time operating systems have traditionally been a separate
breed from mainstream ones.

Thanks to efforts to incorporate Real Time enhancements into Linux, standard mainstream Linux may well become a real, Real Time OS real soon.


A Real Time OS offers the promise of better response times and a degree of
determinism not found in non-Real Time OS’s.

Real Time is often a
requirement in embedded applications and control system such as those used
in military and medical applications, as well as many other verticals.

According to at least one leading Linux vendor, though, Real Time has
applicability across nearly the entire Linux landscape.


“I’d argue that you could talk to just about any customer in any vertical
and they’d care about faster response time and predictability,” Red Hat CTO Brian Stevens told internetnews.com.

“I don’t think that Real Time any longer is a class of an OS. In the
old days you were either Real Time or you were not.”


In October 2004, embedded Linux vendor MontaVista kicked off an effort to get Real Time enhancements into Linux.

By August 2005, they were claiming Real Time breakthroughs for Linux.

The MontaVista effort merged with an
effort led by Red Hat’s Ingo Molnar, which is now working on a series of
patches that, when completed, will provide full Real Time capability to the
standard Linux kernel.


Sven-Thorsten Dietrich, Real-Time architect at MontaVista, explained that Real
Time is not only about making things faster but also about making
things more predictable when responding to an event.


One such Real Time enhancement is something called preemptive scheduling.


“When a process enters the kernel and a higher priority process needs to
execute, I want to stop the process that is running and then let the higher
priority run and then return,” Dietrich explained.


He said that there are a number of inhibitors to Real
Time in the 2.6.x kernel, not the least of which is the fact that there are
some 11,000 critical sections that are not preemptable.

In the Real Time
Linux kernel there are high-resolution timers and preemptable interrupt
handlers in thread context according to Dietrich.


With the Real Time Linux kernel, Dietrich claimed that response time can be
reduced by an order of magnitude.

It gets even better in multi-processor
machines, SMP kernel performance is improved with Real Time
since the increased preemptable kernel code surface increases SMP
throughput/efficiency.


“You can run any app as a real-time application,” Dietrich said. “A well-designed one will really benefit from the response time.”


Over the next year and a half, the Real Time enhancements will be merged into
the mainstream Linux kernel, according to Dietrich. High-resolution timers
are expected to debut in the 2.6.19 kernel.

Interrupt threads are expected in the 2.6.20
kernel, and by the time the 2.6.22 kernel rolls around all of the Real Time
patches should be integrated.


For those who don’t want to wait until the Real Time patches are integrated
into the mainstream kernel, Real Time enhancements are available
from embedded OS vendors MontaVista, as well as WindRiver.

Novell has a product called SUSE Linux Enterprise Real Time, which was
recently awarded by Siemens Medical Solutions for use in MRI technology
and applications development.


Red Hat does not currently offer a standalone Real Time version of Linux,
even though its engineer, Ingo Molnar, leads the effort among kernel
developers.

Concurrent offers a Real Time Linux OS called RedHawk Linux, which is based on Red Hat with the Real Time patches integrated in.


“I’m trying to approach it in a different way,” Stevens
said.

“That’s what Ingo’s work is about; let’s not build our own version of
Real Time Linux, but let’s continue to try and make the standard version of
Linux have better response time and better predictability.


“His efforts will allow standard Linux to have capabilities that allow it to
be used pervasively in real-time environments.”

News Around the Web