目前的位置: 首页 实验室新闻 正文

ZVM为何能够领先?五大核心技术维度剖析


做过Hypervisor开发的工程师通常都会有一个共识:开发一款Hypervisor的整体难度要高于开发一个全新的操作系统(OS)。原因很直接:OS需要具备的能力,Hypervisor本身都必须具备,同时,Hypervisor还要为上层客户OS模拟一套完整的机器并保证多个客户OS不冲突。

在实际落地过程中,还有更多难题需要解决,例如:内核性能如何优化?大量的外设如何支持?稳定可靠性如何保证?对应的工具链如何集成?如何在部署前进行充分的测试?现有不少国内外Hypervisor的工作更多集中在调度、中断等内核机制优化上,而一旦进入真实应用场景,外设跑不起来,隔离不彻底,调试极其麻烦等不少问题就暴露出来了,这些难题会让开发人员开始打退堂鼓。

案例分析:以开发一款基础的多OS两轮自平衡小车为例,若没有外设虚拟化和安全可靠底座支撑,总线、传感器等关键外设无法被多个OS同时无冲突的去访问,运动控制功能也就变得不可用;因此,仅具备“性能好”优势的Hypervisor很难真正投入使用。

ZVM的设计出发点正是解决这些难题,在实现了“轻量级实时虚拟化架构”保证时间确定性的基础上,满足实际应用对“外设、安全、工具及测试”的完整覆盖要求,利用丰富多样的外设虚拟化能力、安全可靠的计算底座、可视化管理工具VisualZVM、自动化测试与验证体系,来支撑ZVM在安全攸关的智能装备上长期稳定运行。“内核、外设、安全、工具及测试”就是ZVM的五大核心技术维度。

866D

图1. ZVM南北向生态


一、内核:RTOS原生虚拟化架构

ZVM不像现有大部分Hypervisor一样是KVM、Xen、Jailhouse的变种,而是面向安全攸关场景设计了一种RTOS原生虚拟化架构,采用"RTOS内核+原生虚拟化"一体化融合设计。

7CF7

图2. ZVMRTOS原生虚拟化架构

  • “芯片同核,代码同源”:RTOS内核和虚拟化代码都处于EL2这一层级。

  • 纯净独立:ZVM不同于KVM、Xen、Jailhouse这类Linux式辅助启动,与Linux完全没有关系。

  • 极致轻量:“ZVM=深度裁剪后的Zephyr RTOS实时内核+虚拟化代码”,其基础代码(RTOS内核+虚拟化)<4万行,总代码量<10万行。

  • 极速启动:基于这一轻量化架构,从上电到ZVM启动再到客户RTOS自启动的总时间<3秒。

4682

图3. ZVM代码量分析

ZVM首创了HyperVHE(超级VHE)设计,原本在ARMv8.0架构上跑Hypervisor只能采用nVHE模式,存在明显的性能瓶颈。HyperVHE使飞腾E2000/D2000这类ARMv8.0架构芯片的算力得到充分释放,虚拟化焕新生,性能相比业界公认性能最优的Jailhouse提升超过30%,彻底解决了性能瓶颈。

ZVM自研了Zshm共享内存通信框架,用于多个客户OS间的高速数据交互,Zshm对读写区域无需加锁,并可在高并发下保持可预期的性能,客户RTOS间端到端通信时延<10微秒,适合对通信实时性要求极高的场景。


二、外设:丰富多样的外设虚拟化能力

Hypervisor仅具备高性能内核是远远不够的,还有大量的外设驱动及外设虚拟化工作需要针对实际应用场景来完成,Hypervisor开发者工作量非常大。例如,即使开发一款两轮自平衡小车,也涉及到很多外设驱动及虚拟化工作,如:I2C(用于连接传感器)、UART(用于调试与控制)、PWM(用于电机调速)等。而要让一个外设在Hypervisor环境下正确稳定运行,需要完成两项工作:外设驱动开发+外设虚拟化实现。

对于外设驱动,国内外嵌入式Hypervisor普遍存在一个共性问题:支持薄弱,开发难度与工作量都很大。如Xen和XVisor仅支持少量低速外设(如UART)和少量VirtIO设备,其余高级外设依赖直通方案或用户自行开发。

  • 标准化框架:ZVM天生具备完整的外设驱动开发模式——标准化虚拟设备开发框架。程序员只需按照预定义的虚拟外设开发模板和接口规范,即可快速定制虚拟外设驱动,大幅降低开发门槛。

  • 全场景覆盖:ZVM为各类设备提供了多种外设虚拟化能力,包括完全虚拟化、半虚拟化(VirtIO)、单根虚拟化(SR-IOV)和设备直通。完全可以应对UART、SPI、I2C、GPIO、CRU、SYSCON、Wi-Fi/蓝牙等外设,以及USB 3.0、PCIe、SATA、NVMe等高速I/O控制器,甚至GPU、NPU等AI算力。ZVM可根据实际场景灵活选择最合适的虚拟外设,如根据网卡类型,可以选择VirtIO方案 (如瑞芯微RK3588 GMAC、D2000 XMAC)或SR-IOV方案(如沐创N500)。

  • 后端集成:需要强调的是,外设虚拟化框架全部做在ZVM里面,不像Xen那样做在Linux guest OS(也就是domain 0)里面,Xen这种方式既违背了虚拟化架构应做在后端的初衷,也造成了I/O访问链路长与不稳定。

7AC0

图4. ZVM外设驱动与虚拟化框架


三、安全:安全可靠的计算底座

部署在安全攸关高端装备中的Hypervisor对可靠性要求极高,不能允许任何可能造成系统崩溃的问题出现。例如,故障跨OS传播、中断风暴、或是因单粒子翻转等情况导致的OS崩溃。

ZVM具备高安全隔离能力以满足这类严苛需求,保证各OS之间的互相不影响;ZVM不仅仅是基础的CPU、内存的隔离,还做到了前面涉及的CRU、SYSCON等关键外设隔离。借助ZVM所具备的“丰富多样的外设虚拟化能力”,对于造成OS间冲突甚至影响系统运行的外设,ZVM都可以通过满足安全隔离要求的外设虚拟化机制来一一解决。

ZVM提出高可靠中断设计,通过中断同步、过滤、冗余与绑定四大技术,对OS的中断进行统一控制:

  • 中断同步保证OS中断不多发

  • 中断过滤避免OS间中断干扰

  • 中断冗余解决OS切换频繁时中断的漏发问题

  • 中断绑定降低中断处理时延

即使在局部异常时,中断系统仍具备必要的容错能力,且中断响应时间仍可稳定在10微秒以内。

在实际场景中不可避免地会出现单粒子翻转等瞬态故障,ZVM通过研发快速自恢复技术,定期备份RTOS快照,能够让OS在故障发生后实现微秒级(<30微秒)快速回滚,能够完整恢复故障前的OS状态。

B19D

图5.安全可靠的计算底座


四、工具:可视化管理工具VisualZVM

ZVM作为嵌入在装备中的Hypervisor,程序员缺乏对该系统运行状态的直接观测能力,给开发调试和运维带来诸多不便。团队专门开发了一款与ZVM强绑定的可视化管理工具VisualZVM,两者通过以太网快速传输数据,实现Hypervisor系统状态的可视化呈现,让用户能直观查看ZVM内核、外设及客户OS状态的相关信息

B1E1

图6.可视化管理工具VisualZVM

VisualZVM可通过轻松点击按钮,来实现对客户OS创建、启动、暂停到删除的全生命周期管理,并支持SMP与AMP等灵活的多核分配模式。VisualZVM还可以实时监控客户OS的运行情况、外设使用状态及时间同步精度,所有数据均在界面直观展示,用户可快速抓取核心信息。其中,客户OS的运行情况包括CPU核、内存、设备、CPU利用率、中断数量及缓存命中率等信息,用户凭这些数据可实时了解客户OS的运行状态。客户OS与ZVM的时间同步结果也直观展示在工具上,同步精度可达0纳秒,同步耗时与精度清晰可查。

VisualZVM作为一款集烧录、交互、调试与测试于一体的工具,极大便利了程序员的开发调试与日常运维。对于需要通过浏览器观测ZVM及客户OS运行情况的场景,可以将VisualZVM改造为一个B/S模式的本地服务器或边缘节点。还可以进一步把数据进一步上传到云服务器,开启云管模式。


五、测试:自动化测试与验证体系

嵌入式Hypervisor的功能与性能测试过程通常较为繁琐。以VirtIO-blk为例,测试人员往往需要反复手动挂载和卸载vda设备,并借助FIO等工具测试文件读写吞吐性能。这种以人工操作为主的测试方式步骤多、操作不便,不仅耗时较长,而且容易因反复切换流程和配置而引入人为错误,进而影响整体测试效率。同时,由于测试过程依赖人工逐项执行,测试内容通常集中在常见功能和典型场景,对复杂运行情况的覆盖也相对有限。这就要求ZVM的自动化测试能力必须具备两大核心优势:①保证测试覆盖度;②测试操作方便。

表1. ZVM测试能力


ZVM将所有测试项统一纳入一套序列化、高覆盖的自动化测试流程。对于vCPU分配、客户OS生命周期管理、中断、Zshm共享内存通信、自恢复等影响系统稳定可靠运行的核心功能,确保这些核心功能要得到序列化和全面覆盖的测试;对于VirtIO、系统性能、状态监控等重要功能,也尽量保证高覆盖。每一项测试都不是简单地跑一遍,而是尽可能覆盖所有可能出现的状态和场景,做到测全、测透。

25226

图7.一键式客户OS自动测试

把测试都集成到VisualZVM这个工具中,将自动化测试能力做成了一键式操作。用户只需点击按钮,即可完成对VirtIO、Zshm、vCPU、客户OS生命周期管理、中断、系统性能、自恢复以及状态监控等模块的统一测试,无需手动写脚本或逐项操作,避免了人工操作的不确定性。一整轮完整测试可以在30分钟内自动完成,统一输出功能及性能测试结果,这种系统性覆盖复杂运行场景的自动化测试方式,目前只有ZVM完整支持。


总结

基于上述五个维度的能力,ZVM形成了一套覆盖内核优化、设备支撑、可靠性保障、调试工具集成与测试验证体系的国产嵌入式实时Hypervisor。对于用户而言,ZVM提供的不仅是一个技术平台,更是一种高效的产品级交付解决方案。


上一条:ZVM外设驱动模型与开发流程 下一条:TSN与RTOS融合系统

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2025 湖南大学