原文:Microsoft MS-DOS early source code
译者:杰微刊兼职译者汪建
GEMS软件:计算机历史博物馆历史源码系列
IBM在他们的1981年个人电脑上做了一些很不寻常的事。IBM个人电脑使用的是工业标准的商用部件,而不是使用IBM自己为其他计算机开发的专有部件,这也包括了采用英特尔8088微处理器作为电脑的心脏。
这种“外包”的态度同样也延伸到软件上,尽管IBM有巨大的内部软件开发资源,但是对于新的PC机他们只做了对操作系统支持的工作,而没有自己写操作系统。有来自Pacific Grove CA数字研究公司的CP/M-86,还有来自San Diego加利福尼亚大学的基于Pascal的P操作系统,但他们更喜欢的是新写的PC DOS系统,委托总部位于西雅图的才成立5年的微软公司开发的。
当微软在1980年11月与IBM签订了合同后,他们没有这样现成的操作系统,所以他们也把项目外包出去了。他们从西雅图计算机产品公司先是授权然后购买了不同的两个操作系统,一个被称为QDOS_快速且肮脏的操作系统的操作系统和一个86-DOS操作系统。
PC DOS 1.0版仅支持软盘,1981年八月被搭载到IBM首次发布的个人电脑上。后来微软则大幅改写了此操作系统以支持子目录和硬盘。2.0版本在1983年3月被搭载到IBM PC-XT而发布。
微软保留了操作系统的所有权,并授权给其他电脑制造商,此操作系统被称为MS-DOS。随着微软公司的许可,计算机历史博物馆很高兴可以提供微软MS-DOS操作系统版本1.1和2.0的源代码和目标代码用于非商业用途。
zip文件包含四个子目录:
1、v11source:7个汇编代码文件,并有一封蒂姆?帕特森解释的电子邮件
2、v11object:27个文档档,一些二进制程序和一些示例程序
3、v20source:118个文本文件,主要是汇编代码和一些文档
4、v20object:38个文件,一些二进制文件和一些文档
要访问此材料,您必须同意此处显示的许可,只允许非商业用途,你没有在网上的其他位置发布该副本和授权给第三方使用的权利。
下载微软DOS V1.1和V2.0源代码:http://www.computerhistory.org/atchm/microsoft-research-license-agreement-msdos-v1-1-v2-0/
在本系列的其他历史的源代码版本包括IBM的APL编程语言、苹果II的DOS、Adobe公司的Photoshop、苹果的MacPaint/QuickDraw以及微软的Word for Windows。如果您希望我们做更多关于这方面的工作,请考虑通过捐款支持博物馆的工作。我们是一家501_c3非盈利性组织。
更多关于MS-DOS的起源
从头开始:NOT
在70年代末最流行的小型微型计算机操作系统是CP/M,由Gary Kildall在1974年左右编写并且由他创办的公司开始销售。1980年8月IBM参观了数字研究公司,有人说是比尔?盖茨建议的,主要调查“CP/M-86”的使用,因为他们即将为16位Intel 8088/8086处理器推出新的操作系统版本,用于他们正在开发的IBM的PC上。但他们未能就授权条款达成一致,因此IBM离开了并追求其他的选择。
蒂姆·帕特森于1986年
IBM已经为PC中的BASIC解释器与微软签订合同,于是也让他们研究并提供操作系统。微软建议使用“86-DOS”的授权,此操作系统已由西雅图电脑产品_SCP公司的Tim Paterson编写,用于基于8086的计算机套件,因为16位CP/M的版本延迟了。
当SCP公司与微软签署了授权协议时,他们并不确定谁是计算机制造商。Paterson说:“我们都有怀疑微软正在合作的公司是IBM,但我们不确定”。1981年他离开SCP公司并为微软工作,“我第一天上班走进公司大门后我才知道“嘿!这是IBM”。
1980年12月微软最初以$25,000的固定费用授权使用86-DOS。到了明年夏天,他们认识到拥有它的重要性,因为可以像授权给IBM公司那样将操作系统授权给其他公司,所以他们额外用了$50,000购买了86-DOS操作系统的所有权利。
在接下来的11个月Paterson工作于微软,在佛罗里达博卡拉顿与IBM工程师一起开发了个人电脑。PC-DOS 1.0版在1981年7月完成,IBM的PC公布前一个月。
SCP公司后来起诉微软,声称他们隐瞒了与IBM的关系以廉价购买操作系统。SCP公司最终以近$100万达成庭外和解。
MS-DOS≠CP/M
CP/M和MS-DOS之间有许多相似之处。受8位CP/M的启发,Paterson的16位操作系统使用了类似的命令和一些相同的编程接口,但它使用了不同的内部实施和不同的文件存储格式。
在数字化研究公司的Gary Kildall的意见是MS-DOS侵犯了CP/M的版权。并在微软和IBM都直接面对比尔?盖茨大发雷霆,但他的律师建议不要提起诉讼。“比起起诉,Kildall更愿意许可CP/M给蓝色巨人使用。但当个人电脑发布时他大吃一惊,IBM为每个CP/M副本收取$240费用,而DOS只要$40。”不用说,微软的操作系统成为IBM PC领域占主导地位的操作系统。
Paterson否认有任何不法行为。“我告诉他[Kildall]我没有复制任何东西。我只是拿走了他打印的文档,并做了一些同样的事情。”
三十年后,Bob Zeidman,一个软件程序员兼知识产权案件专家,对QDOS,CP/M和PC-DOS的代码进行详细的检查。他的结论:“QDOS绝对没有从CP/M复制的迹象,同样的MS-DOS也没有任何迹象。Kildall有关比尔?盖茨指控是毫无根据的。”
从PC-DOS 1.0到MS-DOS 2.0及以后
PC-DOS 1.0版本被搭载到1981年八月首台IBM PC发布,到1.1版,它支持了双面_320 KB软盘驱动器,1982年5月被发布。
在此期间,一整队微软程序员,包括公司联合创始人保罗?艾伦都在研究一个大版本的发布,该版本要增加支持子目录,并支持硬盘,并且到时将运行在IBM PC-XT。DOS 2.0几乎是DOS 1.0的两倍大,使用的内存为28K字节而不是12K字节。它作为PC-DOS 2.0搭载到1983年3月发布的PC-XT电脑上,而且还作为MS-DOS 2.0发布到其它电脑制造商。
MS-DOS继续得到加强,直到90年代末,届时Windows和其他先进的图形用户界面操作系统已经占领PC端。
早期版本的MS-DOS做了什么
适合运行在内存为12KB或28KB的操作系统与我们今天使用的大型复杂的操作系统有很大的不同。
MS-DOS基本上是一个文件管理器和一个简单的程序加载器。用户界面是键入键盘上的文本命令,接着在屏幕上显示文本的响应。没有图形输出,并且没有鼠标输入。只有一个用户应用程序可以在同一时间运行。文件名被限制为8个字符,加上指示文件类型的3个字符的文件扩展名。有像“dir”列出目录中的文件的命令,“DEL”删除文件的命令; 你通过键入可执行文件的名字运行程序。
除了添加了分级目录和硬盘的支持,重写2.0版包括了许多其他新功能:可安装的设备驱动程序用于支持外围设备,如打印机。后台进程_“终止并驻留”允许多任务缓冲处理打印和重定向,允许一个程序的输出成为另一个程序的输入,并支持9-sector软盘,使容量从320KB增加至360KB。
尽管其是个很基础的设施,十五年来DOS是几千几百万IBM的PC应用程序所依赖的基石。
致谢
30年来在我的阁楼有个存放了2.0版本源码的5"软盘,但我们需要微软的许可才能发布它。我们非常感谢硅谷微软研究院的执行董事Roy Levin,努力了很多个月才实现这一目标。
但我没有比版本1.1更早期版本的源码,明显微软也都没有。正如我在完成这篇文章的初稿时,我直接收到它的作者Tim Paterson的回复。我们很感谢Tim回复我们,还有很快地从Roy获得微软关于发布它的授权。
JF
微信关注《大话程序员》,
每天分享新奇有趣的互联网读物。
扫描或长按识