# zvm **Repository Path**: openeuler/zvm ## Basic Information - **Project Name**: zvm - **Description**: 本项目已经迁移至 AtomGit || This project has been migrated to AtomGit || Linked: https://atomgit.com/openeuler/zvm - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 128 - **Forks**: 58 - **Created**: 2023-02-24 - **Last Updated**: 2026-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: sig-Zephyr ## README ZVM ## 关于 ZVM **ZVM源自自主研发的嵌入式实时虚拟机,经过持续演进,已发展成为一款嵌入式虚拟化实时操作系统。** ZVM 将虚拟化能力内生于实时操作系统,在同一系统底座上支撑本地任务与多 Guest OS 运行,并面向复杂外设提供资源管理、隔离与复用能力。 **ZVM 采用原创“RTOS 原生虚拟化”架构**,以**一体化、最小栈、无管理域**为核心:将实时内核与虚拟化功能一体化,减少关键执行路径中的特权级与上下文切换;通过虚拟化栈最小化,裁减非必要的软件层级与通用组件;通过无管理域服务下沉,将虚拟 I/O、通信等系统服务模块化内置,实现能力按需扩展。由此形成**少切换、少组件、少耦合**的嵌入式虚拟化架构。

**围绕内核实时、外设复用与安全隔离**,ZVM 形成了 HyperVHE、双核分治、1V1 静态绑核、E4 中断保障、Guest OS 自恢复、VirtIO 内置、SR-IOV 复用、TSN 融合、GPU 多显等关键核心技术,并进一步覆盖故障恢复、确定性网络与图形显示等系统能力。 **面向产品化应用**,ZVM 配套**VisualZVM、自动化测试和版本交付体系**,形成从开发调试、测试验证到版本交付的全流程工程支撑。目前已面向瑞芯微、飞腾等平台推出发行版,支持 Linux、openEuler Embedded、OpenHarmony、Android、Zephyr、FreeRTOS、NuttX 等多种 Guest OS。 具体技术及文档详见ZVM官网: ## http://esnl.hnu.edu.cn/zvm ## 各 Hypervisor 对比 ZVM 与 Xen、Xvisor、Jailhouse、BAO Hypervisor 相比,在初始化、内核隔离、外设管理、可视化工具、自动化测试等方面具备全面领先优势。 | 对比项 | Xen | Xvisor | Jailhouse | BAO Hypervisor | QNX Hypervisor | ZVM | | --- | --- | --- | --- | --- | --- | --- | | 是否依赖 Linux 完成初始化? | 是❌ | 否✅ | 是❌ | 否✅ | 否✅ | 否✅ | | 是否依赖 Linux 管理 Guest OS 生命周期? | 是❌ | 否✅ | 是❌ | 否✅ | 否✅ | 否✅ | | 是否依赖 Linux 管理 I/O? | 是❌ | 否✅ | 是❌ | 否✅ | 否✅ | 否✅ | | Hypervisor 与 Guest OS 是否共享物理 CPU? | 是❌ | 是❌ | 否✅ | 否✅ | 否✅(默认) | 否✅(默认) | | 是否支持外设 VirtIO 共享? | 是✅(Domain 0 方式) | 是✅(内置方式) | 否❌ | 否❌ | 是✅(内置方式) | 是✅(内置方式) | | 是否支持外设 SR-IOV 共享? | 是✅(Domain 0 方式) | 否❌ | 否❌ | 否❌ | 否❌ | 是✅(内置方式) | | 是否具备专门的可视化管理工具? | 否❌ | 否❌ | 否❌ | 否❌ | 是✅ | 是✅ | | 是否具备自动化测试系统? | 否❌ | 否❌ | 否❌ | 否❌ | 是✅ | 是✅ | ## ZVM-RK3588 v2.1 发行版性能表现 > 测试说明:为确保 Benchmark 测试结果的准确性,以下测试均在关闭 PMU、客户 OS 心跳监测等可能影响性能表现的功能后进行。 ### ZVM 关键性能指标 | 序号 | 指标项 | 指标值 | 测试方法 | | --- | --- | --- | --- | | 1 | 上电自启动时间 | < 2.2 s | MobaXterm_26.3 输出自带毫秒级时间戳 | | 2 | 虚拟化性能损耗 | < 2% | UnixBench 测试集(实测打分体现) | | 3 | VirtIO-Net 吞吐量损耗 | < 8% | iperf3 测试集(实测带宽体现) | | 4 | Guest OS 时间同步精度 | < 25 ns | 高精度定时器计数方式(耗时 1 ms 内) | | 5 | 共享内存通信延迟(Zephyr-Zephyr) | < 10 us | timing_test 测试集(基于高精度定时器) | | 6 | 共享内存通信带宽(Linux-Linux) | > 1000 Mbps | timing_test 测试集(基于高精度定时器) | ### Guest OS(Zephyr RTOS)实时性指标 | 序号 | 指标项 | 指标值 | 测试方法 | | --- | --- | --- | --- | | 1 | 上电自启动时间 | < 3 s | MobaXterm_26.3 输出自带毫秒级时间戳 | | 2 | 最大中断响应延迟 | < 9 us | irqtest 测试集(基于高精度定时器) | | 3 | 最大唤醒延迟 | < 10 us | cyclictest 测试集 | | 4 | 最大抢占延迟 | < 3 us | task_preempt 测试集 | | 5 | 最大上下文切换延迟 | < 3 us | task_switch 测试集 | | 6 | 最大完成时间抖动 | < 2 us | task_jitter 测试集 | ### Guest OS(NuttX RTOS)实时性指标 | 序号 | 指标项 | 指标值 | 测试方法 | | --- | --- | --- | --- | | 1 | 上电自启动时间 | < 3 s | MobaXterm_26.3 输出自带毫秒级时间戳 | | 2 | 最大中断响应延迟 | < 8 us | irqtest 测试集(基于高精度定时器) | | 3 | 最大唤醒延迟 | < 10 us | cyclictest 测试集 | | 4 | 最大抢占延迟 | < 3 us | task_preempt 测试集 | | 5 | 最大上下文切换延迟 | < 3 us | task_switch 测试集 | | 6 | 最大完成时间抖动 | < 2 us | task_jitter 测试集 | ### Guest OS(FreeRTOS)实时性指标 | 序号 | 指标项 | 指标值 | 测试方法 | | --- | --- | --- | --- | | 1 | 上电自启动时间 | < 3 s | MobaXterm_26.3 输出自带毫秒级时间戳 | | 2 | 最大中断响应延迟 | < 8 us | irqtest 测试集(基于高精度定时器) | | 3 | 最大唤醒延迟 | < 10 us | cyclictest 测试集 | | 4 | 最大抢占延迟 | < 4 us | task_preempt 测试集 | | 5 | 最大上下文切换延迟 | < 5 us | task_switch 测试集 | | 6 | 最大完成时间抖动 | < 2 us | task_jitter 测试集 | ## 快速上手ZVM开源版 快速基于QEMU模拟器上手ZVM请参考: 1. [主机开发环境搭建](https://atomgit.com/openeuler/zvm/blob/master/zvm_doc/1_主机开发环境构建.rst); 2. [在QEMU上运行ZVM](https://atomgit.com/openeuler/zvm/blob/master/zvm_doc/2_QEMU上运行ZVM.rst); ## ZVM视频号 ZVM视频公众号提供实时操作系统原生虚拟化的前沿解读、实操教程与案例演示,聚焦一芯多域、微秒级确定性与国产SoC落地。持续发布版本更新、开发技巧与社区活动,欢迎扫码关注。

## 交流与反馈 ZVM技术交流群汇聚一线研发者与爱好者,群内提供实战答疑、版本内测、性能调优与案例分享,欢迎扫码加入。

   扫码加入ZVM技术交流群(若无法扫码,请加微信xgqman入群) ## 版权与许可证 ZVM使用 [zephyrproject-rtos](https://atomgit.com/link?target=https%3A%2F%2Fgithub.com%2Fzephyrproject-rtos%2Fzephyr) 所遵守的 [Apache 2.0 许可证](https://atomgit.com/link?target=https%3A%2F%2Fgithub.com%2Fzephyrproject-rtos%2Fzephyr%2Fblob%2Fmain%2FLICENSE) ,主要开发语言为C/C++语言。Apache 2.0许可证是一种自由软件许可证,允许用户自由使用、修改和分发软件, 不影响用户的商业使用。 ## 参与贡献 欢迎对ZVM及Zephyr感兴趣的小伙伴加入本项目。 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request