BAO: A lightweight static partitioning hypervisor for modern multi-core embedded systems