关于智能座舱域控制器你不得不知道的几件事 - Hypervisor篇

延锋Xim21智能座舱的大脑域控制器上使用了QNX Hypervisor方案, 极大的简化了硬件拓扑,且可以让软件部署变得更灵活、安全和高效。那到底什么是Hypervisor,如何理解应用QNX Hypervisor?本文就此进行简单的介绍。

什么是Hypervisor

简单的来说, Hypervisor是运行在物理服务器和操作系统之间的中间层软件,将操作系统和硬件剥离的方法,使得多个操作系统可以共享一个硬件系统。Hypervisor虚拟化并提升了系统的稳定性和安全性,提高了闲置资源的利用率。而类比到我们PC机上, Hypervisor可以看作类似于Vmware的虚拟机管理程序。

通常将Hypervisor分为两种不同的类型,基于裸机的Type 1型和基于主机的Type 2型。其技术实现区别在于,基于裸机的Hypervisor直接运行在硬件上,而基于主机的Hypervisor,则是运行在主操作系统上。在汽车智能座舱中,Type 1型的Hypervisor得到了更加广泛的应用,Xim21智能座舱使用的QNX Hypervisor则属于Type 1型。

为什么需要Hypervisor

未来汽车电子架构势必会从分布式模块到集中式控制转变,而座舱域控制器是向集中化发展前进的关键武器,而Hypervisor技术则是域控制器进行集中管理的重要基石。

在智能座舱域控制器中,由于针对不同功能有不同级别的要求,从而需要不同的操作系统来支持。比如QNX负责仪表,保证仪表功能;Android系统提供信息娱乐功能,RTOS提供实时性功能。基于Hypervisor的系统架构,则能灵活的配置出多个不同的操作系统,运行在一个域控制器上,并能高效的协调域控制器里的不同功能,通信和协作。Hypervisor 技术的引入,使得硬件和软件资源可以按照产品需求,灵活的在不同的GUEST OS中分配。

QNX Hypervisor

QNX Hypervisor是一款用于实时互联嵌入式系统的实时 1 类虚拟化解决方案,QNX Hypervisor充分利用了硬件虚拟化功能来执行内存,CPU内核,PCI配置以及虚拟机之间的中断隔离。将硬件设备分配给特定的虚拟机,从而将这些设备从所有其他虚拟机中隐藏。还支持基于VirtIO的块设备,控制台和网络以及其他用于设备共享的半虚拟化驱动程序。

一个QNX Hypervisor是由Hypervisor微内核,虚拟化外设,以及多个客户机组成的。

通过QNX Hypervisor,可以安全地整合多个操作系统,使其在同一SoC上共存,使用独特的QNX OS微内核体系结构构建,并将安全关键组件与非安全关键组件分开。与安全相关的组件在一个操作系统上运行,而非安全相关的组件则在虚拟机上的另一个操作系统上运行。通过具有最高安全合规性和预认证水平的管理程序技术,可以减少安全认证时间和成本

安全隔离

利用POSIX和VirtIO等标准,QNX Hypervisor提供了将安全关键组件与非安全关键组件分离和隔离的功能。使用QNX Hypervisor根据系统要求混合虚拟和主机环境。主机环境是支持虚拟机的服务域。独立的隔离客户操作系统。

设备共享

开发功能齐全的虚拟机管理程序环境,在来宾和主机之间共享图形,音频,触摸屏等支持未修改的Android,Linux,QNX和其他OS的安全共存和控制,通过遵循具有自适应分区的基于优先级的虚拟CPU(vCPU)共享模型以最大化计算吞吐量,QNX Hypervisor提供了高性能的虚拟化环境。建立可靠的系统而不会浪费资源,确保共享CPU时,较高优先级的来宾OS将抢占较低优先级的来宾OS,满足嵌入式零停机生产系统的精度要求。

QNX 技术支持客户操作系统共享 GPU 设备,由此可以允许虚拟机(客户操作系统)渲染图形输出,输出到远程独立和专用外部显示器。

虚拟机间通信

在多个虚拟机中运行的应用程序必须协同工作才能交付嵌入式设备的服务。QNX Hypervisor支持虚拟机之间的共享内存访问,共享文件访问以及高速TCP / IP / UDP网络连接,以允许在多个虚拟机中运行的应用程序进行高效通信。

QNX客户机

QNX Hypervisor支持QNXNeutrino®OS,Linux和Android操作系统,以及其他未修改的操作系统,RTOS和实时执行程序。

QNX Hypervisor实现为经过业界验证的基于QNX Neutrino微内核的RTOS的虚拟化扩展,继承QNX操作系统的所有实时性和稳定性。通过使用QNX Hyperviosr简化系统配置和资源分配,提高开发效率,有效减少产品开发周期,并能通过硬件集成来降低成本。

(0)

相关推荐