说起 《Windows Internals》一书,只要对Windows
底层感兴趣的人都应该有听说过。这是一本讲述Windows底层机理的书,但是没有覆盖所有的Windows 内容,例如
Windows窗口管理、图形、COM/COM+、.NET 等。如果你愿意了解Windows
底层原理,那么这本书是很适合的,如果仅仅是学会如何使用Windows或进行简单的排错,那么这本书并不适用。
言归正传:
四年前,《Windows Internals》的第四版发布了,第四版主要涉及的是 Windows XP、2003 的技术。
两年前,《Windows Internals》的第四版的中文翻译版本出版了,译者是潘爱民。个人觉得翻译的很不错。
两个多月前,《Windows Internals》的第五版在经历很长时间的延期以后,终于出版。也是在这个时候,Microsoft MVP项目组的MS
Press活动里面出现了这本书的书目,我自然毫不犹豫的参加了这个版本的书评活动。
十一前,久违的原版的《Windows Internals, Fifth Edition》出现在我的面前。在这一点上,非常感谢Microsoft
MVP项目组的支持。
好厚!这是我对第五版的最直观的感觉。第五版比第四版厚了很多(从第四版的976页到第五版1264页,足足增加了288页)。在《Windows
Internals, Fifth》里面,针对的对象主要是 Windows Vista、Windows Server 2008。虽然目前Windows
7已经RTM了,但是是否意味着《Windows Internals, Fifth》就过时了,是否需要等待年底或者明年的第六版呢?
我认为,相对于Windows XP –> Windows Vista 的巨大的改变,Windows Vista –> Windows
7的改变是比较小的。虽然Windows 7引入了大量的新名词,但是从实际上来看,Windows 7和Windows
Vista是同源的,至少在内核层面是同源的。因此关于Windows Vista 内核机制介绍的文章,是能够适用于Windows
7的(也许在某些微小的地方有所不同)。从这个意义上看,《Windows Internals, Fifth Edition》也能够覆盖Windows
7的内核技术点的。但是如果使用第四版的内容去观察Windows 7或者Windows Vista,那么就会发现有很多的差异了。
也就是说,如果想了解Windows 7,在《Windows Internals》第六版出来以前,《Windows Internals, Fifth
Edition》是最合适的。
《Windows Internals, Fifth Edition》官方地址:http://www.microsoft.com/mspress/books/12069.aspx
提醒:目前第五版的影印版已经由人民邮电出版社引进了,大家可以在各大网上商店买到。
China-pub:http://www.china-pub.com/195975&ref=q3j
卓越亚马逊:http://www.amazon.cn/mn/detailApp?ref=DT_SMV&uid=475-0229956-3073424&prodid=bkbk987581
当当:http://product.dangdang.com/product.aspx?product_id=20680892
《Windows Internals, Fifth Edition》的变化
先看看两个版本的目录的差异吧:
| |
第五版 |
第四版 |
| 第一章 |
概念 |
概念 |
| 第二章 |
系统架构 |
系统架构 |
| 第三章 |
系统机制 |
系统机制 |
| 第四章 |
管理机制 |
管理机制 |
| 第五章 |
进程线程和作业 |
启动和关机 |
| 第六章 |
安全 |
进程线程和作业 |
| 第七章 |
I/O系统 |
内存管理 |
| 第八章 |
储存管理 |
安全 |
| 第九章 |
内存管理 |
I/O系统 |
| 第十章 |
Cache管理 |
储存管理 |
| 第十一章 |
文件系统 |
Cache管理 |
| 第十二章 |
网络 |
文件系统 |
| 第十三章 |
启动和关机 |
网络 |
| 第十四章 |
崩溃分析 |
崩溃分析 |
变化一:结构的变更
从上面的目录里面可以看到,相对于第四版的章节顺序,第五版的章节顺序更加合理一点。
- 第四版是从一个开机的过程,慢慢的深入到具体的各个子系统的内部原理介绍;而第五版是先介绍了各个子系统的原理,最后整合到启动和关机这个部分。
- 在内存管理方面,第五版把内存管理、Cache、文件系统放在了一起,这一点比第四版要好一点。因为Cache和内存和文件系统都有关系的,放在一起,更便于理解。
变化二:文章内容的变更
Windows
Vista对于微软来说,是一个划时代的革新产品。无论是否在商业领域里面获得成功,至少在技术领域里面,Windows Vista
的确有了巨大的变化。从第五版里面就可以看到,在这个版本里面,大量的文章被翻新了,另外也增加了大量的章节。
例如,从Windows Vista
开始备受关注的UAC功能就单独作为了一个章节进行说明。但是,从实际上来说,UAC仅仅是Windows内部安全机制变更所引发的一个安全功能,UAC的实现更多的是依靠了其他Windows系统组件的变化:例如进线程模型、安全令牌等,正是这些机制的变化,才诞生了UAC这个功能。在《Windows
Internals, Fifth Edition》里面,这些东西都得到了较好的描述。
如果熟悉操作系统原理,那么对于内存管理在操作系统里面的地位的重要性应该是很能够了解的。在,《Windows Internals, Fifth
Edition》里面,内存管理的60%以上的篇幅发生了变动,也就是说,Windows Vista在内存这一块,比Windows XP/Server
2003有了很多的改进,关于这一块的变化,书中有了比较详细的描写。
虚拟化,在当今社会里面是一个非常热门的话题。我们知道在Windows Server
2008里面,引入了Hyper-V虚拟化组件,那么关于这一块的原理,《Windows Internals, Fifth
Edition》也给了一个比较系统的阐述。
我最后想说的一个建议重点关注的内容是在文件系统里面的Common Log File
System(CLFS),虽然这个章节篇幅不长,只要8页,但是在Windows Vista 里面很多新增的技术(例如
TxF、TxR),或多或少都和这个东东有关系,就算没有实际上的沾边,但是一些理论是和CLFS相关的,建议大家重点关注一下这个新的文件系统。
相对于第四版,第五版新增了288页的海量巨幅,而每一行文字对于学习Windows内部机制都是非常珍贵的,一下我也没法给出一个版本的差异吧。不过我整理了一个第五版新增章节的目录列表,大家可以看看,我相信大家在看完这个列表之后,会对《Windows
Internals, Fifth Edition》一书有了更深入的了解,进而产生购买的欲望,哈哈~
变化三:工具的变更
在第五版里面,大量使用了Sysinternals 的最新工具,例如 Process
Monitor
等。另外以前使用第三方工具才能实现的一些工具,如果系统里面也带有了类似的东西,也换作了系统的工具。这一点也是一个比较大的变化。对于一本技术书籍来说,紧跟时代变更是必须的,同样的事情,如果系统工具也提供了类似的功能,为啥不使用系统工具呢?
最后,说一下《Windows Internals, Fifth
Edition》的定位吧。对于有着较深Windows底层知识的人来说,第五版能够很好的提高这些人的技术水平,但是,如果把这本书给了一个对Windows底层不是很了解的人来说,那么本书并不适合他们阅读。也许这就是本书的精华所在吧。Smallfrogs
希望所有对Windows底层感兴趣的人,都能够买一本《Windows Internals, Fifth Edition》,去细细的品味其中的精华吧。
Smallfrogs
http://www.KZTechs.com
附:《Windows Internals, Fifth
Edition》的新增内容(相对于第四版来说)列表(见下图绿色部分)