they use RTAI
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?
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.
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.