If the concepts of “Linux” and “Real Time” are stored in different sections of your brain, you are not alone. Real-time Linux has always felt to me like a kind of operating system oxymoron – analogous to a hybrid SUV or a concrete canoe. In my mind, Linux’s heritage was the land of virtuality, dynamic allocation, and squishy priorities – all catch-as-catch-can on processor strokes. In such a place, the idea of soft real-time is palatable. You can imagine Linux “trying real hard” to get to your process and occasionally dropping a video frame or two if things don’t work out. No one would be the wiser.
Hard real-time, however, is another story. You don’t want to think about your pacemaker processor dallying a little too long servicing an unexpected interrupt or your automobile airbag handler getting confused worrying about a damaged headlamp before it gives the “deploy” order. We want more significant guarantees on those items than even a soft real-time Linux could provide.
Wind River has been providing commercial-grade Linux solutions for a while now, but the company’s hard real-time efforts were focused on their venerable VxWorks operating system. Today, however, Wind River announced that it is acquiring the intellectual property rights for RTLinux, a hard real-time version of Linux developed by FSMLabs. RTLinux was originally developed and patented at NMT (New Mexico Institute of Mining and Technology) and has been available in an open-source version (RTLinuxFree) and the commercial version RTLinuxPro from FSMLabs.
RTLinux gains its hard real-time capability by controlling interrupts preemptively. First, any interrupts required for deterministic, hard-RT processes are handled by a real-time core, and any remaining “soft” interrupts are passed along to the non-real-time core. Our old friend non-RT Linux runs as a lower priority thread, so hard real-time operations are guaranteed to be handled on schedule, and soft operations are processed during any slack time. The usual goodies that one expects from Linux, including file system management, networking, and other OS utilities are still available.
Using RTLinux, you can have non-critical portions of your application running on the conventional Linux kernel while schedule-critical ops are processed with the same integrity you’d get from any full-blown hard-RT OS. In devices such as cell phones, this can simplify development by using a completely Linux-based solution for both the RT and non-RT components.
Wind River is not replacing its VxWorks OS with the new offering. “RTLinux broadens our Linux offering to include hard real-time capability,” says Glenn Seiler, Director of Linux Platforms at Wind River Systems. “We are not trying to move people from VxWorks – it is still the preferred OS for many users. VxWorks has a smaller footprint and fits the requirements for many types of applications.”
According to the company, VxWorks supports applications requiring multiple real-time processes within a fully real-time operating system, where RTLinux supports applications requiring a single real-time process within a non-real-time operating system. The company also offers Wind River Linux for applications requiring one or more processes with soft real-time priority.
Many applications would previously have avoided Linux because of the lack of hard RT capabilities or gone with a multi-OS strategy – splitting processes up according to their real-time needs. The RTLinux capability brings those requirements together and rounds out Wind River’s Linux portfolio even more. Wind River plans to offer RTLinux integrated with the “Wind River Platform for Consumer Devices, Linux Edition” for applications like streaming media in feature phones. It will also offer the new OS with the “Wind River Platform for Network Equipment, Linux Edition” for packet-switching applications that require hard RT performance for IP packet routing.
Wind River has poured significant resources into Linux-based solutions for the past few years. Once a highly-proprietary embedded OS vendor, the company has successfully completed a major identity shift – embracing and adding value to open-source development, Linux, and Eclipse, while maintaining their former strength in proprietary tools and software. In doing so, they have future-proofed themselves in the market – a smart strategy in an area as fast-changing as device software development.
Rather than betting on one particular horse and staking the company’s future on the success or failure of a single technology thread, Wind River is betting on the entire race, insulating themselves from many unpredictable and uncontrollable technology and market trends.