结构不太好,我给理一下微软办出NT的过程
2011-02-18
看了新机器的灵魂之后,接下来看的这本书。感觉它没有前者好读,一方面是因为它更长,而一本书如果结构好,那么越长就越好读,反之结构不好,那么越长会越难读,这本书的结构不够好。
这本书的主线似乎是按时间来的,而每个章节之中又穿插了以工程师为线索写故事,总体看起来,不仅时间方面,而且人物之间的结构,项目的组成结构都交待得不够清晰。
另一方面,这本书里面介绍的人物非常多,最重点是NT开发组里当头的Dave Cutlier,还有bill gates, steve ballmer, 这么多人物组织在一起,不能仅仅做成一个访谈录,既然是围绕着NT的开发来写的,就应该写明白,这些人在不同的时间,在负责干NT的哪个部分。说实话,作者把细节和主线掺杂在一起写,所以难看清楚,谁是干嘛的,主要贡献是什么,头痛的是哪些东西。所以我的印象就是,这本书是 poor structured.
我看过Mitbbs上一个在微软混的哥们写的Dave cutlier的故事,那个贴子应该从这本书里面找了不少素材,但那个贴子的主线很分明,容易理清人物和事件,看的我很来劲。
Cutlier算是PC界最重要的工程师,现在也是七十岁的人,在做计算机工程师的生涯里,他主要弄了两件东西,都是赫赫有名的。前者就是在DEC干时,弄了个VMS,这是跑在小型机VAX上面的操作系统,VAX系列让DEC这公司赚了大钱,而且硬生生的在IBM把持的计算设备市场里,搞了个Minicomputer的市场出来挣钱。当年IBM的主机一台都是几十上百万美元,VAX一台成本价是2万,卖出去10万,还是比IBM便宜得多,一样大把的挣钱。
正是由于32位小型机的VAX出来了,才有了新机器的灵魂里的那本书中的那一帮DGC工程师铆足了劲,要用个快而糙的方法,也搞出一个32位的小型机出来,只买几万块钱,又比VAX便宜一大截,同样是在市场上风靡一时,大受欢迎。
可惜的是,minicomputer再怎么便宜也便宜不过microcomputer,后者就是著名的Macintosh和PC了,这些都只卖几千块钱,慢慢地也能干小型机所能干的所有活了。
show stopper这本书开场的大背景,就是在微机取代小型机的那个时代,小型机的市场逐渐被微机市场所蚕食,DEC,DGC这些小型机公司黄金时代已经过去,基本上处于抱残守缺,日薄西方的境地。小型机那么贵,软件又那么难开发,怎么能不败给又便宜又灵活的微型机呢?尽管那时候,微机的计算能力很弱以至被认为只是小孩的玩具,这也是Dave Cutlier当时对微机的看法。
可惜的是,Cutlier为DEC开发了小型机操作系统VMS,但是仍然无法逆转小型机败于微机的历史潮流。Cutlier是个工程技术的Geek,他是不管市场的,他干成了VMS之后,带了一批约两百人的队伍去了西雅图开分基地,满心沉醉在要做一个更强大,更完美的小型计算机的迷梦之中。
然而没待他把东西弄出来,DEC的生意已经不好做了,公司内支持Cutlier的副总也辞职了,Cutlier的项目,当时名叫Prism也因为压缩成本被DEC取消了。Cutlier这才醒过来,项目断炊了,做更好的小型机的梦想破灭了。
但是Cutlier这个人在当年计算机工业这个江湖上,是名声赫赫的。他在西雅图开的分基地虽然被DEC抛弃了,但是总部同样在西雅图的微软的Bill gates乘虚而入,把Cutlier接过去了,当年Cutlier是22万美元的年薪,手下一两百工程师,微软给的薪水没开那么高,但是给了Cutlier股票认购权,而且答应他,你的队伍可以都带过来,不过薪水可能要减,因为微软不做硬件,你的硬件工程师我们给你养起来都可以,只要你愿意在这里干。你不是想做最好的计算机吗,我们在PC的基础上做最好的操作系统,把PC变成最好的计算机。
Bill gates真是个能识才的人,硬是把Cutlier的这个团队都吸纳进去了,只要是Cutlier带过来的,都接了,这才是干大事的样子。Cutlier这个人是个Geek,也是个Nerd,脾气暴燥,干活不要命,喜欢搞计算机,一门心思就扑上这上面,这种人特点就是,你不去打扰他,不去给他安排这安排他,他就能办出东西来。
干操作系统其实也有很多细节,其中核的部分由Cutlier负责,图形,网络,文件系统,多媒体之类的,又都是另外的组来配合。而且当时,芯片生产商之间的竞争非常激烈,小型机上都是用的RISC指令集,Intel用的则是CISC指令集,88年他们刚开始干的时候,谁强谁弱并不明朗,当然等到NT系统搞完,93年交付的时候,市场已经作出了回答,Intel的产品赢了大多数的市场。
当NT项目启动的时候,是作为一个操作系统的内核来干的。微软有很多个其它的产品也在同时搞研发,包括运行在DOS内核之上的Windows,以及跟IBM签的单子,就是给IBM的机器开发下一代的操作系统OS/2。还有Basic语言开发工具之类的东西。总之是各路活计都有,Windows 3.1出来之后,大卖,比尔盖茨就看出来了,市场就是喜欢图形化界面。他决定把下一代Windows的建立在NT核之上,然后NT的项目就又中途变向了,NT最先是打算用在CISC芯片中的,后来变了,跟了Intel主推的CISC。NT最先是打算作为OS/2的内核的,后来也变成了作为Windows的内核,因为微软认为,OS/2是IBM的东西,如果它卖得好了,对自己并没有什么特别的好处,只不过是打工的,而Windows是它自己的东西,干好了,就是自己挣钱。这也是为什么OS/2最终悲剧了的原因——微软在Windows大卖之后,基本上定下了自己买自己的操作系统的战略,不会再在IBM外包给微软的OS/2上花大力气了。
但是开发一个新操作系统的内核谈何容易,最初比尔盖茨预计18个月可以搞出来,其实最后搞了5年,从88年到93年。这个项目花了200多个工程师,包含了600万行代码,以稳定、高效的内核,这就是“以正合”,在硬指标上不输当年的Novell的Netware,然后加上无须命令,方便快捷的图形化界面,“以奇胜”,赢得了整个PC工业老大的地位和大众市场上高达9万的份额。NT也成为了人类应用最为广泛的软件产品。
最后再评价这本书,这本书材料挺多,但组织不得法,因而不适合一气看完。可以放在书柜里面,有兴趣了拿来看一看,里面有一些挺有意思的情节,有一个是说,david treadwell是负责NT网络部分的工程师,由于一年内写了惊人的一万五千行代码,这个数字是一般程序员的数倍,而获得了微软一年一度只有两个获奖人的新人奖。还有一个故事是说,Johanne Caron因为男朋友接受了微软的工作,因此两人骑自行车从加拿大的蒙特利尔到西雅图的微软公司上班,路上花了两个月。后来Caron因为有一个计算机的硕士学位,所以也去微软干活了,而且写了NT里面的任务管理器。