第八章 Windows帝国的建立
1995年8月24日,微软公司发布了Windows 95。全世界的电脑商店门口都排起了长队。有人甚至搭着帐篷等了两天。这不是新一代的游戏机,也不是新款手机。这只是一个操作系统。
一个操作系统发布,为什么能让普通人这么激动呢?
因为在那之前,用电脑是一件很麻烦的事。你开机后,看到的是一片黑底白字的命令行。你得先敲一个win命令,才能进入Windows 3.1的图形界面。另外,Windows 3.1的底层还是MS-DOS。文件名只能写成8.3格式,也就是文件名最多8个字符,再加上3个字符的扩展名。内存管理也经常出问题。
Windows 95就不一样了。它开机就直接进入图形界面。它支持长文件名。它还是真正的32位抢占式多任务系统。更重要的是,它带来了开始菜单、任务栏和即插即用。这些概念后来定义了二十多年的PC交互标准。开始菜单让你不用记住程序的安装路径。你点一下“开始”,所有程序就都列在那里了。任务栏让你一眼就能看到哪些窗口是打开的。即插即用让你插上一块声卡后,系统会自动去找驱动程序。
但Windows 95只是一个开头。微软真正的王牌,是两条腿走路。一条腿是面向大众的Windows 9x系列,包括95、98和Me。另一条腿是面向企业的Windows NT,包括NT 3.1、3.5和4.0。最后,这两条线在Windows 2000和XP时代合并成了统一的内核。这个内核统治了桌面电脑将近二十年。
这一章,我们先补充微软的起家历史。然后讲Windows 95和NT的崛起。最后回答一个核心问题:为什么微软能从一家卖BASIC解释器的小公司,变成统治桌面几十年的帝国?
一、微软的起家史:从BASIC到MS-DOS,再到Windows的伏笔
1. 1975年:Altair 8800点燃的火花
1975年1月,《大众电子》杂志的封面登出了Altair 8800电脑。当时,比尔·盖茨正在哈佛大学读书。他和保罗·艾伦意识到了机会。他们知道这台微处理器电脑需要软件。于是,他们主动联系了MITS公司,也就是Altair的制造商。他们谎称自己已经写好了BASIC解释器。实际上,他们还没开始写。
之后,两人连续花了八周时间。他们在哈佛的PDP-10大型机上模拟Altair的环境。他们写出了第一个版本的BASIC,名字叫Micro-Soft BASIC。代码大约有4000行,全部用汇编语言写的。1975年2月,艾伦飞往阿尔伯克基市做演示。BASIC成功在Altair上运行了。MITS当场就签下了授权合同。微软公司也正式成立。当时写作“Micro-Soft”,后来去掉了连字符。
这不是富二代拿钱砸出来的生意。这是一个硬核技术团队做出的第一个产品。
2. 1977-1980年:多个平台,站稳开发者生态
微软的BASIC并不绑定Altair电脑。盖茨的想法是:为所有能跑BASIC的微处理器都做版本,包括8080、Z80和6502。到了1980年,微软BASIC已经成了事实上的标准。几乎所有个人电脑,比如Apple II、Commodore PET和TRS-80,都搭载了微软BASIC,或者兼容它。这是微软第一个生态护城河。开发者学会了微软的BASIC语法,以后自然就更愿意用微软的其他产品。
3. 1980-1981年:IBM PC与MS-DOS的惊天交易
1980年,IBM公司正在秘密开发个人电脑,代号叫“跳棋计划”。他们需要一个操作系统。IBM先找了加里·基尔代尔的公司Digital Research,想用他们的CP/M系统。但谈判没有成功。除了流传很广的保密协议分歧,更关键的原因是授权模式。IBM想按拷贝数来支付版税。基尔代尔坚持要一次性买断。双方谈不拢。IBM就转头去找微软。
盖茨当时面临一个尴尬:微软没有自己的操作系统。但他的反应是:有,我们能提供。他转头向西雅图电脑产品公司(SCP)花5万美元买下了QDOS,全称是Quick and Dirty Operating System。他还雇用了QDOS的作者蒂姆·帕特森。微软把QDOS修改成了MS-DOS,然后授权给IBM。关键条款是:微软保留向其他电脑厂商销售MS-DOS的权利。
1981年8月,IBM PC发布了。它预装了PC-DOS,也就是微软MS-DOS的IBM定制版。因为IBM PC采用了开放架构,所以兼容机厂商像康柏等,很快就冒了出来。这些兼容机厂商都必须向微软购买MS-DOS授权。微软不是抱着IBM的大腿不放,而是借IBM的船,自己当了船长。
4. 1983-1985年:Windows的阴云与Office雏形
1983年,微软宣布要开发Windows。他们的目标是为IBM PC提供图形界面。但Windows 1.0直到1985年才发布,而且受到很多批评。在这期间,微软推出了Word for DOS和Excel for Mac。他们先做Mac版,是因为Mac已经有图形界面了。1987年,Excel for Windows发布,它和Windows 2.0配合得很好。1990年,Microsoft Office把Word、Excel和PowerPoint捆绑在一起发布,形成了一股应用软件的龙卷风。
5. 1990年:Windows 3.0的转折点
到了1990年,硬件已经成熟了,比如386、486处理器和VGA显卡。Windows 3.0在1990年发布,3.1在1992年发布,这两个版本终于获得了成功。微软开始把Windows设成开机后默认启动的环境,不再默认进DOS。这时,微软已经拥有了几样东西:操作系统的授权费(每台PC收几美元)、应用软件的高利润销售(Office利润率很高),还有开发者生态(Windows API成了标准)。帝国的基础已经打好了。
二、为什么Windows 95能成为划时代的产品?
Windows 95的目标是:做一个真正的、独立的32位操作系统,同时还能跑老旧的DOS和Windows 3.1程序。
这件事很难做。纯32位系统性能好、也稳定,但不兼容旧程序。纯DOS兼容模式又用不上386以上的硬件能力。微软的解决办法是:做一个混合内核。
Windows 95的内核保留了一部分16位代码,这主要是为了驱动和旧程序兼容。但核心部分是32位的。它引入了几个关键技术:
- VxD(虚拟设备驱动):它让Windows可以直接访问硬件,不用再经过DOS。
- 即插即用(PnP):系统能自动检测新硬件,分配中断号和I/O地址。以前用户得手动跳线设置IRQ(中断请求)。如果冲突了,还得翻说明书。
- 长文件名:终于可以用“我的简历”这样的名字,而不是“MYRES~1.DOC”了。
- 针对32位程序的抢先式多任务:操作系统强制分配CPU时间片。一个32位程序崩溃了,不会锁死整个系统。不过要说明一下,16位的老程序崩溃时,还是可能拖垮整个系统,因为它们在协同式多任务下共享同一个消息队列。
更重要的是交互上的革命:开始菜单。在那之前,你要启动程序,得在程序管理器里找到程序组,再双击图标。开始菜单把所有程序按树形结构列出来,你点一下就能打开。任务栏让你能在多个窗口之间快速切换。
Windows 95发布后,第一年就卖出了超过4000万份。电脑不再是专业用户的专属工具了。普通人也能上手使用。
但Windows 95的底层仍然是混合的16位和32位,稳定性不如真正的纯32位系统。微软其实同时在开发另一个完全不同的操作系统。那才是真正的企业级武器。
三、NT内核的诞生:微软的企业级野心(含OS/2平行叙事)
1988年,微软请来了戴夫·卡特勒(Dave Cutler)。
卡特勒是谁呢?他是DEC公司(数字设备公司)的传奇系统架构师。他领导开发了VAX/VMS操作系统。VMS是当时最稳定、最安全的大型机操作系统之一。卡特勒在DEC干了十几年,想让DEC开发下一代操作系统内核。但公司不给他资源。微软听说了这个消息,就开出很高的价钱把他挖了过来。
卡特勒带着大约20名DEC工程师加入了微软。他们的任务是:从头写一个企业级的、32位的、可移植的、支持多处理器的、安全性高的操作系统。这个项目后来叫做Windows NT,NT就是New Technology(新技术)的意思。
NT内核的设计思路和Windows 9x完全不同:
- 混合内核架构:虽然它受到了微内核思想的影响,但为了性能,它把图形、文件系统、设备驱动等关键服务都放到了内核态来运行。内核只做最基本的调度和内存管理,其他模块在内核模式下高效协作。
- 可移植性:NT内核大部分用C语言写的,所以可以编译到x86、MIPS、Alpha和PowerPC等多种CPU上。
- 对称多处理(SMP):它支持多个CPU同时工作,这是服务器必须具备的能力。
- 严格的权限分离:每个进程都有自己的地址空间。用户态和内核态严格分开。一个程序崩溃了,不会导致蓝屏。
- 兼容性层:NT提供了多个子系统,包括Win32子系统(跑Windows程序)、POSIX子系统(跑Unix程序)和OS/2 1.x子系统。
1993年,Windows NT 3.1发布了。它的版本号跳到3.1,是为了和Windows 3.1保持一致,让客户觉得它们是同一个系列。NT 3.1稳定得让人放心。但它对硬件要求太高了:需要12MB内存和几十MB硬盘。而当时普通PC只有4MB内存。所以NT起初只跑在高端工作站和服务器上。
微软采取了双线策略:
- Windows 9x(95/98/Me)——给家庭用户。兼容性好,成本低,但不够稳定。
- Windows NT(NT 3.x/4.0/2000)——给企业用户。稳定、安全,但价格贵。
两条线一直并行到2000年。2000年2月,Windows 2000发布,它就是NT 5.0。它的稳定性已经很完美了,而且硬件需求也不再是瓶颈。2001年,Windows XP发布。它基于Windows 2000的内核,但面向所有用户——家庭和企业共用同一个内核。Windows 9x系列就正式退役了。
从XP开始,所有Windows都基于NT内核。你现在用的Windows 10或11,骨子里还是NT。
四、Java和网景:微软最危险的两年
1995年,互联网开始爆炸式地增长。上网需要什么呢?需要浏览器。
当时最火的浏览器叫网景导航者(Netscape Navigator),由网景公司开发。它的市场份额超过了80%。网景的野心很大。他们想把浏览器变成一个“互联网操作系统”,让程序都跑在浏览器里,这样就能绕开Windows。
比尔·盖茨在1995年5月发了一封著名的内部备忘录,标题叫“互联网浪潮”(Internet Tidal Wave)。他在里面写道:互联网是自IBM PC以来最重要的变革。微软必须站上浪潮之巅,否则就会被冲垮。
微软的应对策略分三步:
第一,买。微软去找网景谈:我们投资你们,你们把浏览器捆绑到Windows上。网景拒绝了,因为他们觉得自己可以成为另一个微软。
第二,做。微软从Spyglass公司拿到了浏览器技术的授权。Spyglass Mosaic是最早的图形浏览器之一。微软把它改造成了Internet Explorer(IE)。
第三,捆。这是最致命的一招。1996年,微软宣布:IE将免费提供,并直接集成到Windows中。网景卖浏览器拷贝是要收钱的,大约49美元。IE不要钱。而且用户装Windows的时候,IE已经在里面了,不需要额外下载。
网景的市场份额从80%开始快速下滑。1997年掉到60%,1998年掉到40%。1999年,网景被美国在线(AOL)收购,最后就消失了。
为什么捆绑这么致命呢?
这不是技术上的原因。网景的很多版本在技术上其实领先于IE。但破坏力在于:用户不需要主动去做选择。OEM厂商预装Windows时,IE就已经在桌面上了。普通用户不会专门去下载另一个浏览器,因为“这个已经能用了”。网景就相当于要跟“每台新电脑上默认装好的软件”去竞争,这很不公平。
美国司法部注意到了这件事。1998年,联邦政府起诉微软,指控它非法利用操作系统的垄断地位,去打压浏览器竞争对手。这场官司一直打到2001年,最后双方和解了。微软被迫向第三方开发商开放API,也允许PC厂商预装非微软的软件。但这时候网景已经死了。
后果:和解的办法治标不治本。Windows还是捆绑着IE。后来,Chrome和Firefox靠着质量和插件生态重新夺回了市场,但那已经是十几年后的事了。微软的捆绑策略被认为是反竞争行为。不过,对互联网格局影响最深远的不是IE赢了,而是微软因此放慢了浏览器的创新速度(反正已经赢了)。这导致Web标准的进化速度在IE6垄断时期(2001-2006年)变得很慢,直到Firefox和Chrome打破了这种僵局。
五、为什么微软活下来了?——各时期的亮点与竞争对手
阶段一:1975-1981(起家与生态建设)
- 亮点:为Altair写BASIC,抢占了开发者的注意力;给多种CPU适配BASIC,形成了生态。
- 主要竞争对手:没有(当时个人计算机软件市场几乎是空白的)。但存在潜在威胁:其他厂商的BASIC(比如CBASIC)以及不兼容的硬件平台。
- 获胜原因:技术领先,适配范围广,还是第一个大规模商业化的软件产品。
阶段二:1981-1990(操作系统垄断形成)
- 亮点:MS-DOS借着IBM PC的东风发展起来,同时微软保留了向兼容机销售的权利;开发了Windows(虽然前期失败)和Office。
- 主要竞争对手:
- CP/M(Digital Research公司):技术更好,但基尔代尔错过了和IBM的合作。微软用低价格和兼容机授权打败了它。
- Apple II / Macintosh:苹果还在封闭的硬件上跑自己的系统,不跟IBM PC兼容,所以只能在高价市场生存。
- OS/2(IBM公司):技术上优于早期的Windows,但微软和IBM的合作关系破裂后,IBM自己单干,力量不够。微软通过OEM排挤它。
- 获胜原因:IBM的开放硬件架构,微软保留了操作系统授权,而且微软特别重视对开发者的兼容性(Windows API一直向后兼容)。
阶段三:1990-1995(Windows爆发)
- 亮点:Windows 3.0/3.1成功,Office捆绑销售,Win32 API成了开发者标准。
- 主要竞争对手:
- Mac OS:苹果缺少低端硬件,价格高,软件也少。
- OS/2 Warp:对硬件要求高,应用软件很少,IBM也不太会卖。
- Unix工作站(Sun、HP、IBM):太贵了,不面向个人用户。
- 获胜原因:廉价的兼容机,预装Windows(OEM铁三角),还有海量的应用软件。
阶段四:1995-2001(互联网战争与反垄断)
- 亮点:Windows 95带来了用户体验革命,IE免费捆绑,打压了网景和Java。
- 主要竞争对手:
- Netscape:只有浏览器这一个产品,没法跟操作系统预装对抗。
- Java:Sun公司想做跨平台,但微软用“拥抱-扩展-消灭”的策略拖慢了它。
- Linux:1991年诞生,但在桌面端还远不成熟。
- 获胜原因:利用垄断优势进行捆绑。反垄断案虽然限制了一些行为,但没有拆分微软公司,生态惯性已经形成了。
阶段五:2001-2010(XP/Vista/7的巩固与失误)
- 亮点:Windows XP稳定且相对安全,Windows 7修复了Vista的问题,市场份额达到95%以上。
- 主要竞争对手:
- mac OS X:2001年发布,但只能跑在昂贵的苹果硬件上,软肋还是应用和价格。
- Linux:桌面端一直很分散,驱动和应用都不够。
- 获胜原因:企业级部署(Active Directory、Group Policy)和游戏(DirectX)成了牢固的护城河。Vista虽然失败了,但用户因为兼容性和使用习惯,还是继续用Windows。
阶段六:2010-2020(移动浪潮错失,桌面依然垄断)
- 亮点:Windows 8和10加入了平板模式,但失败了。Windows 7保持了很长时间的生命力。Office 365的订阅转型成功了。
- 主要竞争对手:
- iOS / Android:它们彻底占领了移动市场。微软的手机系统(Windows Phone)失败了。
- macOS:在高端市场的份额慢慢增长。
- Chrome OS:在教育市场蚕食低端份额。
- 获胜原因:企业客户被牢牢绑定(Excel、Active Directory、SQL Server等)。个人用户因为兼容性和习惯也留下来了。
总结:微软活下来的核心原因
1. 兼容性的“死亡陷阱”
Windows从3.0到95再到XP,每个版本都保证能运行绝大多数旧程序。这意味着企业客户不用担心升级后软件就用不了了。个人用户也不用重新买软件。代价是,Windows内核里永远保留着一堆16位的兼容代码和奇怪的bug,因为有些程序就依赖这些bug才能运行。这种“向后兼容”的锁链,让Windows很难彻底重写。但也让竞争对手没法撬动它的用户基础,因为那些客户会说“我的软件只跑在Windows上”。
2. 盗版的双刃剑
在中国、东欧、拉美等新兴市场,盗版Windows几乎和正版一样容易拿到。微软对此睁一只眼闭一只眼。因为盗版帮Windows占领了市场份额。普通人用惯了Windows,以后有钱了买电脑,买正版,还是会买Windows。公司开发软件时,看到全球市场Windows占了90%,自然就先写Windows版。盗版短期内让微软少赚了钱,但长期却锁死了生态。
3. OEM预装的铁三角
微软和英特尔(Intel)以及PC厂商(戴尔、惠普、联想等)形成了一条铁三角。Intel开发更快的CPU,微软推出需要更强CPU的新版Windows,PC厂商预装Windows来卖整机。用户买回家,开机就是Windows。想要别的操作系统?你得自己重装,自己找驱动,自己解决兼容问题——普通用户根本不会去做。
微软通过OEM授权协议,确保每一台出厂的兼容机都预装Windows,并按每台电脑收取授权费。Linux或OS/2没有这种渠道,只能在爱好者圈子里传播。
微软不是“躺着赢的”。它赢在对开发者兼容性的极端执着、对OEM渠道的绝对控制,还有在关键时刻那些不道德但很有效的商业手段。当然,反垄断也让它付出了代价,比如拖延了创新,错失了互联网和移动时代。但不管怎么说,Windows帝国是真正打出来的,不是捡来的。
六、小结:Windows为什么“平庸但赢了”
- Win32 API成了事实标准,每个新版本都必须兼容它。
- 开始菜单和任务栏的范式一直沿用到现在。
- IE捆绑模式(以及后来的Edge)还在继续。
- OEM预装锁定了市场。
- 向后兼容被放在第一位,安全性被放在后面,结果积累了很多技术债务。
被放弃的路径:OS/2、网景浏览器、Java跨平台、NT早期对其他CPU的支持。
下一章预告
Windows统治了桌面,但有一家公司一直没有投降。它从高端市场杀出一条血路,靠的不是兼容性,而是设计、体验,还有彻底封闭的生态。
1997年,乔布斯回到了苹果公司。那时候,苹果离破产只剩90天。他用一台半透明的彩色电脑(iMac)和下一代操作系统(Mac OS X)完成了逆转。
下一章:macOS的坚守与创新。