I don't really know much about OS's but I'd write control systems in a pure language compiled directly to machine code with no OS. That way you would have certain guarantees of execution and auditing the code would be significantly cheaper. I remember hearing that auditing code for satellites is outrageously expensive because most languages have side effects. So it's thousands and thousands of dollars per line of code to guarantee that it'll do what it says it will do regardless of execution path.