Separate and Conquer
Few embedded systems are developed from scratch these days. Components are
purchased from third parties as commercial off-the-shelf components,
components are out-sourced, and some are legacy. This of course causes
many problems as there is no strong separation between the components.
This can lead to a host of development-time problems (difference in OS
requirements), but also to run-time problems (one component impacting
another, difficult to debug which component is at fault).
A hypervisor provides capabilities for the embedded system developer that have not been previously available.