1、基于Rust语言的高可靠、嵌入式Hypervisor及应用王雷目 录C O N T E N T S研究背景ARM&RISC-V平台的Rust-Shyper设计实时性优化多平台移植安全监控实验评测典型应用研 究 背 景德 才 兼 备 知 行 合 一常见的虚拟化方案Jailhouse HypervisorBao HypervisorEtc.德 才 兼 备 知 行 合 一主要面向的场景德 才 兼 备 知 行 合 一要求和挑战要求和挑战 最小化可信计算基,增加系统的可靠性和安全性轻量高性能高实时隔离性效率 嵌入式对实时性能敏感,需要保障上层VM的实时性,并尽量减少VM-Exit 各个VM的硬件资源、故
2、障等的隔离,不能相互影响 最小化系统资源和性能的开销德 才 兼 备 知 行 合 一常见虚拟化方案7 多分区实时操作系统 LynxOSLynxOS、INTEGRITYINTEGRITY、VxWorksVxWorks 满足 ARINC 653 ARINC 653 等时间域和空间域隔离设计的软件标准 依赖于特定的RTOSRTOS;多平台移植能力差;闭源且收费昂贵基于服务器的虚拟化技术 Xen、KVM 在桌面、服务器和云计算等领域获得巨大的成功 可信计算基较大,难以通过ARINC 653 等工业安全认证 无法保证关键任务满足必要的实时性约束 使用传统C语言编程实现新型嵌入式虚拟化技术 Xvisor、X
3、tratuM、Jailhouse、ACRN 拥有较小的可信计算基 通过资源固定分配的策略以及实时虚拟化技术保证关键任务的实时性约束 资源利用率较低、未能完全解决实时性虚拟化的问题 使用传统C语言编程实现德 才 兼 备 知 行 合 一Why Rust?Rust的优势高安全;高性能;社区生态;很好用的包管理;良好的FFI兼容和支持;内存安全:解决空指针、裸指针等;借用检查、生命周期概念等;线程安全:内置安全并发模型;语言级的多线程同步原言;性能:零成本抽象;泛型与静态分派;确定性内存管理,无GC;其他现代特性:包管理、函数式等系统软件系统软件:操作系统内核(rCore)Hypervisor网络协议
4、栈需求:性能;安全性;A R M&R I S C-V 平 台 系 统 设 计德 才 兼 备 知 行 合 一ARM&RISC-V平台10对虚拟化的支持德 才 兼 备 知 行 合 一常见的虚拟化方案arXiv:2303.11186v2 cs.OS 23 Mar 2023德 才 兼 备 知 行 合 一系统架构设计12 基于Rust语言的Type I虚拟机监控器,具备更好的隔离性和更轻量的代码实现。基于AArch64&RISC-V、能够支持Linux、裸应用等系统软件的运行 灵活、动态创建并配置虚拟机,能够为实时操作系统创建实时虚拟机,保障嵌入式场景的实时需求 具备资源隔离属性,保障不同虚拟机间的隔离
5、性 实现多种模拟设备,提供基本的磁盘、网络、串口等设备的虚拟化实现,提高资源利用率 提供传统虚拟机迁移机制以及本地热更新机制,保障虚拟机监控器正常运行过程中的可靠性Rust-Shyper特点德 才 兼 备 知 行 合 一Rust-Shyper目前支持的平台13Firefly ROC-RK3588S-PCQEMU(for RISCV64)NVIDIA Jetson TX2Raspberry Pi 4 Model B14资源隔离策略 核心隔离需要保障虚拟机的vCPU运行状态不应受到其他虚拟机的篡改 不同物理核心上vCPU的隔离与同一物理核心上vCPU的隔离空间域隔离处理器核心隔离15资源隔离策略
6、Rust-Shyper通过二阶段地址映射提供的内存隔离来确保VM间内存数据无法被其他VM获取和修改空间域隔离地址空间隔离16资源隔离策略 对于VM:地址空间直接映射 VM启动前预先建立内存和设备地址的二阶段映射页表 对每一个CPU核心都分配独立的内核堆空间空间域隔离地址空间隔离17缓存隔离性测试 内存隔离性测试L2末级缓存延迟测试有无缓存着色,单虚拟机的延迟相同,说明缓存着色无运行时开销;多虚拟机时,时延比单虚拟机高24.2%;缓存着色后,时延降低12.4%,比单虚拟机高8.7%;重填次数多2.1%,写回次数多11.5%;18内存隔离性测试内存带宽控制系统测试随着非实时虚拟机带宽升高,实时虚拟