OS演义(四)
上文说到最终IBM与微软公司签订了关于DOS操作系统和一些语言软件的合同——开启了通往PC机操作系统的大门。那么,DOS宝贝又是怎样降生的呢?是顺利还是痛苦?
艰难的历程——DOS降生
或许你正对前文提到那个“闷罐子”感到莫名其妙,其实,那正是DOS宝贝的产房。按照IBM严格的安全保密制度,DOS的开发地点必须是“与世隔绝”的,最后选定了西雅图市中心国家银行大厦八层(当时的微软公司所在地)走廊尽头的一间没有空调,甚至没有窗户(不知是不是那时就产生了对于Windows的渴望)的小房间。不仅如此,为了防备万一(同一楼层还有其他的公司),IBM还要求房间的大门随时是锁着的(“闷罐子”里的温度可想而知),并且所有的文件都必须锁在IBM提供的专用保险柜内,甚至IBM还一度要在房间的天花板上安装防护装置,以防窃密者从屋顶进入,后来微软拒绝了这个要求。所有这一切,都有IBM的人员不定时地检查。有时实在闷热难耐,还是要开门通通风的,可又说不定什么时候会有人来检查,微软的程序员们便在提心吊胆中建立了一套预警系统——在其它房间的人一旦发现有巨人的使者来访,立刻向那小房间报警。可有一次IBM的检查人员悄悄地穿越警戒线溜了进来,发现不仅房门大开,甚至还有一些样机的零件放在门外,在高度机密的“棋局”中发生这样的事情,可以想象IBM的代表会是怎样的不满。在有了这一次遭遇之后,IBM的保密措施总算是被不折不扣地执行了——这可苦了那些微软的开发人员。
整个开发工作是非常紧张的,从老板到雇员,微软公司的很多人都承受着相当的压力,很多人都不得不开夜车(还有人得在天上开——记得上一期说的吗,微软和IBM的代表,通常是比尔·盖茨和唐·埃斯特里奇,在一周中总有一个人要有一次通宵夜行的经历),不仅深受喜爱的冬季滑雪没有了,就连看航天飞机发射的时间都是拼出来的。1981年4月12日,这是人类文明史上值得纪念的日子,那一天美国人在位于佛罗里达卡纳维拉尔角的肯尼迪航天中心发射了第一架航天飞机——哥伦比亚号,在航天史上迈出又一大步。微软很多开发人员都想去观看这一次具有历史意义的发射,并且劝说他们的老板比尔·盖茨不要错过机会,得到的答复只是“可以和你的下一个工作一起去看”,最后,这些人一连五天拼命干活,连睡觉也在办公室里,才赶出了相当的工作,如愿以偿地目睹了飞天的盛况。
虽说已经有了帕特森的SCP-DOS,只需要把它搬到IBM PC上就可以了,但工作却并不那么轻松,要克服想到的和想不到的困难。想到的,比如磁盘驱动器——SCP-DOS使用的是传统的8英寸驱动器,而IBM PC将要使用5.25英寸的磁盘,微软的程序员必须确定新磁盘的存储容量以及存储方式,并设法将8英寸磁盘上的信息转换成新的格式,对于DOS来说,这是比较核心的部分了;想不到的,比如IBM提供的样机不好好干活,动不动就罢工——在那个小房间里,放置了IBM和Intel公司的总共三台电脑,以那里的通风条件,工作起来所散发的热量可想而知,IBM样机在那样的温度下工作非常不稳定,时不时出现一些随机性错误,使得微软的程序员经常要确定问题究竟是出在硬件上还是软件上,这浪费了他们很多的时间,并且第一台样机还存在很多设计上的问题,突出的是工作速度非常不令人满意,以及BIOS在将数据输入内存中高地址时会导致死机等,都不同程度地给开发工作“找麻烦”。
在艰苦的条件下,双方的合作人员都表现出了良好的职业道德,这使得“棋局”项目得以顺利进行。在双方的配合过程中,也出现了一些让人忍俊不禁的场面。上一期说过,微软的“工作服”是T恤衫、牛仔裤和旅游鞋,而在IBM则从上到下全穿传统的深蓝色西服,此番双方关于“棋局”项目的合作似乎还包括了着装的风格:一次,微软的人们惊讶地发现他们的总裁竟在上班时带头穿起了西装,更有趣的是,公司来了三个用牛仔裤、网球鞋和手提旅行袋武装的生人——谁也没有想到,他们居然是IBM的工程师(可谓用心良苦!)。可以想象,在这样的和谐中,来自两个有着迥异背景的公司的工程师们可以顺利地交流、合作,为DOS宝贝催生。
DOS的开发工作以前所未有的速度进行着,每天都有邮包在西雅图和博卡拉顿两地之间飞来飞去,为了加快信息交流的速度,双方还在两地间建立了电子邮件系统。由于IBM PC的样机还存在这样那样的问题,比如前面提到的工作不稳定以及BIOS出错等,影响整个项目的进展,IBM的工程师们可算是做到了“随叫随到”,对每一个硬件问题都作出最快的反应,以配合微软的开发工作。微软的程序员们也发挥了最大的热情,蒂姆·帕特森后来也被从西雅图公司挖了过来,而盖茨总裁则亲自出马,改进他的BASIC软件,不断地向其中增加新的功能,直到最后制成只读存储器ROM。他们不仅对程序负责,还在很多其它硬件方面提供了参考意见——甚至包括机身该涂成什么样的颜色。
在产品测试方面,IBM是极其严格的,对微软的DOS也不例外(深挖BUG,广积意见),这一方面保证了DOS产品的质量(作为一个划时代的产品,出BUG是很尴尬的),另一方面也影响了微软的质量管理制度,为其日后在操作系统领域谋求大发展打下了坚实的基础。
GO!DOS小子
1981年8月12日,蓝色巨人把它的大脚迈进了个人电脑世界的大门——正式推出IBM PC个人电脑,从仅配备16K内存的基本型号,到具有彩色图形功能的豪华型号,售价从1565美元到6000美元不等,至于操作系统嘛,还只有DOS(从那时起,随IBM的PC机捆绑销售的DOS便叫PC-DOS,而微软公司单独销售的DOS叫做MS-DOS)。
IBM在PC机的销售过程中,也打破了传统,利用别人的连锁店进行销售,并且公开了PC机的很多技术细节,甚至鼓励其他厂商为IBM PC开发附加板卡和应用软件,这使得IBM PC自诞生之日起,便脱掉了那令人敬而远之的蓝色外套,以平易近人的姿态进入了市场,头一年大约售出了一万余台IBM PC,而第二年这个数字则狂涨了几十倍!
微软DOS很快便不再是IBM PC上唯一的操作系统了,基尔道尔教授的CP/M-86终于“千呼万唤始出来”,软件科技公司(Softech Microsystem)也推出了它的UCSD P-System。谁都知道,在操作系统的市场上是“一山不容二虎”的,更何况是三国争霸了,原本这里可能会有一场“逐鹿中原”的好戏,但由于三家公司在竞争策略上相去甚远,不多久微软便把那两家公司远远地甩在了后面,拿到了操作系统市场的霸王金牌。
还记得上一期提到的SCP-DOS与CP/M的相似吗,微软在把它改写成MS-DOS时把这种相似延续了下来,这使得原先为CP/M系统编写的很多优秀的软件可以很容易地在新的DOS平台上运行,这样一来,DOS一降世便拥有了一大笔软件财富,并且使得CP/M系统与之相比,不再具有什么优势了。这么一来不仅发展了自己的新用户,也争取了CP/M的老用户。DOS在这次竞争中的得势,不仅仅是因为它与CP/M的相似,更重要的原因是几个公司迥然不同的价格战略:在IBM的PC机操作系统产品中,UCSD P-System挂在天上——450美元,DR公司的CP/M-86放在屋顶上——175美元,用户伸手就能够得着的只有微软的DOS——60美元。到此为止,对于用户来说,已经没有什么理由拒绝DOS了,而IBM最后也放弃了另外两套操作系统,使得IBM PC与DOS两个词不再分家——不消一两年的时间,DOS宝贝便长大成人,坐上了操作系统的头把交椅。
正如人们所预料的那样,开放化的结构带来了IBM PC的附加板卡和兼容机行业。虽然蓝色巨人在设计IBM PC的时候,在采用其他公司的产品之余,给自己订做了统帅主板的基本输入输出系统BIOS,但很快就被凤凰科技公司(Phoenix)用逆向工程原理还原了出来,这样一来,任何一家公司,只要采购与IBM相同的组件(比如Intel公司的CPU),加上这块BIOS,就可以制造出与IBM PC兼容的计算机来。那些早期的投机者,现在大部分都已是PC行业的巨头了,比如为我国电脑爱好者所熟悉的COMPAQ和AST就是在当年IBM PC掀起的狂潮中创业的。COMPAQ是最早生产IBM PC兼容机的公司之一,创始人是几位德州仪器公司的工程师,不知他们在价格策略上是否从德州仪器那里继承了传统,比IBM的售价要低。在七十年代,德州仪器的风格一直是以别人难以做到的极低价格来销售与别人相同的产品,当时的小公司是“天不怕,地不怕,就怕德州仪器大削价”,从这两年TI公司的486芯片价格中,还能体味到这种风格。并且,COMPAQ是第一个强调自己的机器保证与IBM PC百分之百兼容的兼容机厂商,至于其它方面的优点,像增加了一些很有个性的新功能,甚至包括在COMPAQ买机器不用像在IBM那样排队等货,都使得用户把更多的目光投向这位PC新秀。后来在进入386时代的关键时刻,COMPAQ以其小公司独有的魄力与进取精神,抢到386这个32位的螃蟹,超过了IBM(那时巨人的官僚病又犯了)。AST走的路则更长,先是花了几年时间开发PC机的附加板卡,后来才进入PC整机厂商的行列(也许是由于AST的三位创业者中有两个是华裔吧,它是众多IBM PC兼容机厂商中最先进 入中国市场,并且在中国做得最好的),直到今天还在不断发展。
IBM PC兼容机行业的空前繁荣,给DOS带来了任何其它操作系统所没有拥有过的广大市场,在这片肥沃的土地上,微软尝到了收获的喜悦。还记得前文说的吗,微软公司在与IBM签署关于开发DOS的合同时,保留了对其他客户销售略做修改的版本的权力,这就使得后来知名的兼容机厂商都有以自己公司命名的DOS,如COMPAQ机器中安装的是COMPAQ-DOS,AST使用的是AST-DOS,这些版本DOS都是微软公司MS-DOS的OEM版本,也就是说,都是微软DOS。记得那句话吗,舍不得孩子套不着狼,没有与IBM签的“亏本”合同,就没有眼前这操作系统历史上最大的收获。
一方面,微软公司把DOS卖给越来越多的客户(每多卖出一份DOS拷贝,就意味着PC机家族又增添了一位成员),另一方面,DOS本身也在继续发展,其功能也在版本的更新中不断完善。
DOS的成长历程
从1981年MS-DOS(对于所有MS-DOS的OEM产品,习惯上仍以MS-DOS代称)1.0版本诞生,到1993年微软公司发表DOS 6.0时宣布不再会有DOS 7(虽然在Windows 95中还能够见到MS-DOS 7.0,但它已经是作为Windows 95为兼容以前的DOS程序而附带的一部分,已经不再是独立的操作系统了,并且它在磁盘管理等方面已经远远超出了传统意义上DOS的范畴),十余年时间里,DOS历经几次大的升级,性能不断得到提升。
1981年8月,随IBM PC的发表推出DOS1.0版本,只支持单面、8扇区的120K软盘驱动器,提供了DOS的所有基本功能;
1982年5月,推出DOS1.1版本,在这一版中,增加了对双面软盘驱动器的支持,使得软盘容量提高到320K;
1983年3月,DOS升级至2.0版本,提供了对于9扇区单或双面软盘、PC/XT硬盘以及多级子目录的支持;
1984年8月,发表具有PC/AT(Advantage Technology,即先进技术,IBM PC系列从此走入286的时代)内存管理能力的DOS 3.0版本;
1985年3月,推出支持网络的DOS 3.1版本;
1986年1月,从3.2版本开始支持3.5英寸软盘;
1987年4月,3.3版本(相信这是一个大家比较熟悉的版本)开始适用于IBM PS/2型计算机,支持1.44MB的3.5英寸软盘,支持4个串行端口(以前的版本只支持2个),具有了使用多个硬盘分区的能力;
1988年,3.31版本已能够支持大于32MB的硬盘分区;
1988年6月,在DOS 4.0版本增加了DOS SHELL(类似于Windows 3.1下的文件管理器),使用户可以通过选择而不是命令的方式完成工作;
1991年6月,DOS从5.0版本开始支持扩展内存,使得DOS系统在640K的基础内存中可以只占用十几K,提供了改进的DOS SHELL。与以前版本相比,在硬盘的分区与寻址方式上,也有了较大改动,并且它的卸载程序可以在用户不想使用新版本时方便地退回以前版本;
1993年,微软公司发表DOS6.0,并宣称6.0将是DOS家族最后的版本。DOS 6.0允许用户在引导时使用多重配置,为用户提供了硬盘倍容的方案DBLSPACE,还增加了一些实用程序,如内存优化程序MEMAKER、磁盘碎片整理程序DEFRAG、磁盘扫描程序SCANDISK及能够在作案时留下把柄的DOSKEY(在中关村的一起偷窃软件源代码的案件中,案犯就是因为DOSKEY程序记录下了他拷贝代码的命令而被定罪的——铁证如山)等;
1994年,微软公司推出DOS6.21中文版,这是第一版双字节内核的中文DOS,但和Windows3.1中文版一样,由于汉字部分不完全符合中国国标,在使用上并不是很方便,影响了它的推广;
1995年,微软公司与联想集团合作推出符合中国国标的DOS6.22中文版,这便是现在还在卖的那个版本,相信你不会觉得陌生的;
1995年8月24日,在微软公司发售的Windows 95中,内含了一份(也许说几份更合适)DOS,Windows 95中的DOS纯粹是不得已才放在那里的,已经不是以前DOS升级版了,在Windows 95的后续版本中,在时机成熟的时候,这一版DOS是早晚要被取消的——微软的DOS家谱,写到版本6为止。