Clarifying the Linux Real Time Issue
I recently posted an article about the increasing development and availability of Linux-powered automation devices. This is a clear industry trend thatās unavoidable for anyone following the automation technology industry.
Shortly after posting the article, I heard from a reader who wrote: āI read your article and I am surprised that you would promote the idea that anyone would use Linux for anything critical. It isnāt even a real-time control system. It can be used for non-critical applications, but the article implies that industry is adopting it for everything.ā
This reader brings up a valid point. Linux is not a real-time operating system (OS) in and of itself. As Vibhoosh Gupta of GE Automation & Controls noted in the original article, GE uses āType 1 hypervisor technology to run a real-time OS, such as VxWorks, running traditional control loops alongside our PAC Edge technology operating on Linux.ā
Following up with Gupta after receiving the readerās email, he further explained that, because Linux is not a real-time OS, it should be used with caution for critical applications requiring determinism.
āThat is the primary reason GE Automation & Controls uses the Type 1 hypervisor to run both VxWorks and Linux simultaneously, safely and cooperatively on the controller,ā he said. āThe idea is to run critical applications like the control loop on VxWorks and then run non-deterministic analytics on Linux. The analytics algorithms then advise the control loop running on VxWorks in real-time to optimize the process for better outcomes.ā
Adding to Guptaās point, Charlie Norz noted that Wagoās Linux-based controllers āuse Linux with a real-time preempt that is commonly used in time-sensitive applications.ā
Opto 22 also uses Linux real-time extensions in its Linux devices, said Benson Hougland. These real-time extensions for Linux are why it is being used in āmore and more mission critical systems all over the world,ā he said.
Referencing the Real-Time Linux and Linux Foundation Wiki sites, Hougland highlighted the continuing work that is being done on the PREEMPT_RT real-time Linux extension.
The Linux Foundation launched the Real-Time LinuxĀ (RTL) Collaborative Project in October 2015. According to the Foundation, the project was āfounded by industry experts to advance technologies for the robotics, telecom, manufacturing and medical industries. The aim of the RTL collaborative project is mainlining the PREEMPT_RT patch.ā
While there are plenty of mission critical applications running Linux OS with real-time extensionsāas highlighted by GE, Opto 22 and Wagoāthe Linux Foundation notes on its site that there remains āmuch work to be done.ā
This need for more work on developing automation technologies is an ongoing one that has created no shortage of controversy since industry began developing new products with modern computing technologies more than two decades ago. One of the first areas of concern was the introduction of plant floor Ethernet in the late 1990s.
āRemember,ā said Hougland, āthe entire industry once declared Ethernet would never make it to the plant floor!ā
But now, Ethernet is close to becoming to the standard plant floor networking technology of preferenceāeven though work remains to be done to optimize its use there with the development of time-sensitive networking.
This kind of continuing development work on automation technologies has only become more widespread with the rise of the smart manufacturing and Internet of Things trends currently transforming industryāall of which serves to makeĀ the Linux real-time issue just another example of how an array of technologies are being adapted to industrial applications to address specific needs.
With that said, anyone interested in using Linux for control applications should heed the readerās caution about it not being a real-time OS. Recognize its current potential, but also remain aware of its limitations.
A quote by Linux inventor Linus Torvalds on the Real-Time Linux site may express it best: "Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT."
About the Author
David Greenfield, editor in chief
Editor in Chief

Leaders relevant to this article:

