通过虚拟化,Android Automotive OS (AAOS) 的单个或多个实例可以作为客户机虚拟机与其他汽车操作系统(如仪表板或在汽车系统芯片 (SoC) 上运行高级驾驶辅助系统 (ADAS) 的操作系统实例)一起运行。这可通过利用基于开放标准的虚拟化框架(称为 VirtIO)来实现。VirtIO 提供了一个成熟可靠的接口,可让 AAOS 针对通用虚拟化平台运行,进而使 AAOS 客户机虚拟机能够在不同的 Hypervisor 系统和/或硬件平台之间移植。
为了支持汽车用例,VirtIO 规范已经过扩展,现在包括适用于音频的 virtio-snd
、适用于传感器的 virtio-scmi
、电源状态管理、时钟管理和性能管理,以及适用于播放用例的 virtio-video
等设备。此外,还向 Linux 内核添加了与这些设备对应的 VirtIO 驱动程序(virtio-snd driver
、IIO SCMI 传感器驱动程序和 virtio-video driver
驱动程序)。
AAOS 提供了一个称为 trout 的参考设备,它支持一些虚拟化子系统,例如:
- 音频
- 转储状态
- 增强型视觉系统 (EVS)
- 车库模式
- 图形
- 传感器
- 触摸屏输入
- 车载 HAL
- 蓝牙
- 全球导航卫星系统 (GNSS)
如需详细了解 AAOS 上的虚拟化,请参阅以下文章: