they use RTAI
https://www.rtai.org/
Hello!
There's a lot of real time patched linux kernels. See here http://www.realtimelinuxfoundation.org. Why EMC uses no real time Ubuntu kernel, then it can easily achive true real time kernel and a lot of user aplication for it? Why it goes the same path like Mach3 always fighting with OS kernel for time quantums, developing sofisticated driver, which actually can't guaranty anything?
I'm not blame the EMC way, just intrested way it goes in such direction when it can achive better (maybe...) solution easy?
they use RTAI
https://www.rtai.org/
What makes you think our realtime kernel can't guarantee anything?
We use an RTAI-patched kernel for EMC2, which is a hard realtime system (listed on the website you referred to). There is also support for RTLinux, though it doesn't get much attention these days (since the developer decided to "privatize" RTLinux, and the community supported/open source version doesn't seem to be well maintained)
The only "sophisticated driver" support needed is due to the fact that no hard realtime kernel can access normal Linux devices, since the standard device drivers aren't realtime.
The easy solution is to look at the EMC2 packages, which have the letters "RTAI" in the kernel name. That's a good clue that we're using a realtime kernel.
There has been some work done on using POSIX.1b realtime extensions, so that any kernel that's "good enough", which may also include non-realtime kernels in some cases, could be used. The stock -rt kernel (Ubuntu-maintained) is pretty good, and has timing that's usable for servo systems or systems where an offboard device generates step/pwm signals. This isn't done yet, but I hope to be able to work on it this year.
I hope this clears things up for you.
- Steve