Trains are no longer run by men in overalls with lantern signals. They are controlled by software in embedded systems. In this whitepaper we look at some requirements of this software and discuss OS characteristics that support these requirements, in particular where real-time performance is needed and why, the importance of the OS for certifications to standards such as the EN 5012x series and IEC 61508, the OS architecture, and some OS features that support system dependability.