Safety-critical application programs come in various levels of both code complexity and criticality. If several programs having different criticality levels are to coexist in one machine, the underlying OS must ensure that they remain independent. Resource partitioning is a widely accepted technique to achieve this. PikeOS is one of the first OSes to combine resource partitioning and virtualization and it was designed for embedded control systems. Its separation of resources is established by a minimal amount of trusted code, so the system is well suited for safety-critical projects requiring certification according to prevalent standards for software safety.