• David Cutler,VMS和Windows NT的首席设计师 (zz.is2120)


    //z 2012-09-26 22:35:57 IS2120@BG57IV3.T733345884 [T53,L1565,R33,V429]
    David Cutler,VMS和Windows NT的首席设计师,1988年去微软前号称硅谷最牛的内核开发人员,在操作系统领域摸爬滚打几十年,其间的经历就像一部标准的外省青年奋斗记。
    //z 2012-09-26 22:35:57 IS2120@BG57IV3.T733345884 [T53,L1565,R33,V429]
    与许多计算机界的前辈牛人们一样,David Cutler并不是计算机科班出生,他在大学拿的是数学学士,主攻物理,满怀热情地想成为一位建造事物的工程师。所以,毕业后他进入杜邦公司从事材料测试。一次偶然的机会,David被指派负责在DEC的计算机上运行模拟程序,还为多台单机实时系统编写中央控制程序,调度各种任务、监控系统运作。这个经历不仅丰富了David的软件知识,还让他做出了一个重大的决定:去一家真正从事计算机业务的公司,开发操作系统。

    1971年,David Cutler离开杜邦公司来到DEC。他的第一项任务就是为DEC的PDP-11微处理器开发操作系统——RSX-11M。PDP-11是为工业控制和制造控制而设计的16位微处理器。David结合总体概念和设计原则,利用汇编语言在非常有限的内存空间内实现了多项系统功能,如:树型文件系统、交换应用程序、实时调度和一整套开发工具等。据David回忆,当时连他的橡皮图章上都刻着开发这个操作系统的目标——“容量就是一切!”后来,这些概念和原则也体现在了NT上。
    //z 2012-09-26 22:35:57 IS2120@BG57IV3.T733345884 [T53,L1565,R33,V429]
    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也在销售数字面前笑得合不拢嘴。
    //z 2012-09-26 22:35:57 IS2120@BG57IV3.T733345884 [T53,L1565,R33,V429]
    毫无疑问,NT操作系统有一个优秀的内核,David Cutler成功地引入了硬件抽象层、内核对象这些天才的思想。虽然我们没能得见它的源代码,但在钻研NT DDK的过程中、在埋头可能就是由David亲笔撰写的文档中时,总能有那些闪光点,让我们可以在不同的时空与大师对话。

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

    是的,David Cutler做到了,在操作系统领域中纵横了几十年,缔造了许多传奇和神话。然而,又有谁会去看他几十年的专注、寂寞、付出与艰辛呢?可能每个人在开始自己的职业生涯时都会设定一个目标。然而只有那么一些人会抓住目标紧紧不放、全心投入,最后这些人成了我们眼中的成功者、技术天才。也许,这就是成就天才与普通人的不同之处。
    //z 2012-09-26 22:35:57 IS2120@BG57IV3.T733345884 [T53,L1565,R33,V429]
    就是这个60多岁的老家伙,在2008年仍然担任了 微软云计算平台(Azure Services Platform)的主要开发者。

    当初他和他的手下在微软一周内把一个具备基本功能的bootable kernel写出来,然后说:“who can’t write an OS in a week?”,也是牛气冲天的说。顺便说一句,D爷爷到NT3.5时,管理1500名开发员,自己还兼做设计和编程,不改coder本色啊。D爷爷天生脾气火爆,和人争论时喜欢双手猛击桌子以壮声势。:-) 日常交谈F-word不离口。他面试秘书时必问:”what do you think of the word ‘****’?” ,让无数美女刹羽而归。终于有一天,一个同样火爆的女面对这个问题脱口而出:”That’s my favorite word”。于是她被录取了,为D爷爷工作到NT3.5发布。
    //z 2012-09-26 22:35:57 IS2120@BG57IV3.T733345884 [T53,L1565,R33,V429]

  • 相关阅读:
    最近看代码查到的一些函数,稍作整理(2022.4.1)
    Pytorch的repeat函数
    随机数使用小技巧
    Pytorch的Normal
    OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.报错解决办法
    pytorch tensor索引中的none含义
    scheduled sampling 待完善
    Pytorch的nn.Sequential(*modules)中*的理解
    EOFError: Ran out of input报错解决
    conda安装包报错RemoveError:requests is a dependency of conda and cannot be removed from conda
  • 原文地址:https://www.cnblogs.com/IS2120/p/6745817.html
Copyright © 2020-2023  润新知