CPU 全 虚 拟 化 、半 虚 拟 化 和 硬 件 虚 拟 化 技 术 陶 菘 我 们 在 前 面 的 文 章 中 提 到 了 虚 拟 化 技 术 的 大 致 分 类 情 况 , 即 分 为 全 虚 拟 化 、 半 虚 拟 化和 硬 件 辅 助 虚 拟 化 技 术3 大 类 别 。 而 我 们 虚 拟 化 技 术 最 主 要 的 虚 拟 主 体 就 是 我 们 的 硬 件CPU、 内 存 和IO, 那 么 我 们 的CPU 在 全 虚 拟 化 模 式 下 如 何 工 作 ? 在 半 虚 拟 化 下 如 何 工作 ? 在 硬 件 辅 助 虚 拟 化 模 式 下 如 何 工 作 ? 或 着 说 细 分 下 来 , 我 们 又 可 以 分 为CPU 的 全 虚 拟化 技 术 、 半 虚 拟 化 技 术 和 硬 件 辅 助 虚 拟 化 技 术 , 内 存 的 全 虚 拟 化 技 术 、 半 虚 拟 化 技 术 和 硬件 辅 助 虚 拟 化 技 术 以 及IO 设 备 的 全 虚 拟 化 技 术 、 半 虚 拟 化 技 术 和 硬 件 辅 助 虚 拟 化 技 术 。本 次 我 们 就 来 说 说CPU 的 全 虚 拟 化 技 术 、 半 虚 拟 化 技 术 和 硬 件 辅 助 虚 拟 化 技 术 。 第 一 章 、 CPU 全 虚 拟 化 技 术 不 支 持 硬 件 辅 助 虚 拟 化 技 术 的X86 架 构 下 的CPU 有4 个 特 权 级 (ring0--ring3), 操 作 系统 是 处 于 最 高 级 别 的ring0, 应 用 程 序 处 于 最 低 级 别 的ring3。 在 这 种 架 构 下 实 现CPU 的 全 虚 拟 化 是 及 其 困 难 的 , 为 什 么 困 难 ? 1、 原 先 的OS 运 行 在ring0 层 , 拥 有 对 所 有 硬 件 的 全 部 特 权 级 ; 2、 虚 拟 化 之 后 将OS 运 行 在ring1 层 , OS 就 没 有 权 限 执 行 一 些 特 权 指 令 , 怎 么 保 证 这些 特 权 指 令 执 行 ; 3、 在 保 证 该OS 虚 拟 机 的 特 权 指 令 执 行 的 情 况 下 , 保 证 其 他 运 行 的OS 虚 拟 机 的 安全 ; 1、 模 拟 仿 真 技 术 最 先 实 现 这 种 CPU 全 虚 拟 化 技 术 的 是 Trap-and-emulation 技 术 , 即 陷 入...