加入「公开课」交流群,获取
更多学习资料、课程及热招岗位等信息
作者 | Jeremy Reimer
译者 | 苏本如
责编 | 屠敏
来源 | CSDN(ID:CSDNnews)
提及桌面操作系统,想必众人熟知如今占据全球市场第一的 Windows、以及苹果的 OS X、开源的 Linux 等,谁还能记得由蓝色巨头 IBM 和微软曾经耗费很大精力开发的 OS/2 操作系统。
OS/2 是第一个运行于 X86 体系的 PC 之上的 32 位操作系统 ,对此,有网友评价道,在 Windows 3.x 开 始 为 世 人 接 受 之 初, 个 人 电 脑 的 操 作 系 统 中 唯 一 可 以 与 Windows 操 作 系 统 分 庭 抗 礼 的 就 是 OS/2。
那么,OS/2 为何会在操作系统的长河中,被逐渐淹没,接下来,在本文中,我们将与大家一起从档案中寻找 IBM 放弃生产消费型桌面操作系统的深层原因。
1980年下半年,西雅图的一个阴云密布的上午,一家名为微软(Microsoft)的小公司的年轻董事长比尔·盖茨(Bill Gates)与蓝色巨人IBM安排了一场会面,这场会面将决定未来几十年消费计算机行业的命运。
比尔·盖茨走进一个房间,里面坐满了IBM的律师们,他们都穿着剪裁完美的西装。而盖茨的西装皱巴巴的,很不合身。但没关系,他来这里不是为了赢一场时装比赛。
在这一日,他们签署了一份合同,IBM将一次性以约8万美元的价格为即将生产的PC购买微软MS-DOS操作系统的永久使用权。同时IBM还有权使用微软的BASIC 编程语言、该公司的所有其它编程语言以及它开发的一些新的应用程序。对盖茨来说,精明的做法应该是坚持要一份提成,这样他的公司就可以从IBM销售的每台个人电脑赚取一点利润。
作为对其放弃MS-DOS(现在应该称为IBM PC-DOS)永久使用权的交换,盖茨坚持保留将MS-DOS出售给其他公司的权利。律师们互相看了看,笑了。其他公司?他们会是谁呢?IBM是唯一一家生产个人电脑的公司,而且当时的个人电脑要么带有自己的内置操作系统,要么是使用数字研究公司(Digital Research)授权的CP/M操作系统,后者已经成为了当时确立的标准。
不过,盖茨那时没有想得那么远。在1996年PBS纪录片《书呆子的胜利》的采访中,盖茨解释说:“计算机工业在大型机上得到的教训是,随着时间的推移,人们制造出了兼容的机器”。作为大型计算机的领先制造商,IBM经历了这一现象,但是该公司始终能够保持领先地位,通过发布新的机器,并依靠其营销和销售队伍的力量,将那些克隆者变成竞争的失败者。
然而,个人计算机市场的运作方式却有点不同。与大型计算机竞争对手相比,个人计算机的克隆者是一些规模更小、速度更快、更渴望成功的公司。他们不需要太多的启动资金来开始制造自己的机器,特别是在Phoenix和其他公司对IBM PC体系结构中唯一的专有芯片 - BIOS(基本输入/输出系统)进行了合法的、干净的、逆向工程的实现之后。要制造一个PC克隆机,你所需要做的就是把一个Phoenix BIOS芯片放入你自己设计的主板中,然后设计和制造一个机箱,购买一个电源、键盘和软盘驱动器,并获得一个操作系统的授权就足够了。而比尔·盖茨已经准备好并愿意授权你使用微软的操作系统。
Compaq便携式电脑是许多IBM PC克隆产品中的第一个
IBM继续努力,试图生产出一种新型计算机,以保持它对克隆机型的领先地位,但留给PC/AT机型的好时光已经不多了。英特尔公司向那些计算机克隆公司兜售其80286芯片的生意正在做得风生水起,而买家们也对能以远低于IBM正牌机器的价格抢购到100%兼容AT机型的克隆机器感到兴奋不已。
英特尔和微软的生意正在越做越大,但IBM在个人计算机市场的份额却在逐年缩小。到了必须要做点什么的时候了。战争的火种已经播下,蓝色巨人必须打一场史诗般的战斗,从这些小暴发户手中重新夺回对计算领域的控制权。
IBM最初和微软合作只是为了一个操作系统,因为时间紧迫。到1980年,个人电脑产业开始腾飞,给全球商业领域带来了一场小小的革命。大多数大型公司都已经有了IBM大型机,或者可以访问它。但这些又慢又笨重的机器,都由像祭司一样的技术管理人员看守着,不能供个人使用。那些个人电脑的狂热爱好者们会偷偷地把像TRS-80、Osborne和Apple II这样的个人电脑带入工作区域,帮助他们超越其他同事。IBM前执行官杰克•萨姆斯(Jack Sams)在接受采访时说:“人们担心的是,我们正在失去人心。所以,订单就从上层空降下来:给我们一台机器,让我们重新赢得民心。”但IBM董事长担心,由于公司庞大的官僚作风,任何内部PC项目的生产都需要数年时间,到那时,个人电脑行业可能已经完全被非IBM机器所取代。
因此,在远离IBM总部的佛罗里达州博卡拉顿(Boca Raton),一个不安分的团队被允许使用一种激进的策略来设计和生产一台主要使用现成部件和第三方CPU、操作系统和编程语言的机器。最后两项他们找上了微软,但微软没有权利向他们出售操作系统,而是将该团队介绍给了数字研究公司(Digital Research),后者正在准备一个16位版本的CP/M操作系统,该系统将运行在IBM准备把它用在它的新PC上的8088 CPU上。就在这个后来成为传奇的故事中,数字研究公司的律师拒绝签署一份保密协议,然后数字研究公司就把IBM的人送走了。因为担心整个交易会分崩离析,微软作了一个疯狂的举措,他们从西雅图电脑产品公司(Seattle Computer Products)手中购买了蒂姆•帕特森(Tim Patterson)的QDOS(快速而肮脏的操作系统)的版权。微软为IBM“清理”了QDOS,去掉了这个不好听的名字,并允许IBM PC按计划推出。每个人都很开心,除了数字研究公司的创始人Gary Kildall外。
但那些都已经成为昔日黄花。到了1984年,IBM遇到了另一个问题:DOS仍然是一个快速而肮脏的黑客。唯一真正的新功能是目录支持,以便在IBM PC/AT的新硬盘上更好地组织文件。而且由于IBM和微软在1980年签署的协议,克隆机器可以得到完全相同的DOS副本并运行完全相同的软件。IBM需要设计一个全新的操作系统,使公司区别于克隆产品。为此,一个委员会成立并召开了会议,新的操作系统被命名为:OS/2。
在操作系统借鉴了巨型猫的名字和以狗为名的加州小镇的传统,而为自己取了一些令人兴奋的名字之前,它们的名字大多相当无聊。比如,IBM设计了一款全新的大型机,并发布一个同名的操作系统。因此,新的System/360主机系列将运行全新的OS/360。它整洁,就像IBM的西装和夹克(无聊)。
IBM希望制造出一种新的PC机,这种PC机不能像第一次尝试那样容易克隆,而且公司还希望以营销的方式将其与大型机捆绑在一起。因此,你将拥有一个个人系统(Personal System),而不是个人计算机或PC,因为它是PC的继承者,所以它将被称为PS/2。而新的高级操作系统就被称为OS/2。
然而,命名一个操作系统要比编写一个操作系统简单得多,IBM管理层仍然担心编写这样的操作系统本身所需的时间太长。因此,小组决定IBM将负责设计OS/2,而微软将编写大部分实际代码。与上一次不同的是,IBM将完全拥有该产品的权利,只有IBM可以将其授权给第三方。
为什么微软管理层会同意开发这样的一个项目,旨在消灭让他们成为亿万富翁的摇钱树呢?史蒂夫·鲍尔默这样解释道:
这就是我们当时所说的“骑熊”,你只需要试着待在熊背上,熊就会扭来扭去想甩掉你,但我们想待在熊身上,因为熊是最大的,最重要的……你必须和熊在一起,否则你就会被压在熊下面。”
当时,IBM就是一只有点愤怒的熊,因为克隆行业的小雪貂们继续偷吃着它的午餐,甚至在OS/2被写出来之前,许多业界人士就开始非常,非常,认真地对待它。然而,人们都不知道的是,后续发生的所有事情,共同导致了OS/2的巨大失败。
本文引用了1996年PBS纪录片《书呆子的胜利》的大量资料。这部纪录片在亚马逊上有售,作者在研究期间多次观看。
1984年,IBM发布了PC/AT机型,它搭载了英特尔的80286中央处理器。然而,就在第二年,英特尔发布了一款新的芯片80386,这款芯片几乎在各个方面都超过了80286。
80286是一个16位的CPU,可以通过24位的地址总线寻址16兆字节的随机存取存储器(RAM)。它的内存寻址方式和比它更老更慢的同类芯片8086略有不同,80286是第一个内置内存管理工具的英特尔芯片。要使用这些工具,你必须进入英特尔所谓的“保护模式(Protected Mode)”,在这种模式下,80286打开所有24位的内存总线,全速运行。如果它没有进入保护模式,它就处于“真实”模式(Real Mode),在这种模式下,它就像一个速度更快的8086芯片,仅能寻址1兆字节的内存(640KB的内存限制是IBM随意决定的,它允许原始PC使用额外的内存空间进行图形和其他操作)。
80286的“保护模式”的问题是,当你进入了“保护模式”后,如果不重新启动,你就无法回“真实模式”。不在真正模式下运行MS-DOS程序是非常困难的,因为MS-DOS程序希望在任何时候都能完全访问和控制计算机。比尔·盖茨对80286芯片了如指掌,并称之为“脑残芯片”,但对英特尔来说,它是一个承前启后的CPU,引领了其后续CPU的许多设计决策的方向。
80386是英特尔第一款真正现代化的CPU。它不仅可以在32位保护模式下访问惊人的4GB内存,还添加了一个可以同时运行的“虚拟8086”模式,允许许多MS-DOS应用程序的完整实例同时运行,而不会相互干扰。今天,我们认为虚拟化是理所当然的,并且很高兴在一台机器上同时运行所有的操作系统,但是在1985年,这个概念似乎来自未来。而对于IBM来说,未来很可怕。
80386在推出时是一款昂贵的芯片,但IBM在PC/AT方面的经验告诉该公司,随着时间的推移,价格显然会下降。一台拥有80386芯片和386优化操作系统的个人电脑,在一个巨大的内存空间中运行多个虚拟化应用程序……这听起来非常像一台主机,只不过是以PC克隆机的价格。那么OS/2应该为80386量身定制吗?IBM的大型机部门像发了飚似地严厉谴责了这一想法。为什么要设计一个可能导致大型机过时的系统呢?
所以OS/2必须要在80286上运行,如果DOS程序可以运行的话,就必须在一个“兼容性框”中一次运行一个。从IBM的角度来看,这并不是一件坏事,因为它会迫使人们转向运行更快的OS/2本机应用程序。于是,决定就这样做了,而微软和比尔·盖茨就不得不接受它。
不要告诉微软或IBM的任何人,抢先式多任务的Amiga操作系统在512K内存中运行良好。
1985年发生了另一个问题,一个IBM和微软都痛苦地意识到了的问题。1984的年Macintosh操作系统和1985年的Amiga和Atari操作系统的推出表明,价格合理的个人电脑现在有望内置图形用户界面(GUI)。微软在同一年匆忙发布了功能弱得可笑的Windows 1.0,这样它就可以在图形用户界面游戏中占有一席之地。IBM也必须这样做,否则就会落伍。
问题是图形用户界面的开发需要一段时间,而且它们占用的资源比非GUI对应的要多。在这个世界上,大多数80286克隆机只有1MB的内存标准配置,这将是一个问题。一些图形用户界面,比如运行在高级Amiga操作系统上的工作台,可以压缩使用的内存数量,但是Amiga操作系统是由一群疯狂的天才设计的。而OS/2则是由一个庞大的IBM委员会设计的。最终的结果永远不会是美好的。
OS/2被拖延症和官僚主义的内讧所困扰。IBM有关保密的规定意味着,微软的一些员工,如果在没有法律翻译陪同的话,他们就无法与其他微软员工交谈。IBM还坚称,微软将按照公司的标准外包费率(“kLOC”或每千行代码)获得报酬。正如许多程序员所知,假定两个可以完成相同功能的程序,代码行数较少的程序通常更为优越,因为它将可能使用更少的CPU,占用更少的内存,并且更易于调试和维护。但IBM坚持使用kLOC这个计费标准。
所有这些问题意味着,当OS/2 1.0版于1987年12月发布时,它并不是现售PC中的最精简的操作系统。更糟糕的是,图形用户界面还没有准备好。所以在这个有着苹果Mac、Amiga,甚至微软Windows的世界里,OS/2带着一身黑白、80列、单行距的文字“自豪”地出现了。
与DOS相比,OS/2确实有一些优势,它本来就是要取代DOS的。它可以同时多任务处理自己的应用程序,而且由于80286的内存管理功能,每个应用程序都得到少量的保护,使其免受其他应用程序的影响。但OS/2应用程序在发布之初就显得相当薄弱,因为尽管对操作系统进行了大量的宣传,但从市场份额来看,它仍然是从零开始的。但是如果不是内存危机的话,即使这样的情况也有可能被克服。
内存(RAM)的价格多年来一直呈下降趋势,从1985年的880美元/MB降至1987年的133美元/MB的低点。这一趋势在1988年突然急剧逆转,当时对内存的需求和制造更大内存芯片的生产困难导致市场突然出现缺口。随着需求的增加和供应的减少,内存的价格飙升至500美元/MB以上,并持续了两年。
克隆计算机的购买者们有一个选择:他们可以坚持使用标准的1MB内存,并且非常高兴地运行DOS程序,甚至可能是Windows应用程序(Windows 2.0在1987年12月推出,虽然它不太好,但至少价格合理,而且它几乎无法使用那么多内存)。或者他们可以花325美元从IBM购买一份OS/2 1.0标准版,然后再额外支付1,000美元,将内存增加到3MB,这样大的内存对于舒适地运行OS/2及其应用程序是必要的。
但是等等。OS/2操作系统不是IBM销售其令人眼前一亮的新PS/2计算机的一大优势吗?IBM为什么要把它卖给克隆电脑的拥有者呢?为了运行OS/2,难道不需要拥有一个PS/2吗?
低端PS/2电脑跛脚最严重。没有微通道,速度很慢的CPU,分辨率很低的256色(从图中的文字可以看出)。
IBM花费了大量的时间和金钱开发了PS/2系列计算机,该系列计算机于1987年发布,略早于OS/2的首次面世。IBM抛弃了旧的16位工业标准体系结构(ISA),尽管它已经成为所有克隆计算机的标准,取而代之的是其专有的微通道体系结构(MCA),这是一种理论上速度更快的32位总线。为了阻止克隆机生产商的发展,IBM向MCA注入了最先进的法律技术,以至于MCA扩展卡的第三方生产商实际上不得不为每一张售出的卡向IBM支付版税。事实上,IBM甚至试图收回他们过去购买ISA卡时未缴的版税。
PS/2也是最早转换到3.5英寸软盘驱动器的PC机,他们还开创了键盘和鼠标的小圆接口,这些接口至今仍保留在一些主板上。它们的包装很吸引人,低端产品的价格也相当合理,但性能却不尽如人意。PS/2系列开始于型号25和30,它们没有微通道,只有一个低端的8086 CPU以保守的慢时钟速度运行。发布它们的目的是将买家的兴趣吸引到型号50和60,这两种型号搭配了80286芯片,并且有MCA插槽,而高端型号70和80搭配了一个80386芯片,当然也有一个令人瞠目结舌的高价格标签与之相配。当OS/2发布后,你就可以订购安装有OS/2的型号50以及更高版本的产品。你也不必只是订购“标准版”。因为IBM还提供了OS/2的“扩展版”,它配备了通信套件、网络工具和SQL管理器。扩展版只能在真正的蓝色IBM PS/2计算机上运行,而“克隆人”则不允许参加这个化装舞会。
推出这些机型的本意是要将个人电脑行业的控制权从克隆电脑制造商手中夺回来,但它们也意味着巧妙地将人们推回到那个“个人电脑是仆从、大型机是主人”的世界。这些机型从来没有被允许运行得太快或运行一个合适的,可以利用80386芯片提供的32位计算能力的操作系统。他们试图同时做两件相互矛盾的事,所以最终都失败了。
计算机克隆行业决定不去费心与IBM庞大的法律部门纠缠,他们只是尝试从表面上克隆PS/2机型。当然这样做的话,他们不可能有闪亮的新MCA扩展槽,但由于MCA卡非常稀有而昂贵,而且无论如何它的性能都有局限,所以坚持使用ISA槽并不是那么糟糕。Compaq公司甚至召集了一个PC克隆机供应商联盟来创建一个新的标准总线,称为EISA,在其他标准面世之前,这个标准填补了高端市场的空白。而作为PS/2王冠上的宝石 - OS/2操作系统却姗姗来迟。最初它还没有图形界面,当OS/2 1.1版在1988年发布时,图形界面才终于来临,然而它对内存的大量需求,导致它对大多数用户而言,经济上并不可行。
OS/2版本1.1。尽管它终于有了图形界面,但它并不能做太多事情。
随着市场的变化,克隆机制造商开始销售越来越多的搭载快速又便宜的80386芯片和ISA插槽的机型,这时候,比尔·盖茨休了次假, 也就是后来闻名遐迩的“读书周”假期之一,在这次假期中,他萌生了一个想法,OS/2的前景可能非常不妙。也许这只IBM巨熊正准备直接从悬崖上冲下来。但无论如何,一个骑熊的人如何才能安全脱身呢?答案是“非常,非常小心”。
那是1989年末,微软正在努力工作,最终敲定了它所知道的迄今为止最好的Windows版本。Windows 3.0版将通过一个令人兴奋的新的3D斜面设计(它最初出现在OS/2版本1.2上)和闪亮的新图标在图形用户界面上投下了重注。Windows 3.0还将支持80386上的虚拟8086模式,使人们更容易在Windows上花费更多的时间,而无须花时间用回DOS。这将是一个令人兴奋的产品,微软这样告诉IBM。
IBM仍将微软视为操作系统业务的合作伙伴,并表示愿意通过全面推广Windows 3.0来帮助这家较小的公司。但作为交换条件,IBM希望买下该软件本身的版权,并且取消允许微软向第三方授权的DOS协议。比尔盖茨看了这一点,仔细考虑了一下,决定放弃这笔交易。
IBM认为这是一种背叛,并散发内部备忘录,称公司将不再为Windows编写任何第三方应用程序。双方的分离即将变得非常令人不快。
不幸的是,微软仍然有开发OS/2的合同义务。IBM一气之下决定不再需要这家软件公司的帮助。考虑到操作系统的名字,两家公司决定将OS/2一分为二。当时,这两家公司的分道扬镳被比作离婚。
IBM将接管OS/2版本1.x的开发,包括即将发布的1.3版本,该版本旨在降低对内存的需求。它还将接管在OS/2版本2.0上已经完成的工作,这是期待已久的32位重写。此时,IBM终于向不可避免的趋势低头,承认它的旗舰操作系统确实需要脱离80286芯片。
微软将保留其现有的Windows系统的权力,不再支持IBM的市场需求,微软还将接管开发OS/2 版本3的权力。这个系统在内部被称为OS/2 NT,是对操作系统的一种“空中楼阁式”的重写,它将包含一些未指明的“新技术”,并且是真正的先进和独立于平台的。考虑到OS/2也会蚕食大型机市场,IBM似乎很乐意摆脱这一高端版本,事实上IBM有自己的高端版本计划。
OS/2 1.3于1991年发布,并取得了一定的成功,部分原因是因为内存价格的最终下降,而新版本对内存的需求并不大。然而,此时Windows 3.0已经像坐上了火箭一样,快速起飞了。它表面上看起来很像OS/2,但成本更低,占用的资源更少,而且没有以一种可笑的似是而非的方式预装进PS/2系列计算机中。微软还积极地以极具吸引力的捆绑交易来吸引克隆计算机生产商,将Windows 3.0应用到大多数新销售的电脑上。
IBM再次失去了对个人计算机行业的控制。市场并没有远离克隆机器,真正的DOS继承者是Windows,而不是OS/2。如果说熊(注:指IBM)以前只是生气,现在它是愤怒了。它将在自己的地盘上与微软抗争,希望永远摧毁这个Windows新贵。这将是一场史诗般的战斗。
实际上,IBM与微软合作开发OS/2版本2.0已经有很长一段时间了,1990年两家公司分拆时,很多代码已经编写完成。这使得IBM能够在1992年4月发布了OS/2 2.0版本,而在此一个月前,微软发布了Windows 3.1。游戏开始了。
OS/2 2.0版是一个32位操作系统,但它仍然包含它的前期版本1.x中的大部分16位代码。和许多设备驱动程序和运行图形用户界面的图形引擎(Graphics Engine)一样,高性能文件系统(HPFS)仍然是一个16位的子系统。不过,内核和内存管理器都已经改用32位的代码重新实现了。
IBM还进行了一次大型的采购考察,寻找任何可能有助于使OS/2更华丽、更闪亮的新技术。它与苹果公司达成合作协议,开发下一代操作系统技术,并从史蒂夫•乔布斯(Steve Jobs)手中获得了NeXTStep的许可权。虽然这两个平台的技术并没有直接融合进OS/2中,但Amiga操作系统的一部分代码确实进入OS/2了:IBM向Commodore公司授予了REXX脚本语言的许可证,以交换一些Amiga技术和图形用户界面的思想,并将它们包含在OS/2 2.0版中。
当时,最热门的行业流行语是“面向对象”,虽然面向对象编程已经存在多年,但它刚刚开始在个人电脑上获得吸引力。IBM本身就是面向对象技术的老手,在20世纪80年代就使用面向对象的Smalltalk语言开发出了Visual Age软件,因此IBM希望将OS/2吹嘘为比其他任何操作系统都更面向对象,这是有理由的。但是这项任务的棘手部分是,面向对象主要是一个内部技术问题,即如何构造程序代码,而最终用户是无法看到的。
IBM决定让OS/2 2.0版的用户界面以一种“面向对象”的方式运行,这个项目最终被称为Workplace Shell,它也成为OS/2的粉丝们既崇拜又鄙视的头号功能。
作为OS/2的默认桌面,2.0版本看起来相当简单,图标也不是特别醒目,因此它并不能立即显示Workplace Shell的新特性和不同之处。但是,当你开始使用它时,你会发现它与其他的图形用户界面非常不同。右击任何图标都会弹出一个上下文菜单,这是以前从未见过的。图标在这里被看作“对象”,你可以对它们做一些像对象一样模糊的操作。比如说:将一个图标拖到打印机图标上即可开始打印。而把把一个图标拖到碎纸机图标上,它就被删除了(是的,永久删除!)。有一个奇怪的图标叫做“模板”,你可以打开,然后“拖出”空白页,如果你点击这些空白页,就会打开各种各样的应用程序 – Apple Lisa (注:苹果公司发布的世界首台图形界面计算机)在1983年做了类似的事情。对于OS/2来说,这样的面向对象足够了吗?不,还不够。
有很多不同的东西可以拖动到每个文件夹窗口,文件夹会有不同的反应。如果从调色板中将一种颜色拖入一个文件夹,那么该文件夹的背景色就变成这种颜色。你也可以对壁纸做同样的事情。字体也是一样。事实上,你可以对所有文件夹做这三件事,并,然后以一个可怕的组合,迅速改变任何一个文件夹,使得每个文件夹都可以用这种方式获得不同的样式。
你完全可以这么更改你的文件夹的风格,糟糕的是,这并不意味着是个好主意。
实际的情形可能大部分是这样的:你无意中这样做了,然后不知道如何修复,或者给朋友演示了一次,然后再也没法改回来。这些功能虽然很酷炫,但是占用了大量内存,而1992年的计算机通常仍有2MB或4 MB的内存。
OS/2 2.0版本对内存的最低要求,如包装盒子上所示(它是一个很重的盒子,带有不少于21张3.5英寸的软盘!),是4MB。我曾经目睹过我的本地Egghead经销商试图在一个有这么多内存的系统上启动OS/2。启动过程很不顺利。操作系统甚至在启动完成之前就开始发出写磁盘的嘈杂声以交换内存。然后它尝试继续启动,再交换内存,再继续启动,再交换内存,如此反复多次,可能要花10分钟才能进入功能桌面。想象一下如果你右键单击一个图标会发生什么?内存交换。基本上,OS/2 2.0版本在这个数量的内存中无法正常使用。
在内存8MB时,系统可以会如广告承诺般地运行,而在16MB时,系统将运行得很顺畅,而不会过度读写磁盘。幸运的是,到目前为止,内存已经降到了每MB 30美元左右,所以内存升级并不像OS/2 版本1.x时代那么重大。尽管如此,这仍然是一个采用的障碍,特别是当Windows 3.1在2MB中都可以运行得很顺畅的时候。
但Windows 3.1也是易于崩溃的,这个协作多任务操作系统有一个奇怪的、风格不一致的用户界面,只有比尔·盖茨才会喜欢这样的用户界面。OS/2渴望做得更好。在很多方面,它确实做到了。
十、比DOS更好的DOS,比Windows更好的Windows
尽管最初的个人电脑取得了成功,但IBM从未真正成为一家消费性计算机公司,也从未真正理解个人用户市场营销的意义。例如,PS/2的推出,伴随着一场广告攻势,而这场广告攻势的主角是上世纪70年代电视连续剧《陆军野战医院》的阵容老化且有些迷茫的演员们。
等等,我以为我们是医生!为什么我们要再打开这些电脑盒子?
这种牛头不对马嘴的营销方式继续用在了OS/2上。OS/2究竟是什么?它是如何让你的电脑变得更好的?它是否足以证明在操作系统和内存上的额外开销能够帮助你的电脑更好地运行?出色的多任务处理能力是一个答案,但这些好处很难通过观看一个男人打斯诺克的长而无聊的镜头来理解。它的广告投放的选择也有些奇怪。多年来,IBM一直花钱赞助嘉年华草地滚球比赛,并将OS/2每年的大部分广告预算都花在这一个场地上。大学生球迷真的是多任务操作系统的最佳受众吗?
最终,IBM为OS/2 2.0版定下了一条宣传标语:“比DOS更好的DOS,比Windows更好的Windows”。这个口号的第一点绝对正确的,第二点也可以说是正确的。但正是这个标语导致了这个操作系统的最终失败。
OS/2拥有当时最好的DOS虚拟机。它可以让你在后台运行多任务时,很容易地在全台全屏运行DOS游戏,许多游戏(如银河飞将Wing Commander)甚至可以在一个320 x 200的窗口中运行。你还可以在DOS虚拟机里运行一个完整的Windows操作系统,而且由于IBM与微软的分离协议,OS/2的每一个拷贝都附带了IBM称为“Win-OS2”的东西,它本质上是一个免费的Windows操作系统的拷贝,可以全屏运行,也可以在窗口内运行。如果你有足够的内存,你可以在每一个完全独立的DOS虚拟机上运行一个Windows应用程序的副本,这样一个Windows应用程序崩溃不会影响到任何其他Windows副本的运行。
这是一个非常酷炫的特性,但是这个特性使得图形用户界面(GUI)的应用程序开发人员可以很简单地做出支持哪个操作系统的决定。既然OS/2(在开箱即用的情况下)可以很好地运行Windows应用程序,那么开发人员只需编写一个Windows应用程序,两个平台都可以运行这个应用程序了。而另一方面,对于Windows开发人员来说,编写一个本地OS/2应用程序是一项繁重的工作。两个平台的底层应用程序编程接口(API)有很大的不同:Windows使用了一组简单的API,称为Win16;而OS/2使用了一个更为扩展的集,并取了个笨拙的名字为Presentation Manager。这两种API在很多方面都大不相同,甚至在计算窗口的定位像素是从屏幕顶部还是从底部开始计算都不一样。
一些公司最终使用Presentation Manager制作了本机运行的OS/2应用程序,但这样的公司数量极少。IBM当然是其中之一,Lotus也加入其中。Lotus仍对微软过去针对该公司的尝试感到愤怒。不过,真正让Lotus(以及Corel等其他公司)对微软感到愤怒的是Windows的突然成功,以及运行在Windows上的微软应用程序(Word、Excel和PowerPoint)的销量猛增。在DOS时代,微软为个人电脑开发了操作系统,同时也开发了针对个人电脑的应用程序。随着Windows开始流行,微软也开始将应用程序开发人员推到了自己这边。为OS/2编写应用程序是对微软的一种反击。
对于那些不想与微软争夺应用程序市场份额的初创公司来说,这也是一个机会。其中一家公司名为DeScribe,它为OS/2做了一个非常好的文字处理器(我曾经用自己的钱以学生的价格购买了这个软件)。对于一个有抱负的写作者来说,DeScribe提供了一个支持长文件名的干净书写板。而Windows下的Word应用程序,和Windows本身一样,文件名仍然限于8个字符。
DeScribe是一个我非常喜欢的简洁的文字处理程序。可悲的是,这家公司靠卖它赚不到足够的钱来生存。
不幸的是,像Lotus和Corel这样的老牌巨头最终在应用程序方面比像DeScribe这样的小公司做得差得多。OS/2版本的Lotus 1-2-3和Coral Draw速度很慢,消耗内存多,并且有很多缺陷。这给OS/2本机应用程序市场带来了更大的冲击。当Windows版本可以运行得更快更好,并且可以在Win-OS2中无缝运行时,为什么要购买OS/2本机应用?
随着本地应用程序方面的情况变得更加越来越绝望,IBM甚至开始付费让开发人员编写OS/2应用程序。Borland公司是这项工作中最有名的一个,正如你可以想到的那样:Borland公司没有动力使得它的应用程序足够快速或无bug,它能做到的只是尽快发布它们。结果可想而知,他们在市场上几乎没有掀起什么风浪。
尽管如此,OS/2操作系统本身的销量相当不错,达到了100万台的总量,并创下了许多软件畅销排行榜,虽然OS/2原生应用情况看上去让人绝望。许多用户对操作系统如何改变你使用电脑的方式产生了宗教式的狂热。与Windows 3.1相比,OS/2确实是一个改观。但另一个阴影已经潜伏在地平线上。
面对熊的袭击,大多数人都会选择逃跑。微软对IBM挑战的反应也是如此:逃跑,建造一座堡垒,再建造一座更大的堡垒,再建造一座配备自动武器和激光炮的巨型金属堡垒。
1993年,微软发布了Windows for Workgroups 3.11,它捆绑了对小型企业网络的支持和一些小的修正和改进,包括一些32位代码。虽然一开始这个产品没有马上热销(一位微软经理曾开玩笑地说,他们内部把这个产品叫做“Windows for Warehouses”),但它是该产品向前迈出的重要一步。同时微软也在开发Windows 4.0,它将提供更多的32位代码、新的用户界面和抢占式的多任务处理系统。微软给这个产品取了个代号叫“芝加哥(Chicago)”。
最后,也是决定微软公司前途至关重要的一步,比尔·盖茨聘请了工业级微型计算机操作系统VMS的架构师-大卫·卡特勒(Dave Cutler),并让他负责整个OS/2 3.0 NT的开发团队。大卫·卡特勒的第一个指令是扔掉所有旧的OS/2代码,从头开始。微软希望构建一个高性能、容错、独立于平台且完全可联网的操作系统。这个系统微软称之为Windows NT。
IBM获悉了微软的计划,开始准备一个新的主版本OS/2准备反击。Windows 4.0的发布出现了几次延迟,因此IBM决定就此一点对其对手进行冷嘲热讽。在OS/2 3.0的第三个测试版上(谢天谢地,现在已经用CD-ROM提供了),他们印上了“比预期更早到达芝加哥”的字样。
OS/2 版本3.0还将以新名字发布,新版本将被命名为OS/2 Warp, 这名字源自当初开发中的代号,与过去不一样,这一次IBM决定直接将代号印在盒子上。Warp代表“Warp speed”,意思是唤起力量和速度(见《星舰迷航》影片)。不幸的是,IBM的著名律师们可能在工作中睡着了,忘记了《星际迷航》版权的拥有者是派拉蒙公司。事实证明,IBM确实需要获得许可,即使它只是在消费电脑广告上模拟一个通用的“跳跃到曲率速度”也需要这个许可,但是派拉蒙公司不给它这个许可。这下IBM陷入了窘境。这个名字已经公开了,但是IBM公司却不能将Warp这个词解释成与太空船相关的任何意思。它不得不使用Warp这个词的经典含义(弯曲或扭曲的东西)。显而易见,这并不是IBM想新产品留给用户的印象。1994年,在OS/2 Warp的发布仪式上,帕特里克•斯图尔特(注:《星际迷航:下一代》中的主演之一)本应是司仪,但后来他放弃了,IBM不得不换上了《星际旅行:航海家号》的舰长扮演者凯特·穆格鲁(Kate Mulgrew)。
OS/2 Warp有两个版本:包含Win-OS2副本的盒装版的书脊是蓝色的,另一个盒装版的书脊是红色的,购买它的用户必须使用Windows副本,可能他们已经不得不运行Windows应用程序。红色书脊的盒装版相当便宜,成为最畅销的OS/2版本。
上图是我的OS/2 Warp红色书脊盒装版的内容。是的,那些是软盘。
然而,微软的“芝加哥”(现在被称为Windows 95)正在迅速逼近,这对IBM来说将是一个坏消息。尽管不一定完全正确,但是人们可以很容易地认为,Windows之所以能战胜OS/2是因为IBM的市场营销不力。如果一定要找一个正确的理由,那么我们认为Windows胜出是因为微软对克隆计算机公司的积极示好。但对于像我这样的OS/2狂热者来说,不得不接受的一个残酷而痛苦的事实是,Windows 95(相比OS/2)确实是一个更好的产品。
我花了几个月的时间,在同一台可以双起动的计算机上测试OS/2 Warp和Windows 95的一个后期测试版,这台电脑配备有一个486的CPU和16MB内存。经过大量的测试,我不得不得出结论,Windows 95,即使是它的Beta版,速度也更快、更流畅。它也有更好的本地应用程序,并且(这是真正的关键)很少崩溃。
怎么会这样呢?OS/2 Warp现在是一个完全32位的操作系统,具有内存保护和抢占式多任务处理能力,而Windows 95仍然是一个夹杂一些32位代码的16位Windows的可怕变种。无论如何,OS/2不应该崩溃,但它确实会崩溃,而且总是这样。
不幸的是,OS/2在设计上有一个致命的缺陷:同步输入队列(SIQ)。这意味着所有发送到图形用户界面窗口服务器的消息都将通过一个收费口。如果任何OS/2本机图形用户界面应用程序停止了对其窗口消息的服务,那么整个图形用户界面就会卡住,系统就会冻结。好吧,技术上来说操作系统还在运行。后台任务可以继续很好地执行。你只是看不见它们,不能与它们互动,也不能做任何事情,因为整个图形用户界面都挂了。一些有进取心的OS/2爱好者编写了一个应用程序,该应用程序轮询操纵杆端口,当用户按下一个按钮时,应该会释放其他的选择。然而它实际上很少能起作用。
具有讽刺意味的是,如果你从不运行OS/2本机应用程序,而只是在VM中运行DOS和Windows应用程序,那么操作系统就稳定得多。
有报道称,IBM自己的Aptiva系列电脑的用户甚至在安装OS/2时也遇到了麻烦,但这个报道并没有让OS/2的命运出现转机。IBM的PC部门还需要微软的许可证才能将Windows 95与其系统捆绑在一起,微软对它的前合作伙伴非常恼火,甚至一度要求IBM停止OS/2上的所有开发。IBM的PC部门最终在Windows 95发布的同一天签署了一份许可证。
微软真的不再需要迁就OS/2了。因为Windows 95已经取得了巨大的成功,打破了以前所有操作系统的销售记录。它改变了整个计算领域。Commodore和Atari现在已经出局了,Windows 95的成功让苹果公司大吃一惊。IBM现在到了为它的生存而战的时候了,但是它的主要武器又不给力。
然而,IBM还没有放弃这场战斗。蓝色巨人计划夺回它在计算机行业的领导地位,如果有帮助的话,它将与所有不属于微软的人结盟。
在IBM打击列表中位列首位的是英特尔公司。IBM和Sun一起,都是精简指令集计算机(RISC)的新型微处理器设计的早期先驱。基本上,这种设计的想法是删去冗长复杂的指令,而代之以更简单、更快捷的指令。IBM设计开发了一款CPU,命名为POWER(Power是Performance Optimization With Enhanced RISC的缩写),并将其用于非常昂贵的工作站系列中。
所有的力量(POWER)! 所有的力量(POWER)!
IBM开始与苹果和摩托罗拉两家公司合作,将其开创性的RISC处理器技术引入桌面电脑,并利用这一影响力加入苹果公司新的操作系统开发项目,该项目当时代号为“Pink”。这家新成立的操作系统公司更名为Taligent,未来的操作系统内核也从苹果设计的名为Opus的微内核转变为IBM正在为一个更大的操作系统开发的名为Workplace操作系统(Workplace OS)的微内核。
Workplace操作系统被设计成一个终极操作系统,一个将会终结所有操作系统的操作系统。它将运行在卡内基梅隆大学开发的Mach 3.0微内核上,除此之外,这个操作系统还将运行各种“个性化的操作系统”,包括DOS、Windows、Macintosh、OS/400、AIX,当然还有OS/2。系统被设计成可以运行在Sun公司的所有处理器架构上,但它主要是展示POWER处理器的强大能力。一切看起来都尽善尽美。
而此时的微软在干什么呢?大卫·卡特勒团队已经在1993年7月发布了Windows NT的第一个版本(3.1版)。它比OS/2有更高的资源需求,但它也做了更多的工作:支持多个CPU,支持多种硬件平台,非常稳定和容错,完全32位的操作系统,支持高级64位文件系统,并且与Windows应用程序兼容。一年后,Windows NT 3.5发布,并计划在1996年发布一个带有Windows 95用户界面的新版本。虽然Windows NT的早期推广困难重重,但是它做到了广告宣传承诺的所有事情,最终它在2001年与消费性的Windows 9x系列合并,并发布了Windows XP。
与此同时,IBM与摩托罗拉和苹果两家公司合作开发的基于IBM POWER架构的PowerPC芯片(价格比Power芯片便宜得多)成功发布,这一成功最终拯救了苹果的Macintosh部门。然而,发布消费级PowerPC机型以运行其他操作系统的计划一直被推迟。主要问题之一是缺少备用操作系统。Taligent陷入了开发地狱,被重新定位为一个开发环境,最后被完全打入冷宫。IBM匆匆忙忙地为PowerPC编写了一个OS/2 Warp的实验端口,但是还未完成就放弃了它。Workplace操作系统从未走出早期的alpha阶段。讽刺的是,Windows NT是唯一一个支持PowerPC芯片的非Macintosh用户操作系统。但是,与运行Windows NT的英特尔系统相比,使用Windows NT运行PowerPC系统的优势很小。PowerPC芯片的速度稍快一些,但它需要为其指令集重新编译本机应用程序。Windows应用程序供应商看不到任何理由为一个新平台重新编译他们的应用程序,所以他们中的大多数都没有这样做。
与Workplace操作系统不同,Windows的多平台版本已经实际发布。NT 3.51版中增加了对PowerPC的支持,但在NT 4.0中又被拿掉了。
所以让我们在这里总结一下:新的PowerPC芯片本来是要淘汰英特尔芯片的,但除了拯救Macintosh之外,它一事无成。新的Workplace操作系统本来打算淘汰 Windows NT的,但IBM有心无力。而OS/2本来是要淘汰Windows 95的,但是结果却恰恰相反。
到了1996年,IBM发布了OS/2 Warp 4,其中包括经过改进的Workplace Shell、捆绑的Java和开发工具,以及期待已久的对同步输入队列的修复。但是这些改进远远不够。OS/2的销量持续下滑,而Windows 95的销量继续上升。IBM委托一项内部研究重新评估OS/2相对于Windows的商业潜力,结果并不理想。于是公司高层下达了这样的一个命令:位于博卡拉顿的OS/2开发实验室将被关闭,Workplace操作系统的开发将被终止,超过1300多人将失去工作。熊被打得满身是血,离开了战场。
OS/2的最终版本 - 4.0版。即使是彩色标签和波浪形徽标也拯救不了它。
IBM将不再开发新版本的OS/2,尽管它将一直销售到2001年。OS/2的买家都是什么人呢?主要是银行,他们仍然对IBM的大型机情有独钟。OS/2大多被银行用在自动取款机上,但Windows NT最终也占领了这个细分市场。2001年之后,IBM停止了直接销售OS/2,取而代之的是Serenity Systems公司,这是IBM授权的商业经销商之一,后者将操作系统重新命名为eComStation。今天你仍然可以买到eComStation系统(确实有人买了),但它的拷贝非常非常罕见。Serenity Systems继续发布更新,增加了对现代硬件的驱动程序支持,但公司对于开发操作系统本身并不热衷,因为根本没有足够的需求使得企业可以从中盈利。
2004年12月,IBM宣布将其整个PC部门出售给中国的联想公司(Lenovo),标志着其23年个人电脑销售统治地位的终结。在这23年中的近10年时间里,IBM一直试图用自己的操作系统取代PC的微软操作系统,但都徒劳无功。最终,它不得不承认失败。
多年来,许多OS/2爱好者一直呼吁IBM将OS/2操作系统的代码库开源,但IBM一直拒绝。可能IBM无法做到这一点,因为OS/2仍然包含着大量属于其他公司(最重要的是微软)的专有代码。
今天,大多数想使用OS/2的人都只是出于历史的考虑,而且OS/2很难在虚拟机(如VMWare)下运行,这使得他们的任务变得更加困难。上世纪90年代末,莫斯科一家大型银行聘用了一家俄罗斯公司,为其遗留的OS/2应用程序寻找解决方案。它最终编写了自己的虚拟机解决方案,后来变成了Parallels,这是现在一个很流行的应用程序,它允许Mac电脑用户在OSX上运行Windows应用程序。这给我一种奇怪的感觉,今天Parallels在Mac上的运行让我联想到了20世纪90年代中期在OS/2上运行Win-OS2的很多事情,苹果公司也许很聪明,它从来没有将Parallels与Mac电脑捆绑在一起。
大多数人最后一次看到OS/2的地方是在澳大利亚的自动提款机上。
那么,IBM为什么在OS/2上遭到如此惨重的失败呢?为什么微软能够巧妙地将IBM拉下消费电脑市场的王座,然后用Windows给予致命一击呢?更重要的是,这个故事中有没有什么教训可以对今天的硬件和软件公司有借鉴价值?
IBM对个人电脑行业的忽视已经够久了,以至于它不得不匆忙推出一种容易被(合法)克隆的个人电脑设计。在这样做了之后,它又立即想把放出的妖怪收回到魔瓶中,从克隆者手中再次夺回这个行业。当IBM宣布PS/2和OS/2的计划时,许多行业专家都认真地认为该公司可以做到这一点。
不幸的是,IBM在一个二选一的岔道口一直犹豫不决。该公司的传统大型机部门不希望个人电脑太强大,以免它们夺走了大型机的市场份额。而个人电脑部门只想销售大量的个人电脑,并不在乎为了达到这个目标它必须做些什么。这场内部的争斗来来回回,造成了令人痛心的局面,比如,当IBM自己的低端Aptiva机型无法正常运行OS/2时,PC部门就转而推广Windows。
IBM一直认为,个人电脑最适合作为终端,为它所熟悉和青睐的大型主机服务。OS/2的网络工具,只在它的扩展版中提供,就是基于这样一个假设,即PC机将连接到大的服务器上,而这些服务器将承担繁重的工作。这是一种将计算机连接在一起的“自上而下”的方式。相比之下,微软刚以一个“自下而上”的方式来处理网络,服务器只是运行Windows的另一台PC。随着个人计算能力的增长和更健壮的Windows NT版本的出现,这种自下而上的方式变得越来越可行。当然更加便宜。
IBM在将OS/2提升为“比DOS更好的DOS和比Windows更好的Windows”的过程中也犯了一个致命性的错误。与其它流行的操作系统如此惊人的兼容性意味着本机OS/2应用程序市场从未得到过发展的机会。很多人购买OS/2,但是很少有人购买OS/2应用程序。
《创新者的窘境》(The Innovator's Challenge)一书提供了一个很好的例证,即在传统市场上占据主导地位的大公司在制度上无法转向新的颠覆性技术,尽管这些公司经常自己发明这些技术。IBM发明了超过历史上任何一家计算机公司的计算机技术和专利。尽管如此,当压力来临时,它为了迎合大型机市场而放弃了个人电脑。直至今天,IBM仍在销售大型机,并且获利颇丰,但它已经不再是个人电脑领域的一支主力军。
今天,许多人已经注意到微软是传统计算领域的新的主导力量,传统计算领域被重新定义为运行Windows的个人计算机。新的颠覆力量是智能手机和平板电脑,苹果和谷歌在这一领域已经成为新的主导力量。值得称道的是,微软的反应速度之快,足以应对这种新的冲击。该公司甚至重新设计了它的传统用户界面(Windows桌面),使之更适合平板电脑。
当然,我们可以说,微软的行动迟缓,就像过去IBM一样。我们也可以说,Windows Phone和Surface平板电脑未能在与iOS和安卓的竞争中占据市场份额,就像OS/2未能击败Windows一样。然而,微软与大多数传统公司有一个不同之处:它不轻言放弃。而IBM在OS/2和普通PC上都直接认输了。为了在新的移动领域重新夺回霸主地位,微软愿意花费数十亿美元。微软也许仍然不会成功,但至少现在,它还在继续努力。
OS/2的第二个教训是,不要与竞争对手的操作系统太过兼容,这是今天的手机和平板电脑制造商应该认真吸取的一个教训。黑莓曾吹嘘说,你可以在其BB10操作系统上轻松运行安卓应用程序,但这最终对公司毫无帮助。非传统手机操作系统供应商在构建安卓应用程序兼容性之前,应该仔细考虑,以免遭遇与OS/2相同的命运。
OS/2的故事已经成为过眼云烟。在当今快节奏的计算环境中,它似乎并不特别有参考价值。但它仍然是一个好故事,一个巨大的全球型公司如何试图与一个年轻而活跃的新贵较量,最终以惨败告终的故事。这样的故事非常罕见,正因为如此,它们才是如此珍贵。重要的是要记住,在这场战斗前,IBM处在绝对优势。它拥有可以碾压比它小得多的微软的资源、技术和人才,唯独没有的是失败者的遗嘱。
https://arstechnica.com/information-technology/2019/11/half-an-operating-system-the-triumph-and-tragedy-of-os2/
本文为 CSDN 翻译,转载请注明来源出处。 作者独立观点,不代表 CSDN 立场。
(*本文为AI科技大本营转载文章,转载请联系作者)
推荐阅读