RealTime IT News

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."