ARM虚拟化技术的实现
分类:
文章
•
2025-04-27 20:16:10
- 主流的操作系统都有一个假设,就是这个系统有一个特权模式之下的OS,之上在跑多个非特权模式的APP;而ARM的虚拟化技术就是在同一个系统上共存多个操作系统,实现这种虚拟技术需要硬件的扩展(加速虚拟机之间的切换)和Hypervisor软件层的提供一些必要的功能。
- 硬件扩展:
- 用于处理虚拟化代码的异常级别EL2;
- 支持捕获更改内核上下文或状态的异常;
- 支持路由异常和虚拟中断;
- 两阶段的内存地址转换,其中第二阶段为hypervisor用来隔离客户端操作系统;
- hypervisor call(hvc)的专用异常;
- 需要一些专用的寄存器:SPSR_EL2 ELR_EL2 SP_EL2
- Hypervisor软件层:
- memory management
- device emulation 设备仿真
- device assignment 设备分配
- exception handing
- instruction trapping
- managing virtual execptions
- interrupt controller management
- scheduling
- context switching
- memory translation
- managing multiple virtual address spaces
