- 主流的操作系统都有一个假设,就是这个系统有一个特权模式之下的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

本文深入探讨了ARM架构下的虚拟化技术,介绍了硬件层面的扩展,如EL2异常级别、内存地址转换和专用寄存器等,以及Hypervisor软件层的关键功能,包括内存管理、设备仿真和中断控制器管理等,揭示了如何在同一系统上实现多个操作系统的并存。
2348

被折叠的 条评论
为什么被折叠?



