Windows Server 2003开发历程揭密

   最近,我与Janet Robbins和Mike Otey一起游览了微软公司,我们有幸面见了在Windows历史中最著名的两个人物:Mark Lucovsky和David Thompson。在Windows NT的早期,Lucovsky和Thompson在这个重要软件项目的开发中扮演着关键角色。Mark Lucovsky是著名的工程师,也是Windows Server的设计师,他与DEC公司的前雇员、NT设计师Dave Cutler一起加入微软公司。他非凡的能力首先体现在如何使NT中数百成千的组件协同工作在一起。对技术的敏锐嗅觉,以及为将NT从基于OS/2的系统转变成运行32位Windows程序的系统所做的早期努力,使Lucovsky声名远扬。David Thompson是Windows服务器事业部副总裁,他于1990年加入微软,他当时领导一个LAN Manager项目的高级开发组,后来又加入了NT团队,Thompson指导NT网络子系统的开发,确保该产品可以与其他非微软产品协同工作。

  微软组建NT梦之队

  “起初,我们将NT的运行目标定位于Intel i860 (代码号为N-Ten),一个令人生厌的RISC处理器。由于我们没有一台i860机器,我们不得不使用i860模拟器。这就是我们称之为NT的原因,因为它工作在‘N-Ten’上”

  ——Mark Lucovsky

  微软著名工程师、Windows Server设计师

  “我们在1988年11月作为一个小组一起到来。”Lucovsky告诉我们,并强调NT团队的第一个任务是获取一台开发机器,后来是25MHz的386 PC机,具有110 MB硬盘和13 MB内存。“它们价高质次。”他笑着说。在头两周里,除了用Word编写原始设计文档外,没有什么重大的开发活动。

  最后,到了开始写代码的时候了。“大约在1988年12月中旬,我们核查了最初的代码,”Lucovsky说道,“到1989年1月份时,它只具有一个在Intel i860模拟器上引导的非常基本的系统。”实际上,这是NT名称的真正来由,据Lucovsky透露,“New Technology”这个说法是在该产品取得市场成功后加上去的。“起初,我们将NT的运行目标定位于Intel i860 (代码号为N-Ten),一个令人生厌的RISC处理器。由于我们没有一台i860机器,我们不得不使用i860模拟器。这就是我们称之为NT的原因,因为它工作在‘N-Ten’上。”

  1989年4月,新指定的NT团队有了在模拟器上运行的基本系统内核。“我们5个来自DEC的家伙和来自微软的Steve Wood一起开始工作,”Lucovsky说,“我们这个小组保持了很长时间,经过一个夏季,我们开始考虑:创建一个操作系统究竟有多难?我们制定了一个用18个月完成NT的计划。但是我们忘记了一些重要的因素,比如用户模式、网络等等。”

  1989年之后,NT小组开始扩充。他们增加了正式的网络团队,和一个扩充的独立安全性团队,他们先前负责文件系统和本地化开发。“在第一年中我们增加到50个人,”Lucovsky说,“在这一年中,我们最终得到了第一台i860原型机,因此我们可以替换模拟器。我们开始查看上下文切换次数,试图找到一个方法让它工作得更好。我们几乎立即就发现i860将永远无法工作。因此,我们开始着眼于MIPS体系,另一种RISC设计。”

  1989年12月,NT团队决定放弃i860并用MIPS R3000芯片替换。“我们在真实硬件上无休止地引导NT,这样持续了两三个月,”Lucovsky告诉我们,“当我们移植到MIPS上之后,我们得到了回报,我们将NT设计为可方便移植的,它几乎立即就开始工作了。这种改变没有带来太多的痛苦。”

  从这时起,NT团队迅速扩大,来自微软不同阵营的人现在都加入进来。当一种使用图形的新风格被创立后,图形团队迅速增长。他们也开始将NT转向当时的主流PC处理器Intel i386,Lucovsky解释了他们最初没有定位到i386的原因。“我们暂时避开386是为了避免局限于该体系,我们不想采用一个不可移植的构想。”他说如果在一开始就定位于Intel系列芯片,则他们在早期就可以有一个较高性能的系统,但是那样就会长久地伤害NT,并且将很难跟上新体系结构的发展,比如最近基于64位Itanium芯片的Windows Server 2003。

  NT变成Windows NT

  “我们的核心体系非常坚固,所以我们才能使NT从适应1990年的386-25,一直发展到今天适应嵌入式设备、64路64位多处理器的机器和以1000美元为单位的刀片式服务器。”

  ——David Thompson

  微软副总裁、Windows Server产品组

  “在1990年的春天,我们的MIPS版本继续曲折前进,同时我们开始狂热地开发386的版本,”Lucovs说道,“这是另一个巨大突破。”那一年5月,微软发布了Windows 3.0,立即受到了全世界的关注。Windows由于其基于PC的图形功能而取得了非凡的成功。“我们开始研究Windows 3.0并且自问‘如果用32位的Windows版本替换OS/2将会怎样呢?’”Lucovsky又甩出一个更深层次的问题:“Steve Wood、Scott Ludwig、一个图形工程师组的人以及我本人,我们4个家伙研究了16位的Windows API,并研究如何将其延伸到32位。我们花了一个月完成了一半的API集合,然后把它交给100位设计评估者,看看他们的想法。”

  新的API最终命名为Win32,关键的一点是,尽管它是一个新的API,但是它看上去和运行起来都与16位Windows API相似,这使得开发人员可以很容易地将程序移植到新系统上。“我们使得16位程序可以非常容易地移植到NT上,”Lucovsky说,“并且这些程序将得益于NT的独特功能,比如更大的寻址空间。我们也增加了许多16位版本中所没有的API。我们增加了主流的新功能,使它成为一个完整的操作系统API,但我们使用了Windows程序员所熟悉的风格。”

  这在微软内部立即引起了反响。“当他们看到它是如此易用时,立刻就喜欢上了它,”Lucovsky说,“它基于Windows而不是OS/2,它使用了一种完全不同的编程模式。”然而,替换OS/2产品,将NT变成一个32位的Windows版本,带来了新的课题,其中并不完全是技术问题。微软不得不获取ISV和OEM审批,当然也要将这个改变通知IBM。“我们对IBM做了一个ISV预览,足足有20多页,然后我们说:‘看,这就是我们要做的。’开始他们以为Win32不过是OS/2的一个迷人绰号,可是接下来你可以看看他们的脸色:‘等一等,这不是OS/2!’”

  对OS/2的抛弃永远地伤害了两家公司的感情。“但是我们执行了审批,并且开始了进程&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值