加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Windows Server 2003 黄金之路

发布时间:2019-06-05 06:13:47 所属栏目:编程 来源:蓝点
导读:> 本文节选自《Windows .NET Magazine国际中文版》 Mark Lucovsky、David Thompson,微软Windows Server开发梦之队的资深成员,见证了十五年微软Windows Server艰辛而辉煌的历程:NT团队组建,抛弃IBM的OS/2,与Intel的紧密结合,NT三度更名称雄天下,充满
>   本文节选自《Windows & .NET Magazine国际中文版》



  Mark Lucovsky、David Thompson,微软Windows Server开发梦之队的资深成员,见证了十五年微软Windows Server艰辛而辉煌的历程:NT团队组建,抛弃IBM的OS/2,与Intel的紧密结合,NT三度更名称雄天下,充满传奇色彩的Windows Server 2003开发。本文将向您全方位展示这些鲜为人知的Windows Server故事。



  最近,我与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的抛弃永远地伤害了两家公司的感情。“但是我们执行了审批,并且开始了进程,” Lucovsky说道,“因此我们选择了Win32运行NT,替代了OS/2子系统。”他说,那一刻,这个产品变成了Windows NT。



  NT的模块式结构为这个改变提供了便利。“应该感谢我们的微内核体系,它减弱了内核与应用程序环境的关联程度,比如POSIX和Win32。我们不必改变内核,也不必从头开始编程,” Lucovsky告诉我们,“日程计划的内容不必更改,我们在两周的时间里运行命令行应用程序。这时是1990年9月。”



  Thompson详细阐述了NT基础的重要性:“我们的核心体系非常坚固,所以我们才能使NT从适应1990年的386-25,一直发展到今天适应嵌入式设备、64路64位多处理器的机器和以1000美元为单位的刀片式服务器。我们可以为其提供全系列的服务。”



  1990年9月是Windows NT真正的转折点,同时也是Dave Thompson加入NT团队的时间,他先前领导微软的Lanman for OS/2 3.1高级开发团队。“我们经受了转变,” Thompson 告诉我们,“我们的队伍从28人增加到300人。我们有了第一个真正的产品计划。”



  NT大事记



  1988年10月31日:David Cutler抵达微软



  1988年11月:NT项目开始运作



  1993年7月27日:Windows NT 3.1发售



  1994年9月21日:Windows NT 3.5发售



  1995年5月30日:Windows NT 3.51发售



  1996年7月31日:Windows NT 4.0发售



  2000年2月17日:Windows 2000发售



  2001年10月25日:Windows XP发售



  2003年4月24日:Windows Server 2003发售



  1993年7月,Windows NT的第一个版本Windows NT 3.1发布了,版本号的命名与当时的16位Windows产品一致。那个版本的NT有桌面和服务器两个版本,并使用域形式的分布式安全机制。从那时起,NT团队开始连续地发布产品,所有的开发都基于相同的底层代码。



  第二个发布版本Windows NT 3.5(代码名为Daytona)在1994年9月投放市场。“Daytona是一个非常有价值的项目,”Thompson说,“我们把焦点放在尺寸和性能上,放在对3.1的功能进行完善上。Daytona有了显著的改进和增强。”Daytona最初的主题是尺寸、性能、压缩以及Netware兼容性。其中的两个想法具有当时的时代特征:1990年以前,双倍压缩是一个热门话题,因为当时硬盘很昂贵;Netware也是当时占优势的网络操作系统。“我们最终停止了压缩项目,”Thompson说,“但是Netware兼容性部分是具有战略意义的。Novell对NT桌面系统是矛盾的,他们不知道自己是否希望创建一个客户端。我们提供了帮助,但是他们保持混乱,并且……我们做出了自己的。它是一个更好的Netware客户端,被用户使用了几年,尽管最后他们也做了一个。这个客户端使NT桌面系统可以成为Netware的客户端,因为Netware当时是市场上的主流服务器系统。否则我们的NT桌面将卖不出去。”



  Daytona也得益于新的编译器技术,它使微软可以压缩代码尺寸,也使NT桌面成为真正的低端系统。“结果是可统计的,”Thompson说。



  Windows NT 3.51是配合Power PC发布的,因为它是围绕Power PC设计的,在3.5版本中没有提供对Power PC的支持。由于IBM经常延迟Power PC芯片组的发布,导致了一个孤立的NT发布。“NT 3.51的发布非常不值,” Thompson说,与对Daytona的评价正相反。“Daytona完成后,为了等待IBM完成Power PC ,我们大概用了9个月进行错误修正。但是正因为如此,NT 3.51是非常稳固的,我们的客户喜欢它。”NT 3.51最终于1995年5月开始销售。



  接下来的Windows NT 4.0,开始采用Shell Update Release(SUR),这是另一个得益于NT模块化结构的挑战性任务。“我们希望创建一个使用95外壳的桌面,但是它使用NT 技术。”Lucovsky告诉我们,“我们最终迁移了Win32 GUI组件,并使其作为进程内驱动。性能是受影响的一个方面,在一个不同的进程中运行这个API会带来问题。因此将代码迁移到作为运行时的相同上下文,将解决大量问题。我们不必为GDI和USER做死锁检测。它是一个重大工作,但它解决了大量令人头疼的问题。”NT 4.0于1996年7月投放市场,它是NT系列产品的一个分水岭。



  Windows挤掉NT



  接下来的发布中,Windows NT放弃了NT这个名字,成为简单的Windows。 Thompson说这个决定来自市场队伍。“一个家伙从Windows市场部调到NT市场部,并且说我们将在所有地方使用Windows这个名字。起初,改变名称令我们所有人都感觉不舒服,因为NT有很好的声誉。但是由于伴随Windows 2000一起推出的可靠性,人们开始谈论究竟Windows 2000比旧的NT要好多少,尽管它们基于相同的体系结构。所以这是一个偶然事件,Windows 2000没有一个代码名是因为Jim Allchin不喜欢。”Thompson说。



  自从完成Windows 2000之后,Windows队伍所作的最大决定是在Whistler产品中,分别发布客户端和服务器,即现在的Windows XP和Windows Server 2003。“这使得我们将焦点集中于服务器客户,他们现在更多地要求稳固性,”Thompson告诉我们,“桌面软件将按照PC制造者的销售周期同步发售。这与服务器周期不同。”



  David Thompson,微软公司Windows服务器事业部副总裁。1990年加入微软公司,在转入Windows NT项目组之前,领导和负责公司的LAN Manager for OS/2项目。在开发Windows NT期间,Thompson领导的开发团队在NT联网子系统方面作出优异贡献,不仅保证了该产品可以与微软产品协调工作,而且保持了与其他公司产品的兼容性。



  Mark Lucovsky,微软公司著名软件工程师和服务器构架设计师。1988年与Dave Cutler一起加入微软公司。他们都是前Digital Equipment Corporation(DEC)公司的杰出软件设计师。Lucovsky凭借在早期将NT从基于OS/2的系统迁移到32位Windows应用程序过程中的杰出贡献和技术敏锐,受到众多工程师的敬佩。



(作者:Paul Thurrott 译者:蒋世滨 出处:搜狐IT)

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读