[转帖]Windows NT 之父 - David Cutler
Windows NT 之父 - David Cutler
https://www.cnblogs.com/wangwust/p/6826200.html 曾经下过 夺路狂奔的电子书 但是还没看完.. 牛人牛在完成别人完成不了的事情.
David Cutler,大卫·卡特勒,一位传奇程序员,1988年去微软前号称硅谷最牛的内核开发人员,是VMS和Windows NT的首席设计师,被人们成为“操作系统天神”。他曾供职于杜邦、DEC等公司,1988年,由比尔 ·盖茨招募到微软,他用了5年时间花费了1.5亿美金,负责组织NT的开发。
戴夫·卡特勒(Dave Cutler)是在逆境中长大的。他很小的时候就学会了照顾自己,坚持己见,以及如何寻找方法跨过前进道路上的障碍。 他1942年3月13 日出生于密歇根州首府兰辛。兰辛是一座汽车城,许多生产汽车以及汽车零件的制造商都在这里安家。卡特勒的父亲叫尼尔(Neil),他几乎一生都在兰辛的奥斯莫比(Oldsmobile)工厂工作,先是在工厂的运输部门工作,后来成为工厂的看门人。
与许多计算机界的前辈牛人们一样,David Cutler并不是计算机科班出生,他在大学拿的是数学学士,主攻物理,满怀热情地想成为一位建造事物的工程师。他的第一项工作并不与计算机相关,仅取得数学学士学位即投入工作的他因为主攻物理而进入杜邦公司负责材料测试。由于工作需要,卡特勒不得不进一步到一所IBM经营的学校学习编程用以为材料建模。在一次公司的临时外派中,卡特勒被要求到DEC(Digital Equipment Corporation)为计算机编写控制代码、调度任务,同时负责系统运作的监控。这次经历让卡特勒做出了一个改变后几十年世界格局的决定——全心投入软件开发工作。
童年时父亲严苛的要求让卡特勒成为了一个意志坚定、争强好胜、脾气倔强甚至有些暴虐的人,也许正是因为这些特质使年仅二十九岁的卡特勒在加入DEC之后迅速成为计算机软件设计领域的专家。
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 位软硬件工程师,让他们跟随卡特勒到西雅图成立一个独立开发中心从事新CPU架构和操作系统的设计工作。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位代码等。
Windows NT在开发过程中一直以Intel i860(Intel设计生产的RISC精简指令及芯片)和MIPS芯片(i860和MIPS均为RISC精简指令集芯片,如今的ARM同样是RISC精简指令集芯片)为适配对象进行构建,不仅是为了防止被i386芯片架构限制住系统设计思路,同样是为了保证NT系统未来在RISC精简指令集芯片计算机上的可移植性和兼容性。此外,与Unix/Linux后天补充网络连接、管理模块不同,Windows NT与Novell Netware一样,在设计之始就考虑到与计算机、互联网的连通性,也就是说它们原生支持网络链接甚至可以被称为真正意义上的第一代网络操作系统(NOS——Network Operating System)。
一直以来广为人知的“微软NT操作系统内核”,其实只是一种误传。所谓的“采用NT内核”就是 Built On NT Technology,即基于Windows NT操作系统进行补充、延伸。Windows操作系统的两个产品线 Windows和Windows Server从2000年的版本开始都是 Built On NT Technology的,Windows XP、Windows 7巨大成就都可以归功于Windows NT强大的多任务特性、稳定的内核和虚拟层带来的驱动可拓展性。
毫无疑问,NT操作系统有一个优秀的内核,David Cutler成功地引入了硬件抽象层、内核对象这些天才的思想。虽然我们没能得见它的源代码,但在钻研NT DDK的过程中、在埋头可能就是由David亲笔撰写的文档中时,总能有那些闪光点,让我们可以在不同的时空与大师对话。
而1994年推出的Windows NT 3.51和1996年推出的Windows NT 4.0,在性能上有了更进一步提高;NT4.0甚至提供了当时最先进的Windows 95风格界面。David Cutler在自己的天梯上继续攀升,Bill Gates也在销售数字面前笑得合不拢嘴。
如今,Built On NT Technology的Windows 2000和XP的成绩有目共睹,而针对64位处理器的XP也即将推出。回顾开发操作系统的历程,David情不自禁地感叹道:“我也不知道,自己竟是那么的幸运,能够在有生之年开发好几个操作系统,而对于任何一个人来说,哪怕只开发一个都是非常难得的机会。”
是的,David Cutler做到了,在操作系统领域中纵横了几十年,缔造了许多传奇和神话。然而,又有谁会去看他几十年的专注、寂寞、付出与艰辛呢?可能每个人在开始自己的职业生涯时都会设定一个目标。然而只有那么一些人会抓住目标紧紧不放、全心投入,最后这些人成了我们眼中的成功者、技术天才。也许,这就是成就天才与普通人的不同之处。
当初他和他的手下在微软一周内把一个具备基本功能的boo kernel写出来,然后说:“who can’t write an OS in a week?”,也是牛气冲天的说。顺便说一句,D爷爷到NT3.5时,管理1500名开发员,自己还兼做设计和编程,不改coder本色啊。D爷爷天生脾气火爆,和人争论时喜欢双手猛击桌子以壮声势。:-) 日常交谈fuck不离口。他面试秘书时必问:”what do you think of the word ‘fuck’?” ,让无数美女刹羽而归。终于有一天,一个同样火爆的女面对这个问题脱口而出:”That’s my favorite word”。于是她被录取了,为D爷爷工作到NT3.5发布。
[转帖]Windows NT 之父 - David Cutler的更多相关文章
- Windows NT 之父 - David Cutler
David Cutler,大卫·卡特勒,一位传奇程序员,1988年去微软前号称硅谷最牛的内核开发人员,是VMS和Windows NT的首席设计师,被人们成为“操作系统天神”.他曾供职于杜邦.DEC等公 ...
- 【历史】- Windows NT 之父 - David Cutler
David Cutler,大卫·卡特勒,一位传奇程序员,1988年去微软前号称硅谷最牛的内核开发人员,是VMS和Windows NT的首席设计师,被人们成为“操作系统天神”.他曾供职于杜邦.DEC等公 ...
- Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式
Linux就这个范儿 第15章 七种武器 linux 同步IO: sync.fsync与fdatasync Linux中的内存大页面huge page/large page David Cut ...
- [转帖]windows7/windows NT介绍
windows7/windows NT介绍 原文应该是IT168发布的 但是一直没找到 感觉看了之后 明白了很多 技术都是互相融合的 没有严格意义上的对立直说. Windows 7/Windows ...
- [转帖]Windows注册表内容详解
Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...
- MS SQL Could not obtain information about Windows NT group/user 'domain\login', error code 0x5. [SQLSTATE 42000] (Error 15404)
最近碰到一个有趣的错误:海外的一台数据库服务器上某些作业偶尔会报错,报错信息如下所示: -------------------------------------------------------- ...
- Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5
案例描述 昨晚踢球回来,接到电话说一个系统的几个比较重要作业出错,导致系统数据有些问题.让我赶紧检查看看.检查作业日志时发现,作业报如下错误(关键信息用xxx替换) The job failed. ...
- 第一章 Windows NT System Components
Page 3. The focus(焦点) of this book is Windows NT file system and the interaction(交互) of the file sys ...
- Windows NT 驱动程序开发人员提示 -- 应注意避免的事项
下面是开发人员在使用 Windows NT 设备驱动程序时应当避免的事项列表: 1. 一定不要在没有标注 I/O 请求数据包 (IRP) 挂起 (IoMarkIrpPending) 的情况下通过调度 ...
随机推荐
- [WeChall] Training: Crypto - Caesar I (Crypto, Training)
Training: Crypto - Caesar I (Crypto, Training) Crypto - Caesar I As on most challenge sites, there a ...
- 10.scrapy框架简介和基础应用
今日概要 scrapy框架介绍 环境安装 基础使用 今日详情 一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被 ...
- Nginx 安装配置
Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...
- 对tomcat7模拟并发请求及相关配置参数的含义
这里的并不是真正的并发请求,因为for循环是间隔10毫秒,并且线程初始化也需要时间的,到真正执行http请求的时刻是不确定的. tomcat 的运行状态可以在webapps下的manage项目查看, ...
- java中的多态是怎么体现的
多态是父类的引用指向了自己的子类对象. 当调用方法时,会根据对象去调用方法,先在子类中找,没有就去父类中找 总结:成员变量是在编译阶段绑定的,方法时在运行阶段绑定的.属性不能重写,方法可以重写. pu ...
- HashMap 1.7
1.关键属性与内部类 1.1属性 使用拉链法解决hash冲突的hash表,hash表里存了多少个元素.数组有多长以及当什么情况下需要扩容是重要的参数. transient Entry<K,V&g ...
- WiFi-ESP8266入门http(3-1)网页认证上网-post请求(原教程)
教程:http://geek-workshop.com/thread-37484-1-1.html 源码:链接:https://pan.baidu.com/s/1yuYYqsM-WSOb0AbyAT0 ...
- .net core实践系列之短信服务-架构优化
前言 通过前面的几篇文章,讲解了一个短信服务的架构设计与实现.然而初始方案并非100%完美的,我们仍可以对该架构做一些优化与调整. 同时我也希望通过这篇文章与大家分享一下,我的架构设计理念. 源码地址 ...
- 朱晔和你聊Spring系列S1E1:聊聊Spring家族的几大件
朱晔和你聊Spring系列S1E1:聊聊Spring家族的几大件 [下载本文PDF进行阅读] Spring家族很庞大,从最早先出现的服务于企业级程序开发的Core.安全方面的Security.到后来的 ...
- 4月27号开学! 第6期《jmeter实战接口自动化+性能》课程,零基础也能学
2019年 第6期<jmeter实战接口自动化+性能>课程,4月27号开学! 主讲老师:飞天小子 上课方式:QQ群视频在线教学 本期上课时间:4月27号-6月9号,每周六.周日晚上20:0 ...