To view parent comment, click here.
To read all comments associated with this story, please click here.
I don't think it makes sense to enforce hard realtime constraints on desktop systems because they're in a completely different space. Most hard realtime systems are deployed as embedded applications (ie. aircraft avionics controllers, security systems, traffic-monitoring systems, etc). Most embedded applications don't require extensibility. They run a narrow range of precisely scheduled processes and, consequently, you don't have the non-determinism that would be present on arbitrary user desktops running random applications.
I agree with your concept of having a "subset of libraries shared between Linux and some hard realtime OS project." That fits very nicely with the reality of embedded applications -- and it would certainly give environments such as VxWorks, QNX, and others a run for their money; although there is still a need to develop scheduling tools (ie. rate monotonic analysis scheduling).
A subset of libraries shared between Linux and some hard-real-time-OS project would make more sense to me.
And that is exactly the way Linux has done hard-realtime for years. First done by RTLinux, soon followed by RTAI. And later by several other similar projects.
When V. Yodaiken the developers of RTLinux started it, I'm not sure of. But an early paper describing the design and implementation of RTLinux refers to Linux kernel 1.3.32, so it's quite old. It has been used in comunity and commercial projects for years.






Member since:
2005-12-31
The question is, *should* Linux try to be a hard-realtime system? At the beginning, Linux spread entirely into the Desktop and server area. That's a completely different direction than hard real-time systems. A subset of libraries shared between Linux and some hard-real-time-OS project would make more sense to me. Unless, of course, you argue that hard real-time concepts should be the basis of desktop and server systems.
AFAIK, Linux includes a lot of tricks that improve performance, but are useless when you need deterministic performance.