A virtualização permite que uma ou várias instâncias do Android Automotive OS (AAOS) sejam executadas como uma máquina virtual (VM) secundária com outros sistemas automotivos, como um cluster de instrumentos ou uma instância do SO que executa os sistemas avançados de assistência ao motorista (ADAS) em um sistema em chip automotivo (SoC). Isso é feito usando um framework baseado em padrões abertos para virtualização chamado VirtIO. O VirtIO fornece uma interface bem estabelecida que permite que o AAOS seja executado em uma plataforma virtualizada comum que, por sua vez, permite que uma VM guest do AAOS seja portátil em diferentes sistemas de hipervisor e/ou plataformas de hardware.
Para habilitar casos de uso automotivo, a especificação VirtIO foi ampliada para incluir dispositivos
como
virtio-snd
para áudio,
virtio-scmi
para sensores, gerenciamento de estado de energia, gerenciamento de relógio e gerenciamento de desempenho,
e virtio-video
para casos de uso de reprodução. Os drivers VirtIO correspondentes a esses dispositivos também foram adicionados ao
kernel do Linux
(virtio-snd driver
,
driver de sensor IIO SCMI e
virtio-video driver
).
O AAOS fornece um dispositivo de referência chamado trout, que oferece suporte a subsistemas virtualizados, como:
- Áudio
- Dumpstate
- Sistema de visualização estendida (EVS)
- Modo garagem
- Gráficos
- Sensores
- Entrada na tela touch
- HAL veicular
- Bluetooth
- Sistema global de navegação por satélite (GNSS, na sigla em inglês)
Consulte estes artigos para saber mais sobre a virtualização no AAOS: