首页 > commenting > DOS之父加里·基尔代尔(上)

DOS之父加里·基尔代尔(上)

2004年2月27日 hufey

本人不十分赞同此文对bill gates的评价


文章标题 DOS之父加里·基尔代尔
张贴者: 白头杉 (member)
张贴日期 02/26/04 17:27
盖茨靠抄袭基尔代尔发家
大家都知道,PC的腾飞依靠两个最主要的翅膀:微处理器和操作系统。这也是PC业中最大的两棵摇钱树。特德·霍夫发明的微处理器为英特尔种下了摇钱树。基尔代尔的DOS操作系统则为微软的霸业铺下基石。英特尔和微软成为PC业的最大赢家,而霍夫和基尔代尔则在贡献了自己的智慧后,两袖清风,而且在历史的页码中始终受排挤。
钱是会说话的,它能编写历史;钱是有手的,还能改写历史。基尔代尔的朋友和崇拜者说:“每一位PC用户都欠基尔代尔一份情,而比尔·盖茨和他的微软公司欠得比谁都多。”正如盖茨对待自己的领路人罗伯茨一样,为了掩盖自己的“债务”,盖茨的做法就是:淡化基尔代尔,并树立另一位DOS之父,将他挤出历史!
但是,历史不可能用金钱彻底改写,基尔代尔作为计算机软件领域的主要人物之一,其地位不可动摇,盖茨依靠基尔代尔的发明而起家的事实无法掩饰。
1973年,加里·基尔代尔(Gary Kildall)看到对个人计算机操作系统的需求,设计了CP/M操作系统(Control Program/Microprocessor or Microcomputer),CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好, 具有较好的可适应性和易学易用性。用基尔代尔的话说,CP/M“携带了基本的制造块”,它使整个计算机业界的设备变得更加统一。很快,约2000家计算机公司使用了他的程序。到1979年,CP/M已经成为8位数微处理器计算机的实际标准。而随后微软推出的MS-DOS操作系统的BIOS程式,几乎一位元不变地从基尔代尔的CP/M BIOS拷贝过去。
软件不同部分之间的交互接口,就是所谓的API——应用程序编程接口。API的发明和发展大大促进了计算机产业的进步,它几乎决定着计算机日常应用的各个方面。所有在应用上获得成功的软件或者Web应用无一不是首先在API的设计上满足了用户的需求。也是基尔代尔为微机首创了世界上第一个实用的软件API。这个初生的API大致上有20多个对操作系统的简单函数调用组成,这个操作系统就是CP/M——那时可是相当的简单和粗糙,而同样简单的API 却让整个计算机世界发生了重大变化。基尔代尔这个软件天才希望自己设计的API能被其他科学工作者采用,而商用方面的考虑没多想。而比尔·盖茨认识到, API绝对是商业软件获得成功的关键之一,随后微软推出的MS-DOS操作系统全盘拷贝了CP/M及其API,并在这些API的基础之上又增加了一些简单特性,比尔·盖茨将基尔代尔的发明变成了巨大的商业应用,并让MS-DOS的API在软件开发中占据了主导地位。
这大概是计算机天才的典型命运。虽然在软件方面,比尔·盖茨远不是基尔代尔真正势均力敌的对手,但盖茨更钻心于商业。而基尔代尔纯粹是学者,从事计算机也纯粹是满足智力的好奇。他不赞同盖茨的人生哲学,在他眼里,“我要赢”还不如“我要幸福”。这种哲学下,基尔代尔的结局可想而知。
计算机人生
1942年5月19日,加里·基尔代尔出生于美国西北部的西雅图,他在那里生活到27岁。是盖茨的同乡。在高中,他并不是明星学生,他喜欢新奇的玩意儿和汽车。他设计制造过一个自动防盗报警器,一个用磁带录音机来使用摩斯代码的机器,和一个触发二进制转换器。他喜欢长时间地摆弄电话装置,其沉迷程度就像后来的黑客沉迷于计算机。
1960年初,在基尔代尔上大学前两年,他在西雅图他父亲的航海学校任教。在那里,他对数学产生了浓厚的兴趣,但是航海是一个以老技术为主的领域。他去了华盛顿大学学习,本科念的是数学。刚进大学时,他选修了两门计算机编程方面的课程,这决定了他的将来。他用老式手工计算器进行数字分析方面的研究,但当他学完课程时,他已经涉入FORTRAN程序。他被计算机的缺陷所困扰,整晚把时间花在大学的计算机中心。1962年,基尔代尔与多露西·麦克艾文结婚,他们的婚姻维持了20年,有两个孩子。
越战开始,基尔代尔应征入伍。他加入了海军预备队,因此可以继续完成学业。他在罗德岛的军官后备学校呆了两个夏天。1967年,他获得计算机科学学士学位,留在华盛顿大学学习计算机科学的研究生课程。在大学的计算机中心,基尔代尔晚上在Burroughs 5500计算机上工作,通过它,基尔代尔学到了许多有趣的新概念,包括块存贮分配技术。深夜的时候,这台机器实质上是他一个人的。他为Burroughs 5500做ALGOL编译,这为他提供了编译经验,这也是他研究生学习的主攻方向。
1969年初,在基尔代尔获得硕士后,他应召为军队服务,他有两个选择:登上开往越南的驱逐舰或在加利福尼亚蒙特雷的海军研究生院教计算机科学。 “我只用了两毫秒就做出了选择。”他在海军研究生院教了三年计算机科学,又开始了博士生学习,方向是编译代码的优化,他的论文题目是《总流量分析》,用来决定如何使机器代码尽可能地简洁。1972年,获华盛顿大学计算机科学博士学位,参加了美国海军,秋天被分到加州蒙特利的海军研究生院,担任电脑讲师,主要从事软件方面的研究。
基尔代尔喜欢这个滨海城市的风光,青松笼罩着薄雾的环境很合他的喜好,他说话柔和,才智过人,穿着运动衫和紧身裤。当他想要表达什么时,往往先找支粉笔或铅笔,喜欢用图解答是他一生难改的嗜好。
他喜欢教书,是位出色的教师,和学生关系融洽,出过几本著作。他的工作也使他有时间编程序。可以说,学术界的氛围让他如鱼得水。
赋予微处理器以生命
1972年,他偶然发现在华盛顿大学公告板上有一则广告:“25美元卖一台微机”。因为教学需要,他买下了它,这是一台英特尔4004的4位微处理器,是第一台使用芯片的计算机。甚至当时没有人认为微处理器有什么用处,包括英特尔。此前,他一直用的是海军学校价值300万美元的IBM 360系统计算机。基尔代尔计划用这个芯片制作一一个导航计算器,他父亲一直想有一个可以计算导航三角形的设备。基尔代尔试着在4004上写一些技术性的程序,但很快意识到指令到指令集很有限。他又询问英特尔是否对他在4004上编的程序感兴趣,虽然英特尔对导航应用并无特别兴趣,但他们发现他的数学程序很诱人。
以往,计算机存储数据、数据处理和数据控制三部分是分开的。微处理器的出现实现了使其三合一。因此程序也需要“微小化”。基尔代尔使用二级法,先在DEC的PDP—10小型机上为4004创建新的“微程序”。1973年,他参观了英特尔的微机部,当时这家刚刚创办的公司只有几间破房屋。基尔代尔与英特尔的人很投缘,他用每周一天的休息日担任英特尔的顾问。他不但喜欢上了新职务,而且也迷上了微处理器。不久英特尔又让他试用新出炉的8008,只用了几个月,基尔代尔创建了PC史上革命性的微处理程序设计语言PL/M,为微处理器赋予了真正的生命,打通了微处理器与微电脑的通道。它很容易被接受了,它用于大量的开发系统软件如字处理器、编辑器和汇编语言。然后,基尔代尔开始为8080微处理器开发PL/m的不同版本,这个芯片取代了8008,并成为微型计算机革命的真正开始。
当时,英特尔觉得微处理器没有什么前景,当然对基尔代尔的程序也无动于衷。英特尔也失去了同时拥有微处理器和操作系统的大好机会。将另一半江山让拱手让给了微软。
英特尔8008问世后,自制了几台叫Intellec-8的微机。英特尔送了一台计算机作为基尔代尔的部分酬劳,他把这台机器放在教室后方,成为海军研究生院的第一个微机实验室。好奇的学生下课后都来滴滴答答玩上几个小时。当8008升级为8080时,Intellec-8变成了Intellec -80,性能高出10倍。英特尔又加送了一台显示器和一台高速纸带阅读机。基尔代尔和学生们大受鼓舞。这时,刚好遇上IBM发明8英寸软盘的艾伦·舒加特,立刻和一位戈登·恩巴克斯的学生一起,开发微机和控制程序CP/M的操作系统,这是世界上第一个磁盘操作系统(DOS)。

分类: commenting 标签:
本文的评论功能被关闭了.