x86虚拟化

✍ dations ◷ 2025-11-22 15:00:59 #虚拟化软件,X86架构

虚拟化技术是指在x86的系统中,一个或以上的客操作系统(Guest Operating System,简称:Guest OS)在一个主操作系统(Host Operating System,简称:Host OS)下运行的一种技术。这种技术只要求对客操作系统有很少的修改或甚至根本没有修改。x86处理器架构起先并不满足波佩克与戈德堡虚拟化需求(Popek and Goldberg virtualization requirements),这使得在x86处理器下对普通虚拟机的操作变得十分复杂。在2005年,英特尔与AMD分别在它们的x86架构上解决了这个问题。

1999年2月8日,VMware展示了它的第一个x86虚拟化产品“VMware虚拟平台”(VMware Virtual Platform),此产品创建在创建者早期在斯坦福大学的研究基础之上。VMware在1998年10月提交了对这一技术的专利申请,并于2002年5月28日被授予美国专利第6,397,242号。VMware与类似的x86虚拟化软件必须使用十分复杂的技术来获得并虚拟运行一些指令,这些技术被IBM的IBM_System/370以及摩托罗拉的MC68020等原生可虚拟化的架构远远超出。

Kevin Lawton启动了Plex86项目(原来叫作“freemware”)来创建应用于x86虚拟化的自由软件。此项目已经改变了原有的目的,现在只支持Linux作为客操作系统;然而在这之前,Lawton发表了一篇论文《使用虚拟化技术在一台IA-32 PC上同时运行多个操作系统》,作出了对x86架构虚拟化困难的分析以及提出了一些解决这些困难的技术。

2003年,应用于Linux平台的x86虚拟化方案Xen诞生。2005年,随着Intel推出支持x86虚拟化技术的CPU,Xen亦加入全虚拟化模式。Xen的全虚拟化模式允许在虚拟机中运行Windows等非Linux系统。

微软也提供了基于Windows的x86虚拟化产品:Microsoft Virtual PC与Microsoft Virtual Server,这两个产品都基于微软收购Connectix后获得的技术。后来,微软的Microsoft Virtual PC更名为Hyper-V并成为Windows的一个组件,亦曾推出Windows XP Mode以尽可能的解决Windows 7操作系统不支持某些老应用程序的问题。

开源的替代品也包括KVM、QEMU与VirtualBox。

英特尔与AMD独立地开发出了x86架构的虚拟化扩展。它们并不直接兼容,但是能够做到大部分的功能都相同。这两个扩展都允许在虚拟的性能不出现明显下降时运行一个虚拟机查看器,以运行未经过修改的客操作系统。

英特尔虚拟化技术(Intel Virtualization Technology)是由英特尔开发的一种虚拟化技术,利用IVT可以对在系统上的操作系统,通过虚拟机查看器(VMM,Virtual Machine Monitor)来虚拟一套硬件设备,以供虚拟机操作系统使用。

这些技术以往在VMware与Virtual PC上都通过软件实现,而通过IVT的硬件支持可以加速此类软件的进行。

英特尔在32位与64位x86架构下的虚拟化扩展被命名为“IVT”,有时候也用它的开发代号“Vanderpool”来称呼它。32位/64位的IVT扩展叫作“VT-x”。英特尔同时为用于IA-64(安腾2)处理器的IVT发布了规格说明,此项IVT被称为“VT-i”;在这之前,IA-64的虚拟化技术的开发代号是“Silverdale”。

英特尔虚拟化技术是在2005年春季英特尔信息技术峰会时由官方发布的。部分型号的Pentium 4/奔腾D/Core 2/奔腾Dual-Core/Celeron/至强可用VT-x。酷睿双核 i3/i5/i7/i9可用SLAT。

VT-x不仅需要处理器的支持,也需要芯片组、BIOS的支持。

在Linux中,支持虚拟化的英特尔处理器会在一个特别文件中有一个名为“vmx”的标志。

Intel还推出了“直接输入/输出虚拟化”(Virtualization for Directed I/O,VT-d)技术。这项技术提供了一种配置传送给独立虚拟机的中断与配置I/O内存单元的方式,以防止虚拟机使用DMA来终止与真实硬件的隔离。不过值得注意的是,该功能在Core系列以及至强 E3、至强 D系列中并不完整。

部分Intel网卡支持VT-c技术。

AMD虚拟化(AMD Virtualization),缩写为“AMD-V”,是AMD为64位的x86架构提供的虚拟化扩展的名称,但有时仍然会用“Pacifica”(AMD开发这项扩展时的内部项目代码)来指代它。

AMD-V在AMD的步进为“F”与“G”的速龙64以及速龙64 X2处理器,使用Socket S1的炫龙64处理器、炫龙64 X2处理器、弈龙处理器,以及全部更新的处理器上可用。现在的AMD APU、AMD FX、AMD 速龙、AMD Ryzen、AMD Epyc等AMD处理器绝大多数都支持AMD SVM技术。

在Linux中,支持虚拟化的AMD处理器会在一个特别文件中有一个名为“svm”的标志。

AMD为一项名为AMD-V的IO内存管理单元(IOMMU)发布过一份技术规范。这份技术规范提供了一种配置传送给独立虚拟机的中断与配置I/O内存单元的方式,以防止虚拟机使用DMA来终止与真实硬件的隔离。IOMMU在高级的操作系统(如缺席虚拟化,absent virtualization)与AMD的Torrenza架构中起到了重要的作用。

AMD亦有I/O虚拟化的IOMMU技术。

起初Windows Vista的家庭普通版与家庭高级版在最终用户许可协议中声明,该系统不能够在一台虚拟机中安装或运行,尽管在技术上并没有障碍使得用户无法这样做。这一条款在2008年1月时被修改了。

相关

  • 经济全球化经济全球化是商品、技术、信息、服务、资金、人员等生产要素的跨国、跨地区的流动。这种流动把全世界连接成为一个统一的大市场,各国在这一大市场中发挥自己的优势,从而实现资
  • 新安街道新安街道是中国广东省深圳市宝安区下辖的一个街道,于1994年成立,名称取自清朝时期深圳地区的行政区名——新安县,原本由三个小村构成,现今则是宝安区委和宝安区政府的驻地,是宝安
  • 金塔纳罗奥州金塔纳罗奥州(西班牙语:Quintana Roo)是墨西哥东部的一个州,位于尤卡坦半岛东部,东临墨西哥湾。历史上是尤卡坦州的一部分,1974年建州。著名的渡假胜地坎昆位于本州。
  • 阿里·阿拉塔斯阿里·阿拉塔斯(印尼语:Ali Alatas,1932年11月4日-2008年12月11日),印度尼西亚外交官。曾两度担任印度尼西亚驻联合国大使。1988年至1999年期间任印尼外交部长,为该国迄今为止任职
  • 鲍比·菲舍尔鲍比·菲舍尔(英语:Bobby Fischer,全名Robert James "Bobby" Fischer,1943年3月9日-2008年1月17日),亦译“鲍比·费雪”,前世界国际象棋冠军,菲舍尔任意制象棋的发明人。1972年在冰岛
  • 百乘王朝百乘王朝(泰卢固语: శాతవాహన సామ్రాజ్యము,, 摩揭陀俗语: सालवाहण, Sālavāhaṇa,英语:Śātavāhana Empire),又译为等乘王朝、娑多婆诃王朝、案达罗王
  • 鲍格洛蒂莫特乌斯·波科拉(捷克语:Timoteus Pokora,1928年6月26日-1985年7月11日),中文名鲍格洛,是捷克汉学家,知名于对中国汉朝历史与文学的研究。曾将《论衡》选译为捷克文。1928年6月26
  • 冯光遹冯光遹(1837年-1901年),字仲梓,江苏阳湖县(今属常州市)人,清朝政治人物。赵元任外祖父。同治十三年(1874年)甲戌科进士。选庶吉士,散馆授翰林院编修。光绪八年(1882年)出督福建学政。光绪
  • 索尼 ALPHA SLT-A55索尼 α55是Sony在2010年8月发表的新一代可换镜头数码相机,延续Sony α规格,但因光路设计与传统的数码单反相机不同,因此使用了全新的SLT(Single lens translucent)的产品代号。
  • 卡梅洛·利松·托洛萨纳卡梅洛·利松·托洛萨纳(西班牙语:Carmelo Lisón Tolosana,1929年12月22日-2020年3月17日),西班牙文化人类学家,马德里康普顿斯大学名誉教授。1929年生于萨拉戈萨省阿尔芬登镇。19