QAVF(QNX Advanced Virtualization Frameworks) 架构
QAVF(QNX高级虚拟化框架)使您能在多个操作系统之间构建共享资源系统(包括图形、音频和输入设备),同时将关键服务和非关键服务的管理分离,以减轻故障带来的影响。
如下所示:
- 虚拟化框架通过允许您在Guest操作系统中实现资源共享的front ends,以及在Host中实现back ends来增强QNX Hypervisor
- 这种设计保护了硬件免受Guest操作系统的任何漏洞影响,并允许您在单个ECU上运行多个操作系统,从而节省硬件成本
- Host管理关键服务(例如仪表盘),而Host和Guest操作系统都管理非关键服务(例如信息娱乐)
尽管此版本专注于具有多个显示屏的座舱域控制器(CDC),但虚拟化框架也适用于其他市场,如医疗和工业控制。
上图解释如下:
- CDC示例的默认设计将仪表盘(Instrument Cluster)放置在Host上,并在仪表盘显示器上呈现。与将其放置在Guest操作系统中相比,这种设计提供了更高的效率(例如每帧绘制时较少的CPU使用量)。由于仪表盘被设计为被动的,并且几乎没有攻击面,因此在Host上运行它的风险很小。信息娱乐应用程序在Android Guest操作系统中运行,其他信息娱乐功能在QNX Host上运行,但与应用程序一起在Host单元上呈现。
QAVF的设计具有灵活性。如果需要,例如仪表盘显示可以在单独的Guest操作系统中运行。
如果您要构建符合安全认证标准的产品,必须获取QNX Hypervisor for Safety(而不是非认证的QNX Hypervisor)。许多虚拟化框架都有专为安全认证设计的变体。请务必使用适合您安全需求的正确变体;例如,非安全变体可能在安全系统中正确运行,但可能不支持您所需的安全案例。
支持的Guests
该版本默认使用情况是QNX Hypervisor托管一个Android客户端。
要了解支持的Android操作系统版本以及此版本基于的QNX虚拟机版本,请参阅《QAVF发行说明》。
QNX Hypervisor还支持其他客户端类型,包括Linux和QNX Neutrino。这些Guests也可以实现资源共享的front end,并提供信息娱乐和仪表盘功能。
- Linux客户端可能需要进行定制开发,因为它们并未像Android那样针对设备共享进行标准化。在处理Linux和QNX Neutrino客户端时,请联系您的QNX销售团队以获取选项。
在本文档中,当我们提到“guest”或“guest OS”时,除非明确说明,否则指的是Android guest OS。