主要观点:
- 介绍了 x86 虚拟化的内部工作原理,从虚拟化的定义、为何虚拟化、历史发展、引入 VMM/hypervisor 等方面展开,重点讨论了 x86 虚拟化的挑战及解决方案。
关键信息: - 虚拟化有多种类型,如进程级、存储、网络、操作系统级、系统级等,系统级虚拟化即创建虚拟机模拟真实计算机。
- 虚拟化带来诸多好处,如资源整合、提高可维护性和安全性、灵活调整硬件资源、便于软件测试等。
- 虚拟化概念始于 20 世纪 60 年代 IBM 大型机,20 世纪 90 年代 VMware 推出 x86 虚拟化解决方案后,虚拟化兴趣大增。
- VMM/hypervisor 可在同一物理硬件上创建多个虚拟机,需考虑 CPU 和内存、平台、IO 设备虚拟化等方面,Popek 和 Goldberg 定义了虚拟化的条件。
- x86 架构存在非特权敏感指令、环压缩、地址空间压缩等问题导致其非经典可虚拟化,但有全虚拟化、半虚拟化、硬件辅助虚拟化等解决方案。
- 区分了裸金属型、后期启动/托管型、主机唯一型三种 hypervisor。
重要细节: - 不同类型虚拟化的示例,如 Java 虚拟机、LVM、VLAN、VPN、docker 等。
- x86 的特权级别及敏感指令、特权指令的定义和示例。
- 各种虚拟化技术的特点和代表产品,如 VMware 的二进制翻译、Xen 的半虚拟化、Intel 和 AMD 的硬件辅助虚拟化等。
- 不同类型 hypervisor 的运行方式及区别,如裸金属型直接在硬件上运行,托管型在现有操作系统中运行等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。