若干年之前,大约20年前,当时我还在武汉大学信息学部操场旁的图书馆中翻看《程序员》杂志,有一天看到一篇文章,来自于《程序员》杂志的《名人堂/Hall of Fame》专栏,当时看完之后,感叹良久,有“大丈夫当如是”的豪气,这篇文章写的就是Windows NT操作系统架构师David Culter的成长经历,现在csdn上还可以找到相关的文章。后来写《软件调试》一书的来自Intel的张银奎曾翻译过一本《Show stopper/观止》的书,写的就是魔鬼架构David Culter带领一群微软工程师,怎么日日夜夜努力攻关,以至于有些人婚姻亮红灯,晨昏颠倒,组里面许多人都被压到濒临崩溃,最终取得圆满结果的过程。呓,盖凡成就一番伟业的人,大都经历过这样的疯狂岁月,才能取得大成功吧。
就是这个人:
对,就是这个犟老头,逼着工程师写出NT这样的架构。当年运行Windows 2000, Windows XP时,那个开机后的进度条下面一行小字,基于Windows NT架构,是对这些人荣誉的认可。
以下内容来自于转载的csdn的文章:
大卫·卡特勒(David Cutler),又叫做戴夫·卡特勒(Dave Cutler),戴夫是他的昵称。他是一位传奇程序员,是 VMS 和 Windows NT 的首席设计师,被人们成为「操作系统天神」。
他曾供职于杜邦、DEC 等公司,1988 年,由比尔 ·盖茨招募到微软,他用了 5 年时间花费了 15 亿美金,负责组织 NT 的开发。
与许多计算机界的前辈牛人们一样,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 做到了,在操作系统领域中纵横了几十年,缔造了许多传奇和神话。然而,又有谁会去看他几十年的专注、寂寞、付出与艰辛呢?可能每个人在开始自己的职业生涯时都会设定一个目标。然而只有那么一些人会抓住目标紧紧不放、全心投入,最后这些人成了我们眼中的成功者、技术天才。也许,这就是成就天才与普通人的不同之处。
来,跟着我再看一遍这段话:
在操作系统领域中纵横了几十年,缔造了许多传奇和神话。然而,又有谁会去看他几十年的专注、寂寞、付出与艰辛呢?可能每个人在开始自己的职业生涯时都会设定一个目标。然而只有那么一些人会抓住目标紧紧不放、全心投入,最后这些人成了我们眼中的成功者、技术天才。也许,这就是成就天才与普通人的不同之处。
作为牛马的我们,是否忘记了当初的梦想,当初的豪言壮语,是否要改变世界?
—— 2024年12月5日 上海张江