跳到主要内容

AxVisor 发布规划

概述

AxVisor 被设计为一个基于 ArceOS 框架实现的 Type I 类型的 Hypervisor。其目标是利用 ArceOS 提供的基础操作系统功能作为基础实现一个统一的组件化 Hypervisor。

发布规划

AxVisor 项目自启动以来,经历了从概念验证到功能完善的发展过程。目前项目正处于快速迭代阶段,逐步增加新功能和改进现有功能,因此,在 v0.1 版本之前,文档,功能等都可能会很快过时,但随着第一个版本的发布,相关内容将逐步稳定。

硬件平台

目前,正在不断扩展及完善硬件平台支持。下面每个章节以表格的形式列出了版本与平台之间的关系,以 ● 表示支持,○ 表示不支持,☉ 部分支持,各个版本之间的 ○ ➜ ☉ ➜ ● 变化表示到对应的版本才会提供对应的支持

架构支持

AxVisor 采用分层架构设计,支持多种处理器架构,为不同硬件平台提供统一的虚拟化解决方案。AxVisor 被设计为可以在 x86_64、AArch64、RISC-V、LoongArch 四大芯片架构上运行,目前已经在多种平台上进行了验证,但是架构支持并不完善。

架构x86_64AArch64RISC-VLoongArch
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

开发板支持

AxVisor 支持多种硬件开发板,从虚拟化环境到真实硬件平台,为不同应用场景提供灵活的部署选择。目前,AxVisor 已经在QEMU ARM64、Rockchip RK3568 / RK3588、飞腾派等平台进行了验证。

功能点QEMU AArch64QEMU x86_64QEMU RISC-VQEMU LoongArch飞腾派ROC-RK3568-PC道莅 PLC更多设备
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

软件平台

目前,正在不断扩展及完善软件平台支持。下面每个章节以表格的形式列出了版本与软件之间的关系,以 ● 表示支持,○ 表示不支持,☉ 部分支持,各个版本之间的 ○ ➜ ☉ ➜ ● 变化表示到对应的版本才会提供对应的支持

客户机系统

AxVisor 支持多种客户机操作系统,从轻量级实时操作系统到通用操作系统,满足不同应用场景的需求。目前,AxVisor 已经在 ArceOS、NimbOS、Linux 等系统作为客户机的情况进行了验证,但是仍需完善支持情况,以及扩展更多客户机支持。

客户机ArceOSLinuxStarry-OSNimbOSRTThread其他系统
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

核心功能

AxVisor 提供了丰富的虚拟化功能,从基础的内存管理到高级的设备模拟,为不同应用场景提供全面的虚拟化解决方案。目前,AxVisor 的内存管理、CPU 调度、设备模拟、中断处理等核心功能正在逐步完善中。

内存管理

功能点简单 EPT/Stage-2 页表多级 EPT/Stage-2 页表基础内存分配高级内存分配策略内存共享机制
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

CPU 调度

功能点单 vCPU多 vCPU简单 CPU 分配CPU 亲和性控制基础调度策略高级调度策略负载均衡
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

设备模拟

功能点设备直通串口设备模拟简单块设备模拟完整网络设备模拟高级存储设备模拟设备热插拔支持
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

中断处理

功能点简单中断注入高级中断注入机制基础中断路由复杂中断路由中断优先级管理MSI 中断支持
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

客户机管理

功能点客户机配置管理客户机之间通信虚拟机快照实时迁移性能监控
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

其他功能

功能点基础设备树处理完善的设备树处理基础文件系统支持完整文件系统支持升级
当前
v0.1
v0.2

注:● 表示支持,○ 表示不支持,☉ 部分支持

总结

AxVisor 作为一个新兴的 Hypervisor 项目,已经从一个概念验证项目发展成为一个功能相对完整的虚拟化解决方案。然而仍旧需要进一步完善。

架构改进

目前,AxVisor 严重依赖于 ArceOS,而目前的 ArceOS 发展缓慢,其会逐渐制约 AxVisor 的发展。但是,无论是 ArceOS 还是 AxVisor,都被设计为组件化内核,因此,AxVisor 和 ArceOS 都应该是组件化的展示,而不应该有相互依赖。

  1. 将 AxVisor 完全脱离 ArceOS,转而直接使用已经开发的各个组件

  2. 调整架构层级设计,方便引入各种组件

  3. 统一组件的标准,合并或者差分现有组件,避免过渡碎片化

功能扩展

基于当前的发展趋势,AxVisor的未来发展方向可能包括:

  1. 更多架构支持:继续扩展对更多处理器架构的支持

  2. 增强的虚拟化功能:包括更高级的设备模拟、更完善的内存管理

  3. 性能优化:提高虚拟化性能,减少性能开销

  4. 云原生支持:增加对容器和微服务的支持

  5. 安全性增强:提高虚拟化环境的安全性