Skip to content

虚拟化和云

虚拟化的必要条件

每个包含在内核态和用户态的 CPU 都有一个特殊的指令集合,其中的指令在用户态和内核态执行的行为不同,例如进行 I/O 操作和修改 MMU 设置的指令,称之为 敏感指令。还有另一个指令集合,其中的指令在用户态执行时会导致陷入,称之为 特权指令

如果操作系统发现自己处于用户态,就会做出错误的决策。在 Intel CPU 中引入 VT,在 AMD CPU 中引入 SVM,基本思想为创建可以运行虚拟机的容器,客户操作系统在容器中启动并持续运行,直到触发异常并陷入虚拟机管理程序,例如执行 I/O 指令时,会造成陷入的指令集合由虚拟机管理程序设置的硬件位图控制。有了这些扩展后,在 x86 平台实现经典的陷入并模拟虚拟机成为可能。

第一类和第二类虚拟机管理程序

CPU 虚拟化

内存虚拟化

  • 嵌套页表的硬件支持

  • 回收内存

IO 虚拟化

记录原理、连接知识、积累实践。