BTW, this was written by Andrew Tridgell of Samba fame.
http://diydrones.com/profiles/blogs/a-peek-into-the-future-o...
They also say "autopilot’s code works directly on Raspberry Pi using the APM’s Linux HAL". [2]
[1]: http://www.emlid.com/raspberry-pi-real-time-kernel/ [2]: http://www.emlid.com/navio-apm/
General time-sharing systems generally are accuracy to +/- 4ms. Which is acceptable for most applications, as 60fps is ~16ms per frame.
If you (ab)use Linux properly you can get most your threads to only halt on blocking for IO. So they'll get scheduled practically (not always) once that IO state is satisfied.
This requires heavy multi-threading not horrible, just isn't amazingly optimized for cache.
I control high pressure fuel systems and we don't need to use Real Time OS's (always), and generally sigh away from them when I don't.
Faster updates are nice, but not always needed.
This works by patching the Linux kernel to make almost all of it preemptable, (replacing spinlocks with mutexes) so interrupts can be acted on more quickly.