我对虚拟化真的很陌生,我在某些地方读到硬件虚拟化也称为硬件辅助虚拟化,是真是假。
根据我的理解,硬件虚拟化意味着硬件本身有一些嵌入式软件,有助于管理操作系统之间的系统资源,对吗?
如果可能的话,请告诉我有哪些不同类型的虚拟化?
我对虚拟化真的很陌生,我在某些地方读到硬件虚拟化也称为硬件辅助虚拟化,是真是假。
根据我的理解,硬件虚拟化意味着硬件本身有一些嵌入式软件,有助于管理操作系统之间的系统资源,对吗?
如果可能的话,请告诉我有哪些不同类型的虚拟化?
不同类型的虚拟化
在传统的 x86 架构中,操作系统内核期望直接 CPU 访问运行在 Ring 0 中,这是最高特权级别。
软件虚拟化
借助软件虚拟化,客户操作系统无法在环 0 中运行,因为 VMM 位于环 0 中。因此,客户操作系统必须在 Ring 1 中运行,但有一个问题:一些 x86 指令只能在 Ring 0 中运行,因此必须重新编译操作系统以避免它们。这个过程称为半虚拟化,它是不切实际的——尤其是在操作系统的源代码不可用的情况下。为了解决这个问题,VMM 捕获这些指令并模拟它们,不幸的是,这会导致巨大的性能损失:虚拟机可能比真实的物理机慢得多。
硬件辅助虚拟化
因此,英特尔和 AMD 推出了他们的新虚拟化技术、一些新指令以及——至关重要的是——新的特权级别。管理程序现在可以在“Ring -1”运行;因此客户操作系统可以在 Ring 0 中运行。不需要半虚拟化,VMM 做的工作更少,性能影响也降低了
维基把它说得很好
虚拟化
术语“虚拟化”是在 1960 年代创造的,指的是虚拟机(有时称为“伪机”),这个术语本身可以追溯到实验性的 IBM M44/44X 系统。虚拟机的创建和管理最近被称为“平台虚拟化”或“服务器虚拟化”。
平台虚拟化由主机软件(控制程序)在给定的硬件平台上执行,主机软件为其客户软件创建模拟计算机环境,即虚拟机 (VM)。来宾软件不限于用户应用程序;许多主机允许执行完整的操作系统。来宾软件就像直接在物理硬件上运行一样执行,但有几个值得注意的警告。对物理系统资源的访问(例如网络访问、显示器、键盘和磁盘存储)通常在比主机处理器和系统内存更严格的级别进行管理。来宾通常被限制访问特定的外围设备,或者可能被限制为设备本机功能的子集,这取决于虚拟主机实施的硬件访问策略。
硬件辅助虚拟化 在硬件辅助虚拟化中,硬件提供有助于构建虚拟机监视器并允许客户操作系统独立运行的架构支持。硬件辅助虚拟化于 1972 年首次在 IBM System/370 上引入,用于第一个虚拟机操作系统 VM/370。在 2005 年和 2006 年,英特尔和 AMD 提供了额外的硬件来支持虚拟化。Sun Microsystems(现为 Oracle Corporation)于 2005 年在其 UltraSPARC T 系列处理器中添加了类似的功能。适用于此类硬件的虚拟化平台示例包括 Linux KVM、VMware Workstation、VMware Fusion、Microsoft Hyper-V、Microsoft Virtual PC、Xen、Parallels Desktop for Mac、Oracle VM Server for SPARC、VirtualBox 和 Parallels Workstation。
另请参阅以下链接以获取更多说明: http://searchvmware.techtarget.com/definition/hardware-virtualization http://www.anandtech.com/show/2480