软件倒逼硬件!当年没人相信x86能虚拟化,直到这家公司出现……
原创 Ernie Smith 2026-10-26 07:15 广东

x86 虚拟化如何从缺陷变成基石?
虚拟机是云计算的基石。两位科学家证明两个定理有误之后,它才真正找到了现代立足点。这中间发生了什么?
在现代计算机领域,虚拟化大概是最容易被当成理所当然的技术。包括云基础设施在内的很多核心场景,都离不开它。要知道,21 世纪初,虚拟机才在 x86 站稳脚跟。如今遍布各地的海量服务器集群,正是这条技术脉络顺理成章的产物。
但虚拟化的普及,绝非历史必然。当年英特尔几乎放弃了服务器虚拟化的路线,甚至打算推出新一代硬件,另辟赛道。然而一家初创公司横空破局:它不仅证实虚拟化可以落地,更催生了前所未有的云经济。
这在 IT 史上相当罕见:硬件,被迫追赶软件。
一、为什么当年没人相信 x86 能实现虚拟化?
20 世纪 70 年代的大型机时代,一个新概念走进人们的视野——Hypervisor,顾名思义,即“监管所有管理程序得程序”,它预示着软硬件深度协同的未来。
这个由 IBM 创造的名词,也叫虚拟机监视器(VMM,Virtual Machine Monitor)。它的核心构想是,把一台物理计算机切分成若干逻辑分区,各个分区在理论上彼此完全隔离。
这套机制具体是如何运作的?IBM 研究员 Gary Allred 在论文中给出了解释:
Hypervisor 的原理其实相对简单。它由两部分构成:一是仿真程序的附加模块,二是对带有兼容特性的 Model 65 大型机所做的硬件改动。这项硬件改动把 Model 65 划分为两个分区,每个分区的寻址空间都从 0 开始到最大地址 n。程序附加模块会用自身内容覆盖系统的程序状态字(PSW),并作为整个系统的中断处理器。当判断出是哪个分区触发了中断事件后,系统就把控制权移交到对应分区。Hypervisor 要求每个分区都配备独立专用 I/O 设备。正因如此,整套 I/O 配置通常十分庞大,成本高到绝大多数用户都负担不起。
所以它和现代虚拟机并不一样:这套方案实际上是同时运行两台完全相互隔离的计算机,仿佛二者之间毫无关联。
在大型机时代,这种设计有着现实意义,要知道,当时一台小型计算机的体积差不多就和自动售货机一般大小。
但众所周知,此后计算机的体积便不断缩小。先是比面包盒要大,接着缩小到面包盒级别,再后来差不多只有一条面包那么大;如今手机的大小,几乎就等同于一块面包。
有那么一段时期,计算机体积越小,计算能力往往也越弱,哪怕处理器主频越做越高。当然,性能受限并不仅仅是体积这一个因素造成的。

它看着像是一块方形晶圆,实际上却是由一圈圈环带构成。(图片来源:flickr,编号 508518299)
英特尔与 AMD 的 x86 处理器拥有庞大的指令集,让芯片硬件变得非常复杂。这恰恰给 Gerald Popek 与 Robert Goldberg 提出的虚拟化定理带来了难题。
"对于任何传统的第三代计算机,如果该计算机的敏感指令集是特权指令集的子集,则可以构建虚拟机监视器。"
——这是加州大学洛杉矶分校(UCLA)的 Gerald Popek 与霍尼韦尔公司的 Robert Goldberg 提出的三条定理中的第一条,用于判断在特定系统架构上能否实现虚拟化。他们发表于 1974 年的论文,在此后几十年间堪称虚拟化领域的 "摩尔定律",成为衡量虚拟化可行性的分水岭。而 x86 系列处理器因其 CISC 架构特性,违背了这些定理中的许多基本原则。
英特尔为 x86 芯片设计了多层特权分级机制(保护环),初衷是缩减内核的攻击面,提升系统安全性。这套机制对筑牢安全防线十分有利,但如果你想在 Windows 2000 内部再跑一份 Linux,这套架构就显得捉襟见肘。这套权限体系限制了软件能够调用的指令集合,所以它无法像 IBM 在 System/360 大型机上那样,实现原生的虚拟化。
当然,在 Windows 2000 上模拟一台 Linux 机器在技术上并非完全做不到,但会产生巨大性能开销。相当于要用软件完整复现一套硬件,而这套硬件其实物理上就摆在眼前。这么做非常不合理。
这个问题并非英特尔一家独有,当年几乎所有主流处理器平台都存在同类缺陷,属于行业普遍困境。但由于 x86 的市场占有率极高,英特尔成了这一矛盾最典型的代表。
x86 指令集有十余处地方违背了 Popek 和 Goldberg 提出的虚拟化定理的前提条件,这就意味着,在当时现有的硬件体系之下,搭建高性能虚拟机几乎行不通。
二、两条被忽视的技术暗线

苹果工程师 Eric Traut 在 90 年代中期提交的动态重编译专利附图, 解决了老旧 Mac 应用在 PowerPC 上运行性能糟糕的问题
不过,当时已经出现一些新思路,暗示事情本不必落到这般境地。在 Mac 平台上,苹果完成过堪称魔术级别的架构迁移:从 68000 向 PowerPC 过渡时,它打造了一套转换层,几乎可以让旧代码近乎原生地运行。苹果最初采用的是模拟方案,后来转而使用一种叫做动态重编译(dynamic recompilation)的技术。
专利 US5790825A 由苹果员工 Eric Traut 开发,此人后来参与开发了大名鼎鼎的 PlayStation 模拟器 Connectix Virtual Game Station。
换句话说,该系统重新编程了旧代码,使其能够在MacOS上实时运行。这项技术非常出色,后续基于 PowerPC 的经典 MacOS 版本中,大部分软件仍然是模拟的68k代码。开发者不用更新程序,软件就可以直接正常工作。
与此同时,Java 编程语言普及了即时编译的概念:程序可以实时在目标机器上执行,不再被绑定到特定硬件架构。也正因如此,90 年代中期计算机杂志上大量关于虚拟机的讨论,都围绕这一技术展开。
JIT 堪称现代计算领域最重要的技术之一:浏览器用它加速 JavaScript 执行,现代虚拟化也建立在它的基础之上。JIT 已经证明,对应用程序做实时指令转译是可行的。但如果要转译完整操作系统呢?x86 架构的先天缺陷让这类方案举步维艰。
于是,那个源自大型机时代、一度被人淡忘的技术——Hypervisor,依旧没能重返主流。Popek‑Goldberg theorems 定理带来的桎梏,依旧困扰着现代计算机。不过,一台顶级 SGI Origin 2000 服务器上开展的计算机科学实验,即将彻底改写这一切。
三、从 SGI 到市场:Disco 实验如何变成 VMware

一台 SGI Origin 2000 服务器,VMware 创始人当年在斯坦福大学使用的正是同型号设备
如果说 Backrub(Google 的前身)是 90 年代中期斯坦福大学最重要的科研实验,那 Disco 项目,也就是 VMware 的技术源头,绝对可以排到第二位。
该项目由博士生 Edouard Bugnion、Scott Devine,以及导师 Mendel Rosenblum 主导开发,目标是破解种种阻碍虚拟机发挥全部能力的技术难题。在 1997 年发表的研究论文《Disco:在可扩展多处理器上运行通用操作系统》中,研究团队探讨了虚拟机与宿主机之间的资源共享机制。论文写道:
Disco 具备多项特性,能够缓解甚至消除传统虚拟机监视器存在的各类问题。具体来说,它大幅降低虚拟机带来的性能开销,提升同一台主机上多个虚拟机之间的资源共享能力。
Disco 支持不同虚拟机内运行的操作系统,通过 NFS、TCP/IP 这类标准分布式系统协议实现互联。同时它还能在虚拟机之间高效共享内存与磁盘资源。依托这套共享机制,Disco 可以维护一个全局缓冲区缓存,所有虚拟机都能透明共用这份缓存,即便虚拟机之间是通过标准分布式协议通信。
这和 System/360 时代需要为每一台独立虚拟机配备专属硬件的模式相比,无疑是巨大的转变。计算机行业从远程桌面这类技术实践,以及 SoftWindows、VirtualPC 这类模拟器产品中获得启发:我们完全可以通过软件虚拟化运行环境,实现硬件组件的复用。

论文的 HTML 版本,由互联网档案馆(Internet Archive)永久存档
Disco 实验脱胎于 Rosenblum 主导的 SimOS 项目。SimOS 是 Rosenblum 与其他研究人员基于 IRIX 搭建的前期研究项目,目标是完全依靠软件来模拟整套计算环境。
该项目最初是为了帮助斯坦福大学自研一款名为 Flash 的处理器而启动,但后续它成为实现虚拟机、以及一套用来统筹全部资源的极简操作系统层 SlimOS 的关键基础。
为什么选 Silicon Graphics?当时多核处理器还相当罕见,而 SGI Origin 2000 是市场上少数能处理这类任务的系统之一,充足的性能余量让他们可以做更极端的测试。

研究发现,将 hypervisor 与即时编译结合使用,只会带来极小的性能损耗。这是一项重大突破,也可以说是 VMware 整套商业模式的根基
而实验验证了这套模型。综合性能来看,整体开销处于可控范围。这意味着理论上可以借助 hypervisor,把一台物理机器切分成多个独立分区,每个分区各自运行不同的任务。
论文的结尾是这样写的:
当代计算机系统的发展推动了虚拟机监视器的再度兴起。尽管操作系统与应用程序的体量和复杂度持续增长,但机器级接口却一直保持相对简洁。运行在这一层的软件本身并不复杂,同时还能提供必要的兼容性,充分利用已有的大量操作系统与应用程序。我们希望进一步探索虚拟机监视器,以此应对现代计算机系统与日俱增的复杂性。
这篇论文在行业内掀起巨大反响。论文发表还不到一年,Bugnion、Devine 与 Rosenblum 三人就成了 VMware 的联合创始人。Rosenblum 的妻子 Diane Greene,一名曾任职于 SGI 的工程师,成为第四位创始人。
论文发布仅仅两年后,VMware 便迅速崭露头角:经过一整年的秘密研发,基于 Disco 改造、可运行在 Windows 和 Linux 平台上的 VMware Workstation,在 1999 年初一经推出便轰动业界。
《InfoWorld》早期一篇文章还引用过一位 IT 顾问的质疑言论。当时谁也料想不到,这款产品之后会深度重塑他们的工作。
数十年之后,几位研究者发表了一篇后续论文,复盘初代 VMware Workstation 的完整开发历程。这篇文章写于几位创始人离开公司多年之后,文中提到,x86 错综复杂的指令集,再加上五花八门的外设生态,带来了极高的额外开发复杂度。
而各个操作系统本身也带来不少麻烦,他们只能逐个去做适配。Linux 还算好办,Windows 难度很高,OS/2 几乎无从下手。
正如作者所写,IBM 当年和微软竞争的这套系统封闭性太强,根本不具备实现条件:
尽管我们开发的 VMM 并不依赖客户操作系统内部的语义与接口,但必须充分理解客户系统对硬件的配置方式。举个典型例子:我们曾考虑支持 IBM 的老旧操作系统 OS/2。OS/2 大量用到 x86 架构里的多项特性,这些特性在其他客户操作系统中从未出现。而且它使用这些特性的方式,让虚拟化实现变得格外困难。尽管我们投入大量时间做针对 OS/2 的专项优化,最后还是放弃了这项工作。
开发各类硬件驱动、处理各种边界场景,甚至还要造出一些只存在于软件中的虚拟硬件,这些工作耗费了大量时间,但回报十分丰厚。这家自筹资金的公司,短短几个月营收就达到了 500 万美元。
以当时的标准来看,这款软件很快走向大众市场。据报道,时任公司 CEO 的 Greene 提到,公司甚至收到过泰国佛教僧侣发来的邮件,僧侣们内部产生分歧:电脑上到底该装 Linux,还是 Windows。而 VMware 刚好帮他们两全其美。
“1998 年我们起草 VMware 商业计划书的时候,万万没有想到泰国的佛教僧侣会成为我们的客户群体。”在1999年《今日美国》的一篇人物报道中,Greene表示,“但能做到真正全球化,确实很有意思。”
当然,僧侣只是一个缩影。如果你了解如今的 VMware 就会知道,Workstation 仅仅是这家庞大企业很小的一块业务。虚拟机拥有成千上万种实用场景,可以用于安全隔离与系统维护。举个例子:想给数千名员工的手机部署企业内部应用,同时又要和手机上其他数据隔离开?把应用跑在虚拟机里就可以。

VMware Workstation 运行的是基于 BeOS 的 Haiku 操作系统,这算是典型的极客虚拟机使用场景
四、当硬件开始追赶软件
不到十年时间,Greene 与 Rosenblum 带领公司完成上市,然后以超过6亿美元的价格出售。又过了二十年,历经多轮并购与业务分拆,这笔业务最终的交易估值达到上市时的百倍。
而这一切发生的时候,现代虚拟机那些人性化的体验特性还尚未出现,VMware 也几乎没有像样的竞争对手。直到 2000 年代中期,英特尔与 AMD 才在芯片中加入原生硬件虚拟化支持。与此同时,微软在 2003 年收购了虚拟化领域当时唯一真正的竞争对手 Connectix。
Mac 平台上广受欢迎的虚拟机软件 Parallels 直到 2006 年才问世;而 Xen、QEMU、VirtualBox、Proxmox 这些知名开源虚拟化项目,也都是 2000 年代中期才逐渐走入大众视野。
换句话说,VMware 凭借数年的先发优势,主导了虚拟化市场。这也在很大程度上解释了,为什么这家企业能长期在企业级市场占据举足轻重的地位。
2006 年,亚马逊正式发布了 Elastic Compute Cloud(EC2)平台,它堪称现代云计算最核心的基石之一。虽然 EC2 并没有采用 VMware 的技术,但它却印证了 VMware 最终重塑整个计算行业的发展方向。EC2 最初选用的是 Xen hypervisor,而 Xen 能够释放出强大能力,离不开 CPU 层面的硬件虚拟化支持。很大程度上,正是受到 VMware 的推动,英特尔和 AMD 才在自家处理器中加入了这套虚拟化硬件特性。
下面这个观点或许会有些争议:VMware 的成功,也是 x86 架构能够延续生命力的重要因素。当年英特尔花费数十亿美元试图推出全新架构的新一代处理器安腾,想把它推成行业主流。就像电影《Mean Girls》里硬要把新词 “fetch” 炒火的桥段,到头来,只有惠普还在硬撑这套架构。
毕竟,VMware 用 hypervisor 的创新实践证明:即便 x86 在虚拟化方面先天缺陷重重,也可以通过技术手段绕开这些痛点,而且还不用破坏英特尔原有的安全模型。既然现有的 x86 架构潜力都能被挖掘到这种程度,那又何必迁移到新架构?
VMware 这项重大创新虽然诞生于一台 SGI 机器之上,但它实实在在为摩尔定律续上了生命力。
五、VMware 的黄昏与虚拟化的永生
VMware 作为亲手开辟了一整个产品赛道的企业级巨头,虽然在现代科技领域拥有举足轻重的地位,但如今早已不复往日荣光。过去这两年,它被博通收购。博通大刀阔斧,重塑商业模式,追求更高盈利,彻底抛弃了一次性永久授权的模式。
正如 CIO Dive 在 2024 年所言:
这场变革在 2024 年掀起企业 IT 界的大地震。诚然,生成式 AI 也带来不小的行业冲击,但它尚未实现大规模落地。可 VMware 的收购,以及随之而来的授权规则变动,却动摇了企业的核心基础设施,扰乱关键业务流程,还大幅推高了 IT 开支。
不久前,它旗下 ESXi 软件还爆出了一起备受关注的零日安全漏洞事件。
VMware 的创始团队早在近二十年前就已离开。2016 年戴尔收购这家公司的时候,主力产品 Workstation 的整个开发团队遭到解散。说实话,这件事也侧面说明:Workstation 并不是真正的利润来源。
如今,实现虚拟化、做资源解耦的选择已经非常多。QEMU 这类工具构建起庞大的技术生态;Docker、Podman 等软件,更是把虚拟化能力融入大量日常开发工作流。
近期,博通开始免费提供 VMware Workstation。这款软件正是 VMware 的开山之作。博通此前的政策一直摇摆不定:此前它已经取消过这款软件的免费版本。但在现代硬件上,实现操作系统虚拟化的方案已经有几十种,Workstation 以及 Mac 端对应产品 Fusion,早已不再具备开创性。
没错,VMware 开创了先河,无数厂商都在它的技术地基之上继续建设。我们今天的数字经济,正是建立在层层嵌套的虚拟机之上。博通完全可以把这款标志性工具变成一款亏本引流产品:就是它,曾经既可以让僧侣共用一台电脑,又能帮助财富五百强企业完成老旧硬件体系的现代化改造。
VMware 能被以超过 600 亿美元的价格收购,自有其道理。这恰恰印证了它最初构想的内在价值:与其部署一大堆只能跑少量业务的计算机,不如用少量机器同时运行大量虚拟实例,这样会更有利。
不过,当初整个计算机行业并没有预料到:虚拟化技术,反倒进一步推高了对计算机硬件的整体需求。
>>>>
番外:你可能不知道的五个虚拟化冷知识

得益于 Zork 内置的虚拟机,这款游戏在 iPhone 和 Kaypro II 上都可以正常游玩
1)Zork 能在命令行时代走红,虚拟化功不可没。Zork 系列的开发方 Infocom 做了一款轻量虚拟机 Z-machine,大幅降低这款热门游戏向不同设备移植的难度。当年各类计算机软硬件互不兼容,这套方案是非常关键的产品策略:团队不用针对每一台新机器重写完整游戏,只需要为不同平台单独开发对应的解释器。
2)有一款知名游戏模拟器,本质其实是虚拟机。ScummVM 可以运行 LucasArts 使用 SCUMM 引擎开发的游戏,底层思路和 Z-machine 很像,只是组件更新,并且用现代语言重构,用来解析这些老游戏。尽管名字里自带 VM,很多人依旧误以为它只是硬件模拟器。
3)早在 386 处理器时代,就已经出现硬件虚拟化雏形。虽然和我们今天使用的硬件虚拟化不是一回事,但从 386 开始,x86 芯片就内置了虚拟 8086 模式(Virtual-8086 mode)。借助这个特殊模式,386 处理器可以运行老旧的 8086 软件。Desqview、Windows 3.1 这类软件正是利用这个特性,为用户提供多任务能力。x64 架构取消了这个模式,直到 Intel 和 AMD 推出各自的硬件虚拟化扩展,同类能力才重新回归。
4)虚拟机可以直接调用物理 GPU。Linux 的 KVM 技术,脱胎于 70 年代 IBM System/360 的虚拟化思路,并且做了深度升级,支持虚拟机直接访问物理硬件,高端显卡也能直接透传给虚拟机。
5)虚拟化是老旧嵌入式系统现代化改造的核心手段。像飞机这类大型装备,不可能仅仅因为配套软件老旧就直接退役。更可行的办法是:换掉维修困难的老旧硬件,改用更现代、模块化的新硬件,再在新平台上通过虚拟化继续运行原有软件。航空航天设备以及很多难以替换的工业设备,都在用这种方案。
作者丨Ernie Smith 编译丨dbaplus社群
来源丨网址:https://tedium.co/2026/01/12/vmware-virtualization-history/
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

本文转载自微信公众号「dbaplus社群」,查看原文。版权归原作者所有,如有侵权请联系删除。