《深入解析Microsoft Windows操作系统》译序

来源:互联网 发布:知乎 项目管理书籍推荐 编辑:程序博客网 时间:2024/04/30 14:21

深入解析Microsoft Windows操作系统
Microsoft® Windows® Internals (Fourth Edition)中文版
适用于Microsoft Windows Server™ 2003、Windows XP和Windows 2000
作者:Mark E. Russinovich, David A. Solomon
翻译:潘爱民

译序
这是一本相伴Windows NT一起发展和成长起来的经典图书。我在1995年时候阅读过这本书的第一版中文版,通过该书了解到了Windows NT设计的诸多考虑。它对于我理解Windows曾经起到了重要的作用(除了这本书以外,另外一套讲述Windows SDK开发指南的图书[记得有四卷]也深刻地影响了我对于Windows的理解)。虽然第四版与早期的版本有了很大的变化(原作者也不相同,请参考引言部分关于本书历史的介绍),但由于Windows NT的内核结构一直沿袭下来了,无疑本书新的版本更趋成熟,而且新版作者们编写的许多工具更是使本书增色不少。

时隔十年以后,当编辑找到我希望我来翻译这本书的第四版时,我的第一感觉是,我不能翻译这本书,所以我直接拒绝了编辑。我的顾虑在于两个方面:首先,这是一本重量级的书,更适合于操作系统领域中的资深专家来把握和诠译;其次,我担心没有足够的时间来及时地完成这本书的翻译工作。两周以后,当编辑再次找到我时,我答应找一个帮手来翻译这本书,但是,合适的帮手并不好找,最后,我决定独立翻译本书,但需要一年时间。而实际上,我花了一年半时间才完成本书的翻译工作。无奈,在质量和进度之间,我选择了前者。

这是一本独特的书,它既不是教材式地宣讲Windows操作系统的原理,也不教读者如何编写内核驱动程序或者如何更好地配置Windows系统。相反地,它按照Windows操作系统的体系结构,把内核几乎翻了个遍,目的在于帮助读者理解Windows内核的每一部分是如何工作的,并且通过各种工具让你真正能够看到Windows内部的数据结构和状态,甚至一些运行过程。阅读这本书的过程,其实也是玩转Windows的过程,经过作者们的剖析,Windows已经完完全全不再神秘。如果你想知道Windows的内部工作原理,那么,这本书对你来说再合适不过了。

Microsoft提供了很多工具(并且许多工具可直接通过Microsoft的Web站点获得),可用来观察或控制系统内核的方方面面,其中最为重要的当然非内核调试器(Windbg)莫属了。除此以外,本书作者们也提供了大量实用的工具(有的还相当好玩,见本书第14章最后一节;所有这些工具可通过www.sysinternals.com下载到),你不仅在阅读本书的时候使用这些工具来帮助你更好地理解书中的内容,在日常的工作或生活中也可以使用这些工具来解决一些实际问题。例如,我和同事们通过Process Explorer(在本书中我将其翻译为“进程管理器”)发现过机器上的流氓软件的痕迹,有时候,当目录无法删除或移动设备无法卸载的时候,通过它也能查到哪个进程还在抓着不放手。对于有些工具,作者们还在书中介绍了实现原理,比如Filemon是一个很好的例子。

这本书确实打破了Windows操作系统的神秘感,但是,更让Windows大白于天下的,当是Windows的源代码了。2006年7月,Microsoft真正开放了一份可编译的内核源代码(仅核心部分),编译得到的内核文件可以在Windows Server 2003 (SP1)上启动和运行。如果读者有资格获得这一份代码,那么,在阅读本书的时候,你甚至可以直接参考源代码。我想,在这一点上,Microsoft的确体现了诚意。有关详细的信息,请参考http://www.microsoft.com/resources/sharedsource/Licensing/WindowsAcademic.mspx。

说到本书的权威性,看一看David Culter(NT内核的最初设计者,奠定了Windows NT的基础)和Jim Allchin为本书写的序言就能知晓。作者之一David Solomon从事Windows NT内部机理的培训和研讨有十多年经历了,而且也在Microsoft内部为员工做培训。我有幸参加了今年春天在北京的一次培训。而另一名作者Mark Russinovich呢,www.sysinternals.com上这么多优秀的工具皆出自他的手笔,现在已经加入Microsoft了。有兴趣的读者,可以到网站上看一看Mark的blog,一些技术文章,非常有意思。

在这一年多翻译本书的过程中,于我也是一个学习的过程。这些知识帮助我解决了在工作中遇到的许多难题,也让我更好地理解Windows操作系统。我经常向同事和实习生们推荐这本书,希望能帮助他们解决手头的一些技术难题,以及更好地在Windows平台上开展工作。如果你的工作也需要紧密地接触Windows,那么,不管是科研人员、开发人员,还是系统管理员,你都可以从这本书中获益良多。

如何更有效地发挥本书的作用呢?以我的感觉而言,这本书的叙述并不像教材那样严谨,也不像教材那样按照学习的顺序来组织内容,它应该是一本讲述Windows系统内部机理的实用参考书。所以,如果你没有计算机科学的专业背景,我建议你配合一本讲述操作系统原理的书籍。有了操作系统理论的基础以后,再阅读本书无疑会有更好的效果。另外,在阅读过程中,若有条件,一定要动手做一做书中描述的实验。这些实验很容易做,你若能举一反三,则掌控Windows就不在话下了。

最后,借此机会,感谢两位作者写了这么一本有用的书以及一组实用工具。谢谢周筠编辑让我翻译这本书,并容许我这么久才完稿,今年4月份有一句话让我感动,她说“我不催你,我知道你很忙”,而实际上,原出版社正在催她,她是顶着压力说的这句话。谢谢微软亚洲研究院高校关系经理马歆小姐,她在过年几年中为推广Windows在国内高校的教学和科研做了大量幕后工作,包括组织国内高校的操作系统教师编写了《Windows操作系统原理》一书,正是在跟她的接触和交流过程中,让我更加意识到了这本书有多么重要。也要谢谢本书的责任编辑方舟和陈元玉,他们俩配合我的翻译进度,使得我们的工作能以流水线方式进行,他们的工作态度让我感受到了从未有过的编辑对译者的尊重。

在翻译过程中,我也尽可能地改正原著中发现的一些错误,但我相信这本书还远没有达到完美,尤其是,因翻译而新引入的错误更是在所难免。尽管我花了四个月的时间来复查一遍译稿,但交稿之后还是能发现一些翻译不妥之处,甚至错译的句子,请读者原谅。另外,本书正文之后列出了英汉习惯用语对照表,以方便阅读。


潘爱民
2006年12月,于北京西二旗