Designers of multi-core processors optimize for average-case execution times, which is great, except that they often achieve that optimization by making worst-case execution times worse.  Since developers of safety-critical software must design for worst-case behavior, that presents significant challenges to using multi-core processors effectively in those systems. This paper will discuss real-time operating system (RTOS) features, tools and techniques that can meet these challenges and unleash the power of multi-core processors in safety-critical software.