> I've previously done robotics work which had many asynchronous tasks. I've used QNX for that, and I've used ROS. There, you have a lot of intercommunicating processes, which works but has more overhead.
I wonder, why is this kind of system a bad fit for the async model? Is it because all threads must be reliably preemptable?