早期的虚拟化方法主要基于模拟CPU,例如在基于PowerPC的Mac上的x86,使用户能够运行DOS和Windows。不仅需要模拟CPU,而且还要模拟硬件环境中的其他组件,包括图形适配器、硬盘、网络适配器、内存和接口。
在90年代末期时,VMware在虚拟化技术中有了重大突破,他们推出的技术可以让大部分代码直接在CPU上执行,而不需要被转译或模拟。
在VMware之前,运行在相同硬件的两个或两个以上的操作系统会互相干扰,因为他们会争夺资源并试图执行特权指令。VMware智能地拦截这些类型的指令,动态地重写代码,并存储新的转译用于重复使用和快速执行。
总之,这些技术比以前的模拟器运行地更快,帮助定义了我们现在所知道的x86虚拟化,包括旧的“管理程序”大型机概念,这是让IT创建和运行虚拟机的平台。
多年来,VMware及其专利统治着虚拟化领域。在服务器端,VMware的ESX在裸机上运行,它成为领先的第一类(或本机)管理程序。在客户端,VMwareWorkstation在现有桌面操作系统内运行,它是第二类(或托管)管理程序。
虚拟化技术不只是针对开发人员或跨平台软件使用的技术,虚拟化是一个强大的技术,它通过将服务器放在可替代的虚拟化容器中,提高效率和可管理性。
多年来,涌现出一些有趣的开源项目,包括Xen和QEMU(快速模拟器)。这些都不像VMware那么快速和灵活,但它们为我们指明了一条发展道路,并且奠定了基础。
大约在2005年,AMD和英特尔公司开发了新的处理器扩展到x86架构,为特权指令提供了硬件辅助。AMD和英特尔公司分别将其称之为AMD-V和VT-x,这些扩展改变了格局,最终将服务器虚拟化带到更多供应商。不久后,Xen利用这些新的扩展创建了硬件虚拟机(HVM),这种虚拟机使用QEMU的设备模拟,以及来自VT-x和AMD-V扩展的硬件辅助来支持专有操作系统,例如微软Windows。
一家名为Qumranet的公司也开始将虚拟化基础设施增加到Linux内核,被称为基于内核的虚拟机(KVM),并开始使用QEMU设施来托管虚拟机。微软最终也加入了这个领域,在2008年推出了Hyper-V。
当虚拟化最终变得“自由”,或者至少不需要昂贵的许可费就可以访问,我们开始看到新用例的出现。具体来说,亚马逊开始使用Xen平台来出租其多余的计算能力给第三方客户。通过其API,他们拉开了弹性云计算革命的序幕,这意味着应用程序自身可以自我配置资源来满足你工作负载。
现在,开源虚拟机管理程序已经日趋成熟,并且在云计算中普及。除了VMware之外,企业开始尝试使用KVM或Xen管理程序的架构。这些尝试并不是关于控制成本,更多地是关于利用云计算的弹性本质,以及这些开源替代品正在构建。
在90年代末期时,VMware在虚拟化技术中有了重大突破,他们推出的技术可以让大部分代码直接在CPU上执行,而不需要被转译或模拟。
在VMware之前,运行在相同硬件的两个或两个以上的操作系统会互相干扰,因为他们会争夺资源并试图执行特权指令。VMware智能地拦截这些类型的指令,动态地重写代码,并存储新的转译用于重复使用和快速执行。
总之,这些技术比以前的模拟器运行地更快,帮助定义了我们现在所知道的x86虚拟化,包括旧的“管理程序”大型机概念,这是让IT创建和运行虚拟机的平台。
多年来,VMware及其专利统治着虚拟化领域。在服务器端,VMware的ESX在裸机上运行,它成为领先的第一类(或本机)管理程序。在客户端,VMwareWorkstation在现有桌面操作系统内运行,它是第二类(或托管)管理程序。
虚拟化技术不只是针对开发人员或跨平台软件使用的技术,虚拟化是一个强大的技术,它通过将服务器放在可替代的虚拟化容器中,提高效率和可管理性。
多年来,涌现出一些有趣的开源项目,包括Xen和QEMU(快速模拟器)。这些都不像VMware那么快速和灵活,但它们为我们指明了一条发展道路,并且奠定了基础。
大约在2005年,AMD和英特尔公司开发了新的处理器扩展到x86架构,为特权指令提供了硬件辅助。AMD和英特尔公司分别将其称之为AMD-V和VT-x,这些扩展改变了格局,最终将服务器虚拟化带到更多供应商。不久后,Xen利用这些新的扩展创建了硬件虚拟机(HVM),这种虚拟机使用QEMU的设备模拟,以及来自VT-x和AMD-V扩展的硬件辅助来支持专有操作系统,例如微软Windows。
一家名为Qumranet的公司也开始将虚拟化基础设施增加到Linux内核,被称为基于内核的虚拟机(KVM),并开始使用QEMU设施来托管虚拟机。微软最终也加入了这个领域,在2008年推出了Hyper-V。
当虚拟化最终变得“自由”,或者至少不需要昂贵的许可费就可以访问,我们开始看到新用例的出现。具体来说,亚马逊开始使用Xen平台来出租其多余的计算能力给第三方客户。通过其API,他们拉开了弹性云计算革命的序幕,这意味着应用程序自身可以自我配置资源来满足你工作负载。
现在,开源虚拟机管理程序已经日趋成熟,并且在云计算中普及。除了VMware之外,企业开始尝试使用KVM或Xen管理程序的架构。这些尝试并不是关于控制成本,更多地是关于利用云计算的弹性本质,以及这些开源替代品正在构建。