腾讯科技2016科技 > IT报道 > IT新闻 > 正文

MS-DOS诞生三十周年:盖茨早年采访记录回顾

2011年07月29日18:57腾讯科技[微博]中涛我要评论(0)
字号:T|T

MS-DOS诞生三十周年:盖茨早年采访记录回顾

比尔·盖茨青年时期照片(腾讯科技配图)

腾讯科技讯(中涛)北京时间7月29日消息,本周三(7月27)为微软MS-DOS操作系统诞生30周年纪念日。为此美国知名IT杂志《PC Magazine》网络版(pcmag.com)重新刊登了该杂志当年对微软联合创始人比尔·盖茨(Bill Gates)的采访记录。

1981年7月27日,微软以7.5万美元从西雅图电脑产品公司(Seattle Computer Products,SCP)购买了名为“QDOS”的操作系统产品,并将其名称更改为“MS-DOS”。虽然微软直到1982年才面向普通消费者发布MS-DOS,但正是MS-DOS的推出,才使微软后来有机会推出Windows操作系统,并把盖茨推上世界首富宝座。

在《PC Magazine》创刊第一期中,刊登了该杂志对盖茨的采访记录。在这次采访中,盖茨谈到了MS-DOS技术细节、微软同IBM PC项目合作以及微软市场增长前景等情况。

上个世纪80年代美国知名IT记者戴维·本内尔(David Bunnel)亲自前往微软总部对盖茨进行了这次采访,采访时间达两小时之久。盖茨当时头衔为微软总裁。

以下为《PC Magazine》网络版重新刊登该杂志第一期本内尔对盖茨的采访记录:

本内尔:微软是如何参与IBM PC项目的?对于其中始末,请尽可能给我们透露最详细情况。

盖茨:就IBM PC项目而言,我们最初也不了解他们的真实意图。1981年7月,IBM主动同我们接触,并举行了非常初步的会谈,让人感觉他们仅仅是在做一项市场调研。他们说:“别期望太高,不一定会有重大合作项目。”

他们随后谈到,如果计算机被设计成能够运行标准软件,则事情就会好办得多。我们后来发现,IBM内部多家实验室已被要求研究如何尽快完成该项目的可能性。但对于IBM这样的大型科技公司而言,研发项目从立项到完成设计,通常需要四年以上时间。一方面是IBM的研发项目过程较长,另一方面是IBM希望尽快参与到PC产业当中。如果你1976年对产品立项,1980年才推出产品,则产品肯定不会有多少市场竞争力。

正因为如此,IBM希望采取更为变通的方式。IBM一位产品开发经理组建了一个委员会,成员来自IBM各实验室。IBM要求该委员会成员思考如何快速解决IBM PC项目问题。与微软会谈的是来自Boca Raton实验室的人员。他们当时谈到了如何集思广益、如何在现有软件基础上开发新产品、如何使用业界标准零部件(如使用英特尔处理器)等等。然后他们就回去了,并表示如果使用这种新方式,就可以使项目设计在1年之内完成。

我个人的理解是,IBM的其他研发团队曾提出建议,可效仿IBM现有指令集。当时有传闻称,IBM一个内部团队试图从日本购买一台机器。当时的情况是,一名日本客户曾让我们给他们编写一些演示软件,这可能正是IBM内部团队希望通过日本途径了解我们技术的原因。

大约1980年年底左右,Boca Raton得到了可开展项目的命令。他们共来了12位人员。在他们来之前,曾表示:“我们想做一笔生意,前景将很可观。”后来他们又说:“我们现在很忙,我们将派出技术团队同你们的技术团队会面,让我们同时做好准备工作,此外还有双方法律团队、采购团队的会谈问题。所以我们可以同时举行四、五项会谈,以解决相关问题。”这样做也行,但当时微软这些事情都是由我本人负责,我一个人也就能够同时做两件事,因此不可能与他们同时举行五个内容不同的会谈。

他们来了12个人,双方会谈进展顺利。双方会谈的结果是:我们为IBM最新款式的硬件提供最新软件,相应工作需在一年之内完成。但在这项工作完成之前,首先还必须拿出使用16位处理器的最新款硬件设备,同时做好一些有关图形界面的问题。应该说,当时双方都承认会谈取得了预期效果。

本内尔:为何必须使用16位处理器?

盖茨:因为目前PC产业的技术标准尚未建立,容易引起混乱。对于用户而言,他们并不在意机器内部有哪些零部件,他们购买的其实是解决方案,而不是计算机硬件本身。确实如此,他们希望购买的是字处理软件或IBM刚刚宣布的VisiCalc应用程序。

我觉得16位处理器非常重要,其原因并不因为16位处理器速度更快。当然,如果你坐在一台IBM制造的16位处理器PC机前,试用一会儿就会发现,16位机器速度确实比现有8位处理器快很多。我觉得16位处理器非常重要的主要原因是,它能增加大量地址空间。这听上去是一个纯技术问题,但对于终端用户界面而言,16位处理器将有着更大发挥空间。

我所说“8位世界”,是指6502微处理器,该芯片被用于苹果、Pet及Atari等产品当中;“8位世界”同时也指当前最为流行的8080、Z-80系列芯片,它们被用于Xerox 820、NorthStar、Vector Graphic以及其他产品当中。这些8位机器的一个共同特点是:其逻辑地址空间限制在64K字节之内(约6.4万个字符存储空间)。你必须将操作系统、程序、数据、图形内存等所有此类数据放置到64K的空间中。在编写程序过程当中,我们既要保持程序体积较小,又要提高软件性能,这样就会遇到很多难题。微软在这方面的工作最为出色。我们在8位机器上花费了很多精力并取得了成功。但在16位机器上,这将不再是我们关注的重点。

8位机器也使终端用户界面存在诸多不便,因为他那儿也无法容纳足够多的东西。如此一来,8位机器的整体性能就大打折扣。举例来说,每当我们为BASIC增加一些新功能,如提高屏幕处理功能等,就会引起用户不满,称新增加功能等于抢走了他们应用程序所占据的空间。

而现在的8088处理器(IBM所采用16位微处理器),使原先逻辑地址限制的问题迎刃而解。这种芯片地址空间增至1兆字节(100万个字符)。IBM宣布所支持空间达四分之一兆字节,即256K,这样所覆盖范围就比较宽。换句话说,终端用户界面整合软件问题将有大幅改变。

本内尔:你们最近宣布将推出Multiplan计划包,该产品是否将同字处理软件相整合?

盖茨:初期阶段还不会这样做。我们刚刚得到额外资源后,尚不知通过何种方式来加以有效利用。我想说的是,就编写软件中的可传送格式及增加新功能等事宜上,64K障碍一直是关键性限制。如今我们解脱了,我们可进行更多创新。这就好比苹果计算机显示屏提高了分辨率。Apple II刚刚推出时,该产品具备高分辨率图形处理能力,但在此后约三年时间中,没有人在编程中对这一优势加以利用。这些程序是面向低分辨率而开发,如果使用特殊模式,看上去似乎有些怪异。时至今日,Apple II实际上已被定义为高分辨率图形。大量娱乐包甚至严肃服务包,无不利用这一优势。

我上面所说的意思是指,IBM PC中的图形内存已存在于机器地址空间当中。这就是说,你能够使用任何8088指令在屏幕上操纵这些字节。尤其是字符串操作指令在利用这一优势后,可在屏幕上提供更为生动的字体效果。在8位机器当中,我们根本不会这样做,因为这样会用尽64K的资源。我们放置了很高的内存,增加量约为四分之三,这样你就能够随时使用。

我本人和其他人在这儿编写了在IBM机器的演示程序,演示时间约为3个多小时,原因就是利用机器的额外功能,我们能够在BASIC中加入各种命令,从而使机器性能轻松得以完全发挥出来。如果是苹果机器,如果有人能够做到充分利用高分辨率图形优势,他必须是大师级人物。所以我说存在着“位与字节障碍”,只有克服这个障碍,才能对机器加以有效利用。作为一名出色编程人员,必须有两大优势,一是精通位与字节,二是具有创造能力。事实上,这两项才能兼而有之的程序员非常罕见。

在IBM PC中,我们降低了位与字节障碍的难度,因此我们能够找到一些具有创造能力的人加入进来,从而为机器增加一些特殊功能。我们已经去掉了普通需求,而是进入到机器内部,使机器能够真正发挥出性能。与8位机器相比,16位机器的性能要强大得多。

本内尔:你刚刚谈到了图形问题。请再详细谈谈。

盖茨:要说图形,我要特别提到我们在BASIC中增加的一些简单动词。我要谈及三个动词。第一个动词是“CIRCLE”(环绕),这个词汇很容易理解:一个圆圈中哪儿是中心,半径是多少,然后就能确定下来。当然,你也有更多选择,如始角、终角和方位比率。默认值就是完整圆圈,用户就可借此画一个馅饼图案。

另一个动词为“PAINT”(绘画)。这个概念也非常简单,你在屏幕中选择一个点,就好比你用画笔画画一样,然后直到屏幕边沿或达到某个界线,如你先画定一个白色界线,然后画笔不得超过这个白色界线。因此无论你画的是什么形象、四方形、圆圈或其他奇形怪状的东西,它将使用画笔和颜色,直到它找到边界为止。在默认值情况下,它使用的是同一颜色。如果你给出额外参数,你又能够以其他颜色画画。如此一来,你能够画一个白色圆圈,中心为蓝色;或者你有一些参差不齐的线,你希望将它们显示在该区域中,你会在内部找到一个点,然后画出任意形状。

“PAINT”是一个简单词汇,其过程也很简单,也容易被人感知。但要让机器执行这一过程却非常困难,它需要使用机器的一些功能。你可以两秒钟内在屏幕中画出图象,但在8位机器中,你根本无法做到这一点。这听上去似乎无关紧要,但如果你希望在新型用户界面上尝试新的东西,它就非常重要。那些所谓Xerox Star之类的界面将面向公众人群,这些图形性能就非常重要。举例来说,我们在屏幕上用箭头指向某个物体时,我们用的是固定箭头。而要有效做到这一点,我们实际上是使用了PAINT来实现这一功能。

我最后想提到的一词汇是“DRAW”(抓取),该词汇代表着我们一两年作出的一项决定,即每次我们在BASIC中增加新东西,通常会增加大量新词汇。就图形而言,你会一直增加新词汇,但用户很难记住所有这些词汇,而且每个词汇都有各自特定用法。这是其中一个问题。另一个问题是,如果你使用一大堆动词,则对图形物体的描述就很难读懂或以文件形式记录下来。而我们是在编程,如果对图形物体的描述有所变动,则意味着对程序本身也要变动。这就很令人头痛,因为在BASIC中,程序和数据并不是平等对待,这样就会产生大问题。你希望通过BASIC中现有更为简单的方式来描述图形物体,于是我们选择了使用字符串数据类型。因此我们目前拥有了一个简单词汇来给予几乎所有图形能力,这个词汇就是“DRAW”。

举个例子,如果你希望画一个盒子,你使用子词汇,如“R”代表“right”(右),“L”代表“left”(左),“U”代表“up”(上),“D”代表“down”(下)。如果我希望画一个体积为10x10的正方形,我将键入“DRAW”,并确认其为字符串,然后键入“R20 D20 L20 U20”命令,在执行该命令后,机器将能够画出该盒子。这就是所谓的“图形宏语言”,IBM PC也是我们加入该图形功能的第三款机器。该功能已被广泛接受。由于使用了字符串,你可以写入文件当中、进行编辑或进行搜索等等。

同一理念也可用于音乐,即称为“音乐宏语言”。这时我们就不再使用“DRAW”命令,而使用“PLAY”(播放、弹奏)。键入“PLAY A、B、C”,则机器会弹奏“A、B和C调”。如果你希望在特定领域有突出表现,他们就必须学习相关领域的宏语言,但这些语言其实由超级简单的命令组成,而且具有独立性。

我上面所举音乐功能例子,并不是针对苹果。我举这个例子的意图是,目前最热门的机器其实具备很多功能,只是我们尚难加以有效利用。同样,要想成功开发出音乐功能,你必须精通编程,从而使苹果机器能发出动听的乐章。在BASIC中,我们已提供了音乐连奏、断奏和正常演奏,只要你懂得在BASIC当中键入一些非常简单的字符。所以我们将满足PC机用户的各种需求。虽然目前尚未能够完全做到这一点,但我们正在正确的道路上行进。

推荐微博:

注册微博
[责任编辑:jimmonzang]
登录 (请登录发言,并遵守相关规定) 分享至: 腾讯微博
如果你对科技频道有任何意见或建议,请到交流平台反馈。到微博反馈

企业服务

热点推荐

推广信息