Вот андроид например написан на ядре линукса (когда мы запускаем смартфон, сначала запускается загрузчик, потом загрузчик ищет и запускает ядро линукса, потом запускается виртуальная машина андроида (до android 4.4 это Dalvick vm, начиная с 4.4 - 5.0 это ART (android run time), он появился в 4.4, но был в стадии тестирования и включался в настройках для разработчиков, а в 5.0 он стал главной ВМ), потом запускаются приложения андроида и сама графическая оболочка!