IT人物志-Dave Cutler
2023-08-07 19:07:00 阿炯

大卫·尼尔·卡特勒一世(英语:David Neil Cutler, Sr.,1942年3月13日—),昵称为大卫(戴夫)·卡特勒(英语:Dave Cutler),生于美国密西根州兰辛市,著名软件工程师,大学期间获得数学学士,主攻物理;领导开发过数个作业系统,如RSX-11M、VMS、VAXELN,其中最著名的为微软Windows NT。

“Unix是由一群博士设计的垃圾操作系统!”

敢放出这样狂妄之言的,恐怕只有被称为“操作系统天神”的大卫·卡特勒(David Cutler)了。他是 VMS 和 Windows NT 的首席设计师,被称为“操作系统天神”。他曾供职于杜邦、DEC 等公司,1988 年,由比尔 ·盖茨招募到微软,他用了 5 年时间花费了 15 亿美金,负责组织 NT 的开发。David Cutler他曾经是惠普公司的 Unix 操作系统的开发者,被誉为美国最伟大的操作系统专家。


卡特勒确实有充足的狂妄的资本:
(1)卡特勒为VAX开发了VMS操作系统,让DEC统治了小型机市场。
(2)在微软主导开发了Windows NT,为其主要的操作系统(XP、7、10、11)奠定了基础。
(3)卡特勒为微软Azure云开发了云操作系统,帮助微软顺利转型云计算。

人这一辈子,能写一个流行的操作系统就名垂青史了,卡特勒老爷子一下子写了三个,涵盖了小型机,PC,云计算三个不同领域,所以他被称为“硅谷最牛内核程序员”。

有意思的是,虽然卡特勒这么厉害,却是一个典型的,不愿意做管理的程序员。70多岁的卡特勒每天还会走进微软位于西雅图的办公室,打开电脑敲代码。


在此聊聊David Cutler和三个操作系统的故事。

1、小型机操作系统

卡特勒和操作系统结缘,其实是个偶然的机会。

他是个双非程序员(非科班,非著名高校),在杜邦工作期间因为需要对客户的流程进行建模,要用到计算机,于是去了一所IBM开办的“培训班”,学习7044计算机和一门叫做GPSS-3的编程语言,没想到编程天赋爆棚,一发而不可收拾。


1971年,小型机的开创者DEC疯狂扩张,卡特勒看到机会,果断跳槽。现在很多人已经不知道什么是小型机了,其实小型机其实一点儿都不小,比如这台PDP-11:


之所以被称为“小型机”,是因为相对于IBM那巨大的大型机而言。

虽然DEC公司高手云集,卡特勒迅速展现了天赋。

很多八十年代的程序员都会炫耀自己开发软件时压榨每一个字节的经历,但卡特勒在70年代已经这么干了,他在开发PDP-11的实时操作系统中一举成名:用出色的技巧把程序缩减到了极致。 他的桌子上甚至放着一个橡皮戳,上面刻着“程序大小是最终目标”(Size is the goal),当某人的程序占用了太多内存,他就会给人盖个戳打回去重写。这引起了DEC的灵魂人物——戈登·贝尔的关注,戈登·贝尔是小型机之父,高性能计算领域的最高荣誉“戈登·贝尔奖”就是以他的名字命名。


当时蓝色巨人IBM也要将推出小型机,杀入这个市场。戈登·贝尔感觉必须大大地改进DEC的小型机,才能在强大的IBM面前保持领先地位,他规划了一个新的32位的小型机产品线,叫VAX。

VAX上会运行一个全新的操作系统:VMS,这个操作系统有个重要特点:既可以运行新程序,也可以运行之前为PDP-11编写的老程序,这就是向后兼容。(在后来的NT操作系统中也实现了这一点)。

VAX将会成为计算机历史上的分水岭,组建团队时,戈登·贝尔挑选了DEC公司最聪明的工程师,大卫·卡特勒被任命为VMS操作系统的领导。虽然说是领导,但卡特勒本质上还是个程序员,他喜欢亲自上手,不喜欢求人帮忙,因为“当把所有事情说一遍再做完,所说的话比要做的事多得多”。

操作系统的开发压力巨大,团队经常爆发激烈争吵,有一段时间,早上起床时卡特勒经常头晕眼花,甚至不能把身体站直,血压超高,全靠吃药才能把血压降下来。


(VMS开发团队合影)

两年以后,第一台 VAX superminis 从 DEC 的制造工厂问世,卡特勒负责开发的VMS操作系统表现优异,非常稳定,帮助VAX 迅速获得了市场领导地位。VAX的成功让卡特勒获得了巨大的财富和荣誉,他被戈登·贝尔称为“世界上最好的操作系统专家”。

但是,DEC公司的官僚作风让脾气暴躁的实干家卡特勒难以忍受,一群经理过来对VMS指手画脚,卡特勒没办法像之前那样指挥VMS项目,他一怒之下威胁辞职。 贵人戈登·贝尔再次给了他一个无法拒绝的提议:“带上你想要的任何人,去你想去的任何地方,做你想做的任何事情,告诉我你需要多少钱,DEC公司负责所有费用!”

卡特勒非常高兴,把自己的死党聚集到一起,从东海岸的马萨诸塞州搬到西海岸西雅图附近(靠近微软),远离DEC总部的官僚气息,西海岸还有高山可以滑雪,可以打猎,简直不要太爽。他计划为VAX开发一个新的实时操作系统,他本人也从软件进入了硬件领域,为MicroVAX编写微代码,这让他和很多程序员区分开来:深入硬件层次,大家用高级语言思考,卡特勒用寄存器和机器指令思考。但他的靠山戈登·贝尔1983年离职了,1988年新项目Prism被公司取消,西海岸团队解散,100多号人要在公司内部自谋生路,卡特勒喝得酩酊大醉,给大家放了一个月的带薪假。

2、Windows NT

这时候卡特勒接到了比尔·盖茨的电话。

卡特勒和他的团队根本看不上微软,认为微软的代码写得很糟糕,DOS在他们的眼中都是玩具操作系统,Windows 1.0、2.0也就是DOS套了个壳而已。但是比尔·盖茨说:你可以过来,开发你认为真正的PC操作系统啊,现在有PC,工作站,你写个操作系统把它们统一了!

吸引牛人最好的方式还是梦想,比尔·盖茨开出的梦想支票非常诱人。这有点像乔布斯招募百事可乐斯卡利时所描绘的事情:你是想卖一辈子糖水,还是想和我们一起改变世界?

卡特勒动心了,他忘不了自己在DEC的老伙计,要求带着20多人的团队整体加入,其中还包含计算机硬件工程师!

比尔·盖茨太渴望得到卡特勒这位操作系统的天神了,虽然微软不做硬件,但是他也满口答应。

1988年,卡特勒最终加入微软,这让比尔·盖茨和二当家鲍尔默手舞足蹈:卡特勒加入微软了,这真是难以置信!

卡特勒要做的就是NT操作系统,这个系统的目标可以说是雄心勃勃的,前所未有的:
(1)移植性:可以移植到到多个CPU架构(MIPS、Alpha、PowerPC、x64)
(2)灵活性:支持多种应用程序的接口(POSIX, OS/2 ,Windows 32 )
(3)可靠性:长时间运行而不崩溃
(4)安全性:通过美国国家安全局(NSA)的C2等级标准
(5)支持在多个CPU上运行,这在当时的PC上是独有的。



相对于DOS和Windows,NT的每个目标都是巨大的挑战,开发经历5年,有430万行代码,花费了1.5亿美元。开发的过程简直就是一场死亡行军,Bug似乎无穷无尽,开发团队宣传他们一共fix了3万个bug,其中包括需要真正的showstopper——危险到足以让整个系统崩溃。到了冲击阶段,在4月的最后一周fix 了惊人的1132个Bug,却又发现了713个严重到需要修复的新错误,每个人都精疲力尽。

NT的开发过程在一本叫做《Showstopper》(中文名《观止》)的书中有详细描述,强烈推荐。


1993年7月27日,Windows NT 3.1终于发布,它一改微软只能实现玩具操作系统,不断蓝屏的印象,实现了网络能力、可靠性、兼容性和便携性方面的主要目标,让竞争对手难以超越。盖茨估计NT提供的技术可以让微软用到2019年,实际上从Windows XP开始,Windows操作系统的代码都基于Window NT进行构建,并且一直沿用到今天。如果说有一个人在Windows发展历史上不可或缺的话,他就是大卫·卡特勒。

3、Windows Azure

2005年,Ray Ozzie(著名的Lotus Notes创始人)的创业公司被微软收购,他也进入微软成了首席软件架构师。

Ray Ozzie一直倡导通过Web的方式来交付软件,即SaaS,为了阐述自己的理念,他写了一份长达7页的备忘录,呼吁公司构建新的平台,在互联网上复制Windows,Office和其他应用程序。


这个想法在微软绝对是异端,因为Windows和Office一直是两个巨大的摇钱树,贡献了80%以上的收入,现在你要把它放到网上去,能赚钱吗?

微软前CEO鲍尔默最初是坚决反对的,但是最后还是被说服,开始全力以赴地推动微软的云战略。云计算也需要操作系统,谁来领军开发呢?

Windows的副总裁Amitabh Srivastava想起来办公室对面的大卫·卡特勒,此时卡特勒已经64岁,准备要退休了。但是看到有一个影响世界的机会出现了,卡特勒再次心动了。

两人拜访了微软已经运行云服务的部门,例如MSN, Hotmail,XBox Live,确定了开发Windows Azure的计划,项目代号Red Dog。

大卫·卡特勒这位大神的大旗一旦立起来,开发团队的人员招聘就不是问题,每个人都想和大卫·卡特勒共事。

64岁的卡特勒亲自操刀,为Azure开发了虚拟机管理程序(Hypervisor),得益于以卡特勒在操作系统和硬件领域的深厚功力,微软的Hpervisor效率极高,开销非常低,这样就可以把硬件资源充分地划分给虚拟机。


随着时间的发展,Windows Azure(后来改名为Microsoft Azure)开始慢慢发力,尤其是新CEO纳德拉上台以后,成为仅次于亚马逊AWS的第二大云计算平台,微软也从盖茨时代的软件公司转型为一家云计算公司。

4、另面卡特勒

卡特勒不但有着辉煌的技术生涯,在生活上也独具一格。

和文质彬彬的盖茨相比,卡特勒是个典型的“蓝领硬汉”,无论在高中还是大学,他都是校橄榄球队的绝对主力,他喜欢赛车,举重,喜欢打猎,喜欢在午夜去滑雪——这样可以在白天工作更长的时间。


卡特勒也是一个脾气暴躁、粗鲁的人,从不担心别人的感受。

在他发脾气时,嘴里动不动就冒出一串污言秽语,在DEC工作时,有个女工程师在打印机旁遇到了卡特勒,他正在扣卡在打印机中的碎纸,女工程师以期待的眼神看了他一眼,于是卡特勒就咆哮起来:你就是把那个打印机搞垮的混蛋吗?

卡特勒最著名的段子是开发Windows NT期间,他需要招聘一个秘书时,就对每个前来面试的人问道:你对Fuck这个词怎么想?这让无数女生铩羽而归,直到一个同样火爆的女生出现:这是我最喜欢的词,于是她被录取了。


与许多计算机界的前辈牛人们一样,David Cutler 并不是计算机科班出生,他在大学拿的是数学学士,主攻物理,满怀热情地想成为一位建造事物的工程师。所以,毕业后他进入杜邦公司从事材料测试。一次偶然的机会,David 被指派负责在 DEC 的计算机上运行模拟程序,还为多台单机实时系统编写中央控制程序,调度各种任务、监控系统运作。这个经历不仅丰富了 David 的软件知识,还让他做出了一个重大的决定:去一家真正从事计算机业务的公司,开发操作系统。

1971 年,David Cutler 离开杜邦公司来到 DEC。他的第一项任务就是为 DEC 的 PDP-11 微处理器开发操作系统——RSX-11M。PDP-11 是为工业控制和制造控制而设计的 16 位微处理器。David 结合总体概念和设计原则,利用汇编语言在非常有限的内存空间内实现了多项系统功能,如:树型文件系统、交换应用程序、实时调度和一整套开发工具等。据 David 回忆,当时连他的橡皮图章上都刻着开发这个操作系统的目标——“容量就是一切!” 后来,这些概念和原则也体现在了 NT 上。

70 年代后期,DEC 公司在 PDP-11 的基础上开发出 32 位的 VAX 处理器。与之相应,也要开发基于 VAX 的操作系统 VMS,要能兼容 RSX-11M,可以在不同大小的机器上运行。David Cutler 成为这个项目的负责人,设计 VMS 的架构。1977 年,VMS 1.0 问世。David 唯一的遗憾是,为了迎合商业进度,VMS 也是用汇编语言写的,尽管当时完全可以用高级语言。所以,技术上正确的事并不见得是商业上的最佳选择。随后,David 继续研制 VMS 的后续版本,不过他有些不耐烦了。1981 年,David 威胁要离开 DEC。为了挽留它的明星开发者,DEC 给了 David 大约 200 位软硬件工程师。David 把他的小组搬到西雅图,并建立了一个开发中心。这个精英小组的目标是设计一个新的 CPU 体系结构和操作系统,可以把 DEC 带到九十年代。DEC 把这个小组的硬件项目称为 Prism,操作系统为 Mica。

很不幸,Prism 项目于 1988 年被 DEC 撤销,很多项目成员也被解雇。因此 David Cutler 萌生了去意。此时,为了未来能够与 Unix 抗争、开发新的操作系统,Bill Gates 见缝插针,竭力劝说 David 加入微软。David 去了,还带去了许多与他一同开发 VMS 和 Mica 的程序员。进入微软,David 领导一个工程小组,负责设计一种能提供文件服务、打印服务和应用服务的对称多处理。操作系统,起名为 Windows New Technology(NT)。这就是 Bill Gates 想用来对抗 Unix 的新型武器。

经过近 4 年的开发工作,在 1993 年 6 月发布的第一版 Windows NT 3.1,已经具备了现代操作系统的雏形——抢先式多任务、虚拟内存、对称多处理器、图形界面、C2 安全级、坚固而稳定的内核、内置网络支持、完全的 32 位代码等。而 1994 年推出的 Windows NT 3.51 和 1996 年推出的 Windows NT 4.0,在性能上有了更进一步提高;NT4.0 甚至提供了当时最先进的 Windows 95 风格界面。David Cutler 在自己的天梯上继续攀升,Bill Gates 也在销售数字面前笑得合不拢嘴。

毫无疑问,NT 操作系统有一个优秀的内核,David Cutler 成功地引入了硬件抽象层、内核对象这些天才的思想。虽然我们没能得见它的源代码,但在钻研 NT DDK 的过程中、在埋头可能就是由 David 亲笔撰写的文档中时,总能有那些闪光点,让我们可以在不同的时空与大师对话。

如今,Built On NT Technology 的 Windows 2000 和 XP 的成绩有目共睹,而针对 64 位处理器的 XP 也即将推出。回顾开发操作系统的历程,David 情不自禁地感叹道:“我也不知道,自己竟是那么的幸运,能够在有生之年开发好几个操作系统,而对于任何一个人来说,哪怕只开发一个都是非常难得的机会。”

是的,David Cutler 做到了,在操作系统领域中纵横了几十年,缔造了许多传奇和神话。然而,又有谁会去看他几十年的专注、寂寞、付出与艰辛呢?可能每个人在开始自己的职业生涯时都会设定一个目标。然而只有那么一些人会抓住目标紧紧不放、全心投入,最后这些人成了我们眼中的成功者、技术天才。也许这就是成就天才与普通人的不同之处。

60 多岁的他在 2008 年仍然担任了微软云计算平台(Azure Services Platform)的主要开发者。

Dave Cutler成年前后轶事

戴夫·卡特勒(Dave Cutler)是在逆境中长大的。他很小的时候就学会了照顾自己,坚持己见,以及如何寻找方法跨过前进道路上的障碍。他1942年3月13日出生于密歇根州首府兰辛。兰辛是一座汽车城,许多生产汽车以及汽车零件的制造商都在这里安家。卡特勒的父亲叫尼尔(Neil),他几乎一生都在兰辛的奥斯莫比(Oldsmobile)工厂工作,先是在工厂的运输部门工作,后来成为工厂的看门人。

尼尔?卡特勒是一个聪明而且严谨的人,不过他很安静而且没有什么野心。他自小就一直被风湿病折磨着,这也使得他由于太虚弱而不能参加运动。他的视力也很差,使他不能很好地享受户外活动的乐趣。一种苦楚萦绕着他。他不喜欢交际;从某些方面看来,就像一个隐士。在家的时候,他情绪无常,脾气很不好,容易发怒。他喜欢喝酒。尼尔的妻子叫阿丽塔(Arleta),她抚养着他们的孩子戴夫和戴夫的姐姐邦妮(Bonnie),他们住在离兰辛八英里的迪维特(De witt)小镇,他们就住在尼尔父母的楼上。迪维特小镇大约有一千人口,四周都是农田,居民大部分是退了休的农民,他们离开农场搬到镇上来住。当戴夫八岁的时候,卡特勒一家从小镇搬出,到了一处有四十英亩大小的开阔地带。这块土地不适合种田,而且还没有房子。尼尔自己修建了一座小小的房子。那时,阿丽塔已经又生了两个孩子。这个家庭一起在一个大屋子里生活。阿丽塔修建了一个大花园,他们还在这块土地上种了葡萄树。上千颗树在那里扎根生长。

从十岁开始,戴夫·卡特勒就寻找机会挣钱。放暑假的时候,他把大部分时间都用来为周围的农民干活,包括修建牲口棚以及做一些零散的工作。有一个暑假,他在一所化肥工厂工作。还有一年,他和一个小伙伴一起捡旧报纸,积攒了整整一拖车后卖给废品回收站。在十几岁的时候,卡特勒被拉去参加体育比赛。因为毕业班上只有 34 个同学,他所在的小高中硬让他 “服役”。他参加了跑步、棒球、橄榄球和篮球项目。在篮球队中,他是副队长,在橄榄球队中,他是四分卫。在一场比赛中,他两次触地得分,其中一次得分几乎穿越全场。他跑得非常快。

橄榄球生涯结束后,卡特勒把所有精力都放在了学习上。他数学很棒,想过要学理科,但是最后还是决定学工科。在他 1965 年 1 月毕业时,有人让他到通用汽车公司做计算机编程的工作。和其他大公司一样,通用汽车公司也开始在 20 世纪 50 年代末期把它的业务记录从纸上转移到计算机里。但是卡特勒并不渴望加入通用汽车公司。他对电脑一窍不通,在他的印象里,计算机似乎很危险,甚至不吉祥。在 20 世纪 60 年代中期,许多人对计算机都有这种反乌托邦的看法。对这些咯吱咯吱咀嚼数字的机器,人们还抱着怀疑的态度,有的时候还很反感,因为他们有控制人类的倾向。计算机似乎总是要人类来服从它们的意志,强迫人们除了服从电脑的命令外做不了什么。

这使计算机的名声很不好,也让人们对为计算机编程这样的工作没有好感。几乎没有人愿意说自己是个程序员,如果有人真的这样承认,那么人们会觉得他很奇怪。在卡特勒从奥利维特学院毕业前几年,最顶尖的程序员在荷兰,有一个物理学家在他的结婚证上注明自己是程序员。令他沮丧的是,官方人员以没有这样的工作拒绝了他的结婚申请。

卡特勒对程序员工作持着一种非常墨守成规的看法,他很在意一份工作是否能给他带来自尊和地位。对于一个出身相对贫穷并决心依靠自己的力量攀登经济高峰、不向权势低头的年轻人来说,编程“似乎是种非常缺乏创造力并且枯燥的工作”。那些做程序员工作的人遵循着“一套固定不变的规则”,不是能规划自己蓝图的领导者。他不想搭上软件的边,直接拒绝了通用汽车公司。相反他进了杜邦公司。他很快就适应了这个稳健繁荣的化学巨人。他留着短发和军人那样的胡须。他第一个想到的就是要挣钱;他和一个在大学里认识的女人结了婚,而且已经是一个孩子的父亲了。

杜邦公司把卡特勒安排到一个帮客户寻找材料用途的部门工作。他接手的第一个工作是为一种新的方法建模,斯科特纸业(scott Paper)打算用这种方法来制作泡沫保温棉,用在夹克衫和其他外套上。这个模型非常复杂,需要使用电脑来创建。于是卡特勒只好放下了所有的事情去了一所由 IBM 开办的学校,在那里他可以学到怎样给ⅢM 电脑编程序。

卡特勒在学校里呆了一周。他感觉到自己的锐气第一次受挫了。编程“是最奇怪的事情,因为你过去习惯了做一些事情,而且你觉得你做的是对的”,后来他说:“但实际上错了。你只是没有注意到它是不对的。电脑对差不多正确是没有一点宽慰和原谅的。差不多就意味着你不审错的。”

快评当下中国程序员环境

中国很多人相信程序员是吃青春饭的,这主要是由中国软件水平发展的现状决定的。

1.大部分都做的是行业管理方面的软件,从计算机技术上说很快就可以进入;
2.很多公司没有管理和技术双重的提升机制,使得人们觉得做管理比做技术有前途,但是仍然有些公司客户非常认可技术人员的待遇也很好;
3.再就是没有很好的产品线,使得程序员不停地处于学习各种开发工具的状态,经验反而不是很重要,岁数大了学习当然会慢一点。

KV300 作者王江民初中毕业,38 岁开始学习计算机,45 岁只身办公司。62 岁的 David Culter,80 高龄的 Knuth 都是很好的例子。

程序员到了三十五岁,有以下优势:1.经验丰富;2.技术纯熟;3.为人老道。

有以下劣势:1.体力不支;2.工资太高(公司可能不堪负担);3.拖家带口精力不够;4.老资格,可能太有主见,不听话。

不喜欢这样的老程序员的公司有以下特点:
1.体力型(以知识含量低的软件为主,不注重软件质量);
2.公司财政困难,或与竞争对手恶性竞争,所以不能承受给经验丰富者高工资;
3.老板很独断 - 他说了算,手下只要有听话干活的;
4.客户是关系户,软件性能质量不重要。

喜欢这样的老程序员的公司有以下特点:
1.智力型(软件知识含量高,注重软件质量);
2.公司资金雄厚;
3.在技术上较民主,管理人员依靠大量资深技术人员定夺技术设计上的方向;
4.软件质量是竞争的生命。

国内流行程序员到 35 岁不行了,可能是因为前一种软件企业较多的缘故。在微软就还有不少奔四十甚至五十的程序员。注意,他们只是程序员,不是什么干部。他们很受到管理层的敬重,也各怀绝技。当然,话又说回来了,如果到了 35 岁,在技术经验上与 20 出头的毛头小伙还没有什么区别,那就悬了。

微软是在 2000 年设立 Distinguished Engineer 这一职位的。Steve Ballmer 在2000年6月30日给全公司的一封信中宣布了这一决定,以及第一批 16 位 Distinguished Engineer 的名单,其中:4 个来自 Windows 组,3 个来自 Developer 组,4 个来自 Office 组,3 个来自微软研究院。五年后这第一批 16 名 “杰出工程师” 中有 6 人离开了微软公司(包括去了 Google 的 Mark Lucovsky),另有 1 人(Antoine Leblond)转为 Office 组的 Vice President,加上今年刚从 Yahoo! 加入微软的 Gary Flake,目前微软还有 10 名 “杰出工程师”。


Windows NT

Windows NT 3.1 是微软的 Windows NT 产品线的第一代产品,用于服务器和商业桌面操作系统,于1993年7月27日发表。版本号的选择是为了匹配 Windows 3.1,微软当时最新版的图形用户界面,以表明它们拥有非常类似的用户界面方面的视觉效果。有两个版本的 NT 3.1 可供选择,Windows NT 3.1 和 Windows NT Advanced Server。它可以运行在 Intel x86,DEC Alpha 和 MIPS R4000 的 CPU 上。

NT 的开发工作始于 1988 年 11 月,当时微软雇用了一组开发人员,他们来自 DEC 公司,由 Dave Cutler 领导。许多设计元素反映了 DEC 在 VMS 和 RSX-11 上的前期经验。这一操作系统设计以运行于多种指令集结构和每种结构里的多种硬件平台之上。这种平台无关性通过一个叫做 HAL 的核心模式模块最大程度地隐藏在系统其余部分之外。

NT 最开始计划用于 OS/2 3.0,由微软和 IBM 联合开发的操作系统的第三版。但当 Windows 3.0 于 1990 年 5 月发表后,取得了异常的成功,于是微软决定修改当时尚未发表的 NT OS/2(它当时叫这个名字) 的主要应用程序接口,由对 OS/2 API 的扩展改为对 Windows API 的扩展。这一决定导致了微软和 IBM 之间关系的紧张,他们的合作最终破裂。IBM 独自继续对 OS/2 的开发,而微软则继续在新命名的 Windows NT 上的开发工作。

NT 的首次公开演示,当时它叫作 “Windows Advanced Server for Lan Manager”,是在 1991 年 8 月的一个开发人员大会上,并于 1993 年在佐治亚州亚特兰大市召开的 Comdex 春季展会上正式宣布。

起初这一操作系统的定位是 Intel i860 CPU,代号为 N10(英文读作"N-Ten"),NT 操作系统家族便由此得名。但 i860“严重落后于计划”,于是 NT 小组在 i860 原型硬件 (代号为 Dazzle) 交付之前使用了一个模拟器。对其它平台的支持将随后提供。起初定位于 i860 的原因是为了提高可移植性,避免制造一个以 x86 为中心的设计方案。

Windows NT 4.0 是微软 Windows NT 家族的第四套产品,代号 Cairo,于1996年7月29日发行给制造商。为一个 32 位元的操作系统,分为工作站以及服务器版本。而其图形操作界面类似于 Windows 95。根据比尔盖兹所言,产品名称中的"NT"为"New Technology(新技术)"的意思,然而时至今日,该名称已经没有其他特殊意义存在。

虽然稳定性高于 Windows 95,然而从桌上型电脑的观点来说,操作界面稍微欠缺了弹性。系统稳定性大部分要归功于将硬件资源虚拟化,软件必须借由系统的 API 以使用硬件资源,而不像 DOS 以及 Windows 95(包括稍后的版本) 时期直接由软件进行控制的缘故。但稳定的代价就是利用 API 进行操作所需要的步骤远比直接操作硬件资源多,因此造成硬件需求广泛的程式 (如:游戏) 执行上缓慢许多。许多以 Win32 API 开发的程式可以在 Windows 95 以及 Windows NT 上执行,但当时的主流 3D 游戏则因为 NT 4.0 对 DirectX 的支援有限,而无法在 NT4 上面运作。

Windows NT 4.0

NT 4.0 在进行维护管理工作的时候,使用者界面比起 Windows 95 较为不友善,举例而言,对于电脑的硬件没有 device management overview.

NT 与 "9x" 的分界线直到 Windows XP 的推出之后才消失,原因包括游戏用的 APIs—诸如 OpenGL 以及 DirectX—已经成熟到有够高的运作效率,并且加上硬件本身也有够高的效能,才能够以可接受的速度运行 API。

NT 4.0 在 Windows 2000 推出之后,微软已经终止所有关于 NT4 的服务,然而到现在 (2007) 为止,尽管微软希望他们的客户可以换成新的版本,依然有许多的公司企业配合旧硬件持续稳定的运作该系统中。

最值得注意的特点是不论工作站或者服务器版本的 Windows NT 4.0 都使用 Windows 95 的使用者接口,包括 Windows Shell、Windows Explorer(被称为 Windows NT Explorer)、以及使用"我的"命名法 (举例:我的文件、我的电脑)。

服务器版本的 Windows NT 4.0 内建了网页服务器,IIS 2.0。并且直接支援 Microsoft FrontPage(撰写以及管理网站的一支应用程式) 的外挂插件 (plugins) 以及延伸资源 (extensions)。此版本另一个重要的特色为针对网络应用程序提供了 Microsoft Transaction Server,以及 Microsoft Message Queuing (MSMQ),提高了通讯能力。

而跟之前版本的明显差异,即为 Windows NT 将 Graphics Device Interface (GDI) 整合进系统核心以提升图形使用者接口 (GUI) 的效率,使得系统效能跟 Windows NT 3.51 相比有长足的进步,不过也使得图形驱动程式也必须放在核心之中,造成潜在的稳定性问题。

NT 4.0 的其中一项缺点为欠缺对 Direct3D 的支援。不过这个问题在之后版本的 NT 家族中 (例如 Windows 2000) 获得了解决。NT 4.0 也不支援 USB,这项问题也伴随着 Windows 2000 的问世而消除。也有第三方厂商开发的公用程式提供了 NT 4.0 对于 DirectX 以及 USB 的支援。

NT 4.0 服务器,发行于 1996 年,以小规模企业的需要为设计原则的服务器系统。企业版发行于 1997 年,是首次在 Windows 服务器版本的操作系统中灌上企业版名称的系统。企业版服务器被设计在高使用率,高流量的网络中运作。终端服务器发行于 1998 年,允许使用者远端登入。在 Windows 2000 中,同样的功能被称为终端机服务,而在 Windows XP 以及 Windows Server 2003 中,被称为远端桌面。

NT 4.0 服务器被包含于 BackOffice Small Business Server4.0 以及 4.5 套装软件中。工作站的设计目标为针对一般商业使用的桌上型操作系统。以稳定的纯 32 位元作业环境为宣传,快速的在目标市场中获得成功地位。嵌入式系统为针对特定装置,例如 ATM 而设计的小型系统。

NT 4.0 对于安全性问题 MS03-010 并没有任何更新。没有更新的原因为,微软宣称 “基于 Windows NT4.0 和 Windows 2000 一些基本上的差异,为了修正此错误而重新编译 Windows NT 4.0 是不可能的,因为这需要重新建置大部分 NT 4.0 的操作系统,而不是仅仅修改受影响的的 RPC 元件,这种规模的系统更新将不能保证原本为了 NT 4.0 设计的程式能够继续在更新过的系统上运作。”作为替代方案,微软建议使用者以安装防火墙阻挡连接埠 135 以保护他们的系统。

2004年12月31日,微软终止了 Windows NT 4.0,包括安全更新的所有技术支援。因此微软建议目前的 Windows NT 客户升级为更新、更安全的操作系统,例如 Windows 2000 或者 Windows Server 2003。