Eileen'blog

第十一章 为什么会形成三足鼎立的格局?

2026-05-10T09:15:00 文章

我们花了整整十章讲历史。从算盘到ENIAC,从冯·诺依曼架构到操作系统诞生,从UNIX到个人计算机革命,从GUI战争到Linux、Windows、macOS三分天下。

现在该回答那个终极问题了:为什么恰好是这三个系统活了下来?为什么不是一家通吃?

这一章我们不只讲“发生了什么”,而是分析“为什么发生”。三个维度:历史机缘(巧合与必然)、技术路径依赖(早期选择如何锁死后来的路)、商业策略(市场与生态的博弈)。最后,我们会做一次“反事实推演”——如果某个关键节点变了,今天的操作系统世界会是什么样子?


一、历史机缘:那些“如果……会怎样”的岔路口

1. 如果IBM没有选择微软的MS-DOS?

1980年,IBM寻找PC操作系统。如果基尔代尔签了那份保密协议,如果IBM选择了CP/M,那么MS-DOS可能只是一个山寨品,微软不会拿到操作系统授权,也就没有后来的Windows帝国。但别忘了,即使CP/M赢了,它也会面临同样的兼容机挑战——CP/M-86定价过高,硬件厂商可能会自己写一个便宜的操作系统。也许,最终胜出的会是DR-DOS或其他。但微软的崛起肯定会被推迟,甚至不会发生。

2. 如果乔布斯没有离开苹果?

1985年乔布斯被赶出苹果。如果他留下来,他会主导Macintosh的后续发展。但以他的控制狂性格,Mac可能更封闭、更贵、更小众,不一定能活过1990年代。实际上,乔布斯离开后的苹果虽然混乱,但Macintosh仍在创新(PowerPC、System 7)。真正导致苹果濒死的是产品线混乱和操作系统老化,这恰好是因为乔布斯不在,没人有魄力砍产品和换内核。如果他留下,Copland可能不会失败?不一定,乔布斯自己对技术路线也很固执。

3. 如果GNU Hurd在1991年就可用?

GNU Hurd如果早几年完成,Linux可能不会诞生,或者只是一个小众玩具。但Hurd走的是微内核路线,性能在当时硬件上会很差。即使1991年可用,也可能被用户骂“太慢”,然后有人写一个单内核版本,还是类似Linux的东西。所以Linux的出现是必然,但Hurd的命运提醒我们:完美的设计不如一个能跑的实现。

这些“如果”不是证明历史是随机的,而是说明:在每一个岔路口,都有多种可能性,但最终被选择的往往是那个在约束条件下“最不坏”的方案。CP/M输给了MS-DOS,不是因为技术差,而是因为IBM和微软的组合在商业上更优。Linux赢了Hurd,不是因为哲学正确,而是因为代码先跑起来了。


二、技术路径依赖:早期选择如何锁死后来

1. 二进制 vs 三进制:为什么不是三进制计算机?

第一章提到的苏联三进制计算机Setun,理论上信息密度更高,但需要三稳态物理器件。而晶体管天然是二态的(开/关),二进制电路已经形成了巨大的工业基础。一旦二进制产业链建立,三进制就永远失去了机会。这就是路径依赖:最初的选择可能不是理论最优,但一旦产业规模形成,后续的“优化”无法逆转。

2. 冯·诺依曼架构 vs 哈佛架构:为什么不是哈佛?

第二章讲过,哈佛架构性能更好(指令和数据总线分离),但冯·诺依曼架构更简单、更便宜、“程序即数据”更灵活。1950年代的工程师选择了够用的冯·诺依曼,然后编译器、操作系统、应用程序都建在这个模型上。今天,即使哈佛架构的变种(如缓存分离)已经在内部使用,但整体模型仍然是冯·诺依曼——因为改变的成本太高了。

3. C语言与UNIX的可移植性:为什么UNIX赢了?

第四章讲过,UNIX用C语言写,可以移植到任何有C编译器的CPU。这使UNIX在1970年代末跑遍了几乎所有机器(DEC、IBM、HP、Motorola)。而其他操作系统(如VMS、OS/400)绑死特定硬件。当个人计算机浪潮来临时,UNIX的继承者Linux和BSD自然可以跑在便宜的x86上。可移植性是一个极小的早期选择,却决定了后来的生态格局。

4. Win32 API的锁链:为什么Windows无法彻底重写?

Windows NT内核可以重写,但Win32 API必须永远兼容。因为数百万个Windows应用依赖它。任何一个不兼容的API改动,都会让企业客户的财务软件无法运行。这就是为什么Windows 11仍然包含大量16位兼容代码和奇怪的“bug仿真”。这种向后兼容的锁链是Windows的护城河,也是它的技术债。竞争对手想要打破这个锁链,就必须同时提供完美的API兼容层,几乎不可能。

5. GPL vs BSD许可证:为什么Linux没有分裂?

Linux选择了GPL v2,任何对内核的修改都必须开源。这保证了没有公司能私有化Linux。而BSD许可证允许闭源分支,所以出现了多个商业Unix(SunOS、HP-UX、AIX),但社区无法统一。GPL的“传染性”在开源运动早期是缺点(很多公司怕沾上GPL),但长期看却保护了Linux的统一。如果没有GPL,Linux可能早就分裂成几十个不兼容的商业版本,就像后来的BSD那样。

技术路径依赖告诉我们:早期看似微小的决定(冯·诺依曼、C语言、Win32、GPL),会因为生态的规模效应而被无限放大,最终锁死整个行业的走向。


三、商业策略:市场与生态的博弈

1. 微软:拥抱盗版,扼杀对手

微软在1980年代对盗版睁一只眼闭一只眼。尤其在中国、东欧等新兴市场,盗版Windows几乎成了“自然垄断”。用户用惯了Windows,以后有钱了买正版还是Windows;企业开发软件,看市场占有率90%,自然先写Windows版。盗版短期内让微软少赚了钱,长期却锁死了生态。

同时,微软利用OEM授权协议和捆绑策略打压竞争者。IE免费捆绑干掉网景,Media Player捆绑干掉RealPlayer,Office捆绑干掉Lotus和WordPerfect。这些手段很多是反竞争的,但有效。

2. 苹果:封闭但精品

苹果走了完全相反的路:硬件不授权,系统不预装。它放弃低端市场,只做高端高利润。结果是在个人电脑市场份额从16%跌到3%,但靠设计、体验和生态粘性(iOS反哺Mac)活了下来。当微软因创新放缓而失去用户信任时,苹果靠iPhone的声望重新拉高了Mac的销量。

3. Linux:免费但碎片化

Linux没有商业模式,靠社区和企业赞助。它在服务器端一骑绝尘,因为稳定、免费、无供应商锁定。但在桌面端,碎片化成为灾难——应用开发者不知道该适配GNOME还是KDE,该用RPM还是DEB。加上缺少商业软件和游戏,始终无法撼动Windows。

这些商业策略不是孤立的。微软的垄断、苹果的封闭、Linux的自由,互相制衡,形成了今天的三足鼎立。


四、反事实推演:如果某个因素改变了,格局会怎样?

我们来做一次思想实验。

场景一:如果IBM当年没有开放PC架构,而是像苹果一样封闭?

那么IBM PC不会产生兼容机,MS-DOS只能跑在IBM硬件上,无法成为产业标准。也许苹果会成为个人计算机之王(Apple II和Macintosh没有对手),或者是另一个封闭系统(如Amiga)崛起。微软可能只是一个小型软件公司,没有操作系统垄断,Windows不会存在。今天的桌面市场可能是Mac + 少数Unix工作站。

场景二:如果乔布斯没有离开苹果,Copland成功了?

Copland如果成功(1988-1992年),苹果会在1990年代中期就拥有现代操作系统(抢占式多任务、内存保护)。Mac的市场份额可能维持在10-15%,不会跌到3%。Windows 95虽然强大,但苹果有足够的竞争力,也许网络效应不会一边倒。那么Windows的市场份额可能只有60-70%,macOS 20-30%,Linux 5-10%,格局更均衡。

场景三:如果GNU Hurd在1991年就可用,性能不差?

那么Linux可能不会诞生。Hurd成为开源的Unix内核,可能吸引所有Linux早期贡献者。但Hurd是微内核,性能在单CPU机器上不会有优势。但开源社区会围绕Hurd开发发行版。也许今天的安卓会基于Hurd内核。但微内核的复杂性可能导致开发缓慢,开源操作系统可能比今天落后。

场景四:如果微软在2000年被拆分?

2000年法官判决拆分微软(操作系统一个公司,应用软件另一个公司),但后来上诉驳回。如果拆分真的执行,Windows和Office会是两家公司。那么Office可能被移植到Mac和Linux,抢占市场,而Windows失去Office的独家优势。Linux桌面可能会得到Office支持,份额大幅增长。今天的格局可能是:Windows 50%,macOS 20%,Linux 20%,其他10%。

场景五:如果没有智能手机革命?

如果智能手机没有出现(或者一直停留在功能机),那么个人计算机仍然是主要计算设备。Windows的桌面垄断会继续巩固,macOS和Linux只是小众。苹果可能因缺乏新增长点而继续低迷。谷歌会是一家搜索引擎公司,不是安卓巨头。微软可能会更加傲慢,垄断行为不会被挑战。今天的操作系统市场会是Windows占90%以上,其他系统边缘化。

这些反事实推演告诉我们: “三足鼎立”不是必然的,而是在特定的历史、技术、商业条件下形成的一种不稳定平衡。 任何一个关键事件的变化,都可能导向完全不同的格局。


五、总结:为什么是三足鼎立?

我们可以从三个层面回答:

历史层面:偶然性(IBM选择MS-DOS、乔布斯离开苹果、GNU Hurd迟到)与必然性(微处理器导致个人计算机普及、互联网催生开源运动)交织在一起。没有哪一方是绝对注定的。

技术层面:路径依赖锁死了进化方向。Win32 API、GPL许可证、Darwin内核……早期决定被生态放大,后来者很难逆转。

商业层面:三种商业模式(微软的垄断+授权、苹果的封闭+高利润、Linux的免费+社区)各有优劣,分别占据了不同的市场缝隙。它们之间没有直接竞争,而是错位生存:Windows占个人和企业桌面,macOS占高端和创意,Linux占服务器和开发者。

所以,不是“一个系统打败了另外两个”,而是三个系统在不同的战场上各自赢了

这也回答了系列开头的那个问题:为什么计算机领域会发展成今天这个样子?

答案:因为一群工程师、商人和用户,在几十年的时间里,不断地在“解决当下最痛的问题”,然后这些问题又被新的问题取代。每解决一个问题,就固定一些选择,放弃一些可能性。最终形成的格局,不是最优解,而是“最不坏的解”。


下一章预告

第十二章是系列的最后一章(不包括番外)。我们会展望未来十年:操作系统的演变方向(从“管理硬件”到“管理服务”),AI会如何改变操作系统(AI作为内核的一部分?),以及量子计算会不会颠覆这一切。

(第十一章完)