推荐项目:Gunyah Hypervisor - 高性能、可扩展的实时虚拟化解决方案
Gunyah Hypervisor 是由澳大利亚悉尼的高通公司开发的一款高性能、可扩展且灵活的Type-1(裸机)超虚拟器。该超虚拟器专为电池供电的、实时性要求高的、安全性及安全相关的用途设计,特别是在对性能和安全性有极高需求的场景中表现出色。
1. 项目介绍
Gunyah Hypervisor 提供了一种参考配置,可用于创建多个信任和依赖的虚拟机(VM)。作为一个Type-1超虚拟器,它独立于任何高级操作系统内核运行,并在比VM更高的CPU特权级别上操作,确保了更好的安全性和更小的可信计算基数。
顾名思义,“Gunyah”是源自澳大利亚原住民的语言。这个项目的设计理念类似于传统的微内核,仅提供一组核心服务给其客户端,并将非关键服务委托给低权限(或低优先级)进程,只要这不会对性能或安全性产生负面影响。
2. 技术分析
利用CPU的虚拟化模式和特性,Gunyah能够隔离自身与VM中的操作系统内核,以及隔离不同VM之间的相互作用。在ARM架构上,这包括捕获和模拟寄存器、虚拟化核心平台设备、ARM的GIC虚拟化支持,以及通过CPU的Stage-2 MMU来提供隔离的EL1/0 VM。
3. 应用场景
- 强大安全:移动支付、安全用户界面等安全敏感应用都要求强大的安全保障。Gunyah设计用于提供强隔离保证,其小型体积便于审计。
- 高效性能:对于移动设备而言,性能至关重要。电池驱动的设备需要最小化的软件开销以实现每瓦最佳性能。Gunyah旨在具有高效率,对高层操作系统的影响降到最低。
- 模块化设计:超虚拟器采用模块化设计,允许定制和增强,通过替换模块实现和添加新功能模块。
4. 项目特点
- 线程与调度:调度器负责在物理CPU上调度虚拟CPU,并实现时间共享。
- 内存管理:跟踪所有受控内存的所有权和使用情况,内存分区是VM之间安全的基础。
- 中断虚拟化:所有的中断都在超虚拟器中处理并路由到指定的VM。
- VM间通信:提供了多种VM间通信机制。
- 设备虚拟化:支持设备的para-virtualization,使用VM间通信,对于一些底层系统特性和设备,如中断控制器,通过仿真支持。
平台支持
Gunyah被设计为支持多种CPU架构,确保架构无关性和可移植性。当前已支持ARM64(ARMv8+)架构,使用AArch64 EL2的VHE模式。此外,已有一个初步的QEMU Arm系统模拟器支持。
开始使用
要了解更多术语、设置、构建指南、状态更新和变更日志,请访问项目文档。还有相应的工具和脚本仓库,以便快速开始你的设置之旅。
贡献
感谢你对Gunyah的兴趣!请阅读贡献页面以了解如何提交特性或修复错误。这个项目期待成为开放的、社区支持的项目。
团队
Gunyah由高通公司开发,并致力于成为一个开源、社区驱动的项目。查看AUTHORS
文件了解主要贡献者。
许可证
Gunyah遵循BSD 3-clause "New" 或 "Revised" 许可证。详细信息请参阅LICENSE
文件。
探索Gunyah Hypervisor,解锁高性能、安全可靠的虚拟化新境界!