DOS,开放的时代

Author: 王刚 Date: 1999年 第27期 10版

#1    开发一个廉价DOS
  鉴于IBM还在苦苦寻找一个操作系统,1980年9月28日,微软公司的盖茨、艾伦、西和彦坐在盖茨的办公室商量是否为IBM的新机器写操作系统。比尔·盖茨回忆说,“和彦说绝对可以干,仅需多写20K字节的代码,就可以做成一个廉价的操作系统”。由于微软要为IBM的新机器开发BASIC、ROM—BASIC、汇编语言等软件,写这些软件有400KB的工作量,在这个基础上写操作系统似乎工作量并不大(IBM要求6个月内交货)。另外他们也知道8086上运行的操作系统的模型,就是SCP公司佩特森的86-DOS。这天夜里,他们作出了一个决定,可以为IBM PC写一个廉价的16位操作系统。
#1    MS-DOS的形成,寻机而不取巧
  接下来,微软公司以5000美元买下了SCP试验性的86-DOS,并于1980年11月,和IBM签定了合同,保证在来年春天向IBM提供新机器的操作系统。但要将86-DOS应用于这台机器,还有许多非常困难的工作,首先IBM的个人电脑应用了许多新的硬件,如5.25英寸软盘,他们必须设计相应的磁盘文件格式,另外还修改了86-DOS系统中的许多附加程序,如EDLIN、CHKDSK、FORMAT等,经过6个月的艰苦工作,1981年,微软的MS-DOS 1.0同IBM PC一起面世了。   
#1    MS-DOS 1.0,别人的操作系统?
  MS-DOS 1.0版本,源代码有4000行汇编语言,需要8K字节的存储器运行,系统主体由三个大型文件组成,第一个是IBMBIO.COM(IO.COM),是与BIOS之间的接口,含磁盘输入输出、文字输入输出系统,第二个文件为IBMDOS.COM(MSDOS.COM),是DOS的核心部分,含应用接口和磁盘文件管理、存储器管理。第三个是COMMAND.COM是外部命令处理程序。除了这三个文件之外,还有DEBUG、EDLIN 、FORMAT等实用程序。但MS-DOS 1.0并不是盖茨想像的16位操作系统软件,这个软件要适应IBM的开发计划,要维持与当前标准的CP/M 8位操作系统的兼容性。因此MS-DOS尽量地模仿CP/M-80,如使用8.3文件名、“A:>”这样的盘符提示,许多内部、外部命令也都模仿CP/M-80,微软还将已经流行的WordStar、dBase I这样的软件移植到MS-DOS平台中来。(^271002a^)  
#1    MS-DOS 1.0,真正的秘密武器
  尽管IBM和已有的标准操作系统CP/M对微软影响很大,但MS-DOS并没有完全被制约。如MS-DOS首先实现了不依赖设备的输入输出命令处理器,即将输入输出设备当成文件处理,MS-DOS还有先进的文件存储逻辑方式(FAT文件分配表),另外程序还分为常驻内存和非常驻内存,这些设计,解决了当时处理速度与小容量存储器之间的矛盾,除了硬件独立和高效运行之外。MS-DOS还是一个开放的操作系统,它通过中断调用来管理系统资源,任何开发者都可以使用这些中断调用来为自己的程序服务。
#1    苦海慈航
  历史并不照顾比尔·盖茨。MS-DOS问世后,有两年的时间,微软都在苦苦支撑着MS-DOS。IBM为自己的PC准备了三种操作系统,虽然MS-DOS是第一个出现在IBM的机器中,但几个月后出来的CP/M-86就几乎将MS-DOS压垮了。因为,CP/M是微计算机操作系统的标准,大家都怀疑MS-DOS的兼容性。MS-DOS只是微软事业极小的一部分,微软的主要业务还是为IBM PC、苹果电脑设计各种高级语言程序。
  但在默默无闻的两年中,微软仍然坚信自己的MS-DOS,他们坚持改进MS-DOS,如更好的非硬件依赖性、可移植性、软件的标准化。这期间,他们推出了几个改进版本:1.1版本(支持320KB的双面软盘)、1.25版本。经过了两年的困境,一线曙光出现了,例如DEC、COMPAQ公司等为自己的PC机选择了MS-DOS,他们认为,MS-DOS有良好广泛的硬件支持性,操作命令丰富,磁盘性能具有戏剧性的优势。
#1    为了新设备,选择MS-DOS
  随着计算机业的发展,还出现了许多第三方的计算机外部设备,这些设备自行其是地和IBM PC相连接,但相互间并不能很好地协调工作。微软进一步地将MS-DOS的设备启动程序模块化,设计了一个设备驱动程序表,名为CONFIG.SYS,通过这个可以编辑的文件,指示计算机要驱动的设备。现在,IBM PC的MS-DOS用户就可以随心所欲地使用各种外部硬件设备了。为了管理硬盘的文件系统,微软公司的MS-DOS的2.0引入了大型机UNIX操作系统才用到的层次化文件系统,即目录树文件结构。而CP/M采用的分块磁盘管理方式(即将大硬盘分成小块使用),虽然开发容易,但依赖于硬件,使用也不灵活。由于这些新的设备的出现,不依赖硬件的MS-DOS开始超越CP/M-86。1983年3月,微软发布了MS-DOS 2.0版本,微软时代开幕了。
#1    新的16位标准操作系统
  到了1983年,IBM PC 电脑控制了个人计算机领域,越来越多的厂商也开始仿造IBM PC(称为IBM兼容机)。而MS-DOS对硬件的不依赖性,使得厂商们开始对CP/M置之不理,MS-DOS渐渐地成了16位微型计算机的操作系统标准。现在,MS-DOS开始满足各种不同计算机厂商的需要,如微软为了让欧洲和日本的计算机厂商采用MS-DOS,发表的2.01版本就提供了多个国家的语言格式和汉字支持。而MS-DOS 2.11版本就是第一个全世界发行的版本。
#1    霸主地位的确立
  MS-DOS 2.0为了兼容CP/M,还不得不采用了CP/M的许多技术方法。1984年,微软终于拿出了MS-DOS 3.0,这个软件对IBM的网络硬件提供了基本的支持,支持Intel的完全16位的处理器芯片80286,从MS-DOS 3.0开始,微软就开始完全按照自己的设想来发展MS-DOS了。
  在以后的岁月中,MS-DOS继续发展,1987年4月,MS-DOS推出了3.3版本,这个版本支持1.44兆软盘,支持更大容量的硬盘,设计了磁盘高速缓存。这个版本是MS-DOS的重要版本,这个版本流行到全世界,确立了微软在个人电脑操作系统的霸主地位。