Currently most avionics real-time operating systems for airplanes are proprietary and very specialized for safety assurance reasons
Linux is a general-purpose OS, and that is generally a bad choice for safety-critical real-time applications. And it is not something that Linux can just be adapted for – the biggest problems are: the kernel is big and the code is complex. Anything added do Linux to ‘solve that’ would just make it even bigger and even more complex. And removing stuff for kernel would just make it worse general-purpose OS.
The solution for proprietary RTOSes used there would be to create a new, open-source one. This should be doable as those are small and simple by definition (to some extent – only as simple as they can be for given task). I guess this will happen one day, though it is harder for it to happen naturally, as that is not something hobbyists would do for their own needs in their own time and that is usually what starts an open source projects.
On the other hand – Linux can co-exist and I am sure it does co-exist with those specialized RTOSes. I would assume that even on a Boeing airplane there are many Linux instances running… or even Windows ones.
A FreeRTOS derivative has gone through the effort of getting certified for safety critical applications, but that derivative is sadly proprietary. Even if FreeRTOS itself can’t meet that bar, though, the work wouldn’t have to start from scratch.
Wouldn’t it be possible to make a Linux kernel for real time applications? That would obviously be very stripped down, but you’re not going to run Crysis on your avionics computer anyway.
The problem with modern distributions is that nobody ever has to deal with their own kernel anymore and nobody learns how to trim one down and build it.
Agreed. It’s not really a knock against Linux that it’s not fit for this very niche purpose. Specialized OSes have their place. An avionics OS isn’t exactly competing with Linux for market share.
Given the open-source nature of the Linux kernel, it seems that a company could customize it to their needs in order to mitigate the majority of these concerns. Most of this sounds like a corporate shill making excuses rather than giving specific examples of deficiencies in the Linux kernel.
I’m one of those rare end-users of Linux (by choice) so I’m not the best when it comes to understanding how to pop a kernel or summon daemons or whatever. But my impression of Linux is that it is adaptable. Rather than relying on proprietary systems locked into vendors, it seems to make sense to shift into a non-proprietary model going forward. But again, I’m not popping any kernels for daemons.
pop a kernel of summon daemons
I’m going to refer to starting daemons as “summoning” from now on!
Linux can and is used on airplanes, flight control systems is not where it lives. There is a layer of abstraction, the auto pilot, which allows for Linux to be used and the safety of flight risks to be mitigated.
This is not about using linux on airplanes. It’s about running safety-critical airplane functions on linux. Many of the presented criticisms make sense. They matter in a situation where a failure means people die.
As much as I use and love this OS, I don’t feel the need to push it into every conceivable application. It’s not the best fit for everything, and it doesn’t have to be.
Regardless, perhaps critiques like this one can help inspire further improvements in linux.