硬件虚拟化是一种对计算机或操作系统的虚拟。虚拟化对用户隐藏了真实的计算机硬件,表现出另一个抽象计算平台。
硬件虚拟化是一种对计算机或操作系统的虚拟。虚拟化对用户隐藏了真实的计算机硬件,表现出另一个抽象计算平台。
简介
虚拟化在 1960 年为了描述虚拟机(实验性的 IBM M44/44X 系统)这个概念被第一次提出。对虚拟机的架设和管理被称为平台虚拟化,现在也被称为服务器虚拟化。
平台虚拟化表现为在一个给定的硬件平台上宿主机创造一个模拟的计算机环境(虚拟机)提供给客户机。客户机软件对于用户应用程序没有限制;许多宿主机允许运行真实的操作系统。客户机就好像直接运行在计算机硬件上,伴随着几个明显的警告。虚拟机对硬件资源(如网络,显示器,键盘,硬盘)的访问被统一管理在一个比处理器和系统内存更有限制性的层次上。客户软件经常被限制访问计算机周边设备,或者被限制在较低的设备性能上,这取决于宿主机硬件访问策略设定。
虚拟化的原因
在计算机集群中,许多小型服务器正在被一个大型服务器取代以增加硬件资源的利用率(如 CPU 等)。虽然硬件正在被整合,但是典型的操作系统仍然是独立的。取而代之地,每一个运行在独立的服务器上的操作系统被转移到在虚拟机中。大型的服务器可以“寄宿”许多这样的“客户”虚拟机。这就是物理到虚拟(Physical-to-Virtual, P2V)的转换。
虚拟机比真实的机器可以被更容易从外部被控制和检查,并且可以配置更灵活。这在内核开发与操作系统课程教学中尤为有用。
创建一个新的虚拟机不需要预先购买硬件。同时,一个新的虚拟机可以容易地从一台计算机转移到另一台上。举例来说,一个销售员可以复制一个包含试用版软件的虚拟机到他的笔记本电脑去访问他的客户而不用更换电脑。类似的,虚拟机中的故障不会对宿主机产生损害,所以不会令笔记本上的操作系统死机。
由于可以被容易地迁移,虚拟机可以被用于远距离灾难恢复方案。
平台虚拟化的方案有很多。
完全虚拟化
在完全虚拟化(full virtualization)中,虚拟机模拟一个足够强大的硬件使客户机操作系统独立运行。这种方案最早在 1966 年被虚拟机家族的先锋 IBM CP-40 与 CP-67 使用。支持完全虚拟化的虚拟机软件包括 Parallels Workstation, Parallels Desktop for Mac, VirtualBox, Virtual Iron, Oracle VM, Virtual PC, Virtual Server, Hyper-V, VMware Workstation, VMware Server (formerly GSX Server), QEMU, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro, 以及 Egenera vBlade technology。
硬件辅助虚拟化
在硬件辅助虚拟化(hardware-assisted virtualization)中,硬件提供结构支持帮助创建虚拟机监视并允许客户机操作系统独立运行。硬件辅助虚拟化在 1972 年,为了使用第一个虚拟机操作系统 VM/370,第一次由 IBM System/370 引入。在 2005 年与 2006 年,Intel 和 AMD 为虚拟化提供了额外的硬件支持。支持硬件辅助虚拟化的有 Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual PC, Xen, Parallels Desktop for Mac,VirtualBox and Parallels Workstation。
支持完整的虚拟化技术的硬件平台包括:
x86 (and x86_64)—AMD-V (代号 Pacifica), Intel VT (代号 Vanderpool)
IOMMU 由 AMD 和 Intel 共同开发。
Power Architecture (IBM/Power.org)
Virtage (Hitachi)
UltraSPARC T1, T2 及 T2+ (Sun)