您的浏览历史

深入解析Windows操作系统 第4版——Microsoft Windows Server 2003/Windows XP/Windows 2000技术内幕

  • 定价 : ¥99.00
  • 会员价 : ¥76.23
促销活动
精彩评论

基本信息

编辑推荐

顶尖Windows内核技术大师、本书作者之一 David A. Solomon 先生上海见面会圆满结束,详情点击查看

微软官方权威参考书,名著名译!
重量级专家Mark E.Russinovich, David A.Solomon所著的轰动一时的巨著Windows Internals的第四版,彻底解析Windows Server 2003的内部结构。
Windows系统之父、微软公司平台开发副总裁Jim Allchin亲自撰文推荐!
微软公司Senior Distinguished Engineer、Windows NT首席设计师David N. Cutler亲自撰文推荐!

推荐阅读

内容简介回到顶部↑

本书是著名的操作系统内核专家Mark Russinovich和David Solomon撰写的Windows操作系统原理的最新版著作,全面和深入地阐述了Windows操作系统的整体结构以及内部工作细节。本书针对Windows Server 2003、Windows XP和Windows 2000做了全面更新,通过许多练习实验让你直接感受到Windows的内部行为。另外,本书还介绍了一些高级诊断技术,以便使你的系统运行得更加平稳和高效。无论你是开发人员还是系统管理员,你都可以在本书中找到一些关键的、有关体系结构方面的知识,通过这些知识你可以更好地做系统设计、调试,以及性能优化。
全书内容丰富、信息全面,主要包括的Windows操作系统深度知识有:理解Windows的关键机制,包括系统服务分发和调度机制、启动和停机,以及注册表;挖掘Windows的安全模型,包括访问控制、特权和审计;利用内核调试器和其他的工具来检查内部系统结构;检查与进程、线程和作业相关的数据结构和算法;观察Windows如何管理虚拟内存和物理内存;理解NTFS的操作和格式,诊断文件系统访问问题;从上往下查看Windows的网络栈,包括映射、API、名称解析和协议驱动程序;诊断引导问题,执行崩溃分析。 本书适合广大Windows平台开发人员、IT专业从业人员等参考使用。

“本书是有关Windows内部机理核心的权威之作。如果你想要知道Windows内部是如何工作的,那么,这就是你想要的书。……如果你跟我一样,想要“深入浅出”地看一看Windows,那么,这本书正好是你的一个起点。”
——Windows系统之父、Windows平台开发副总裁Jim Allchin

“每一位认真的操作系统开发人员都应该在他或她的案头有这本书。”
——微软公司Senior Distinguished Engineer、Windows NT首席设计师David N. Cutler

作译者回到顶部↑

本书提供作译者介绍

潘爱民,浙江海宁人,获得了南开大学数学学士学位,清华大学工学硕士学位,以及北京大学计算机科学博士学位。他从中学时代开始接触计算机编程,经历了从DOS到Windows各种版本的发展历程。潘爱民曾经长期从事软件技术的研究和开发工作,撰写了大量软件技术文章,1999年曾经是《微电脑世界》杂志社的合作专家。他著写了《COM原理与应用》(1999年出版),翻译了多部经典名作,如《Visual C++技术内幕》(第四、六版)、《C++ Primer中文版》(第三版)、《COM本质论》、《计算机网络》(第四版)等。从2001年开始,潘爱民在北京.. << 查看详细

潘爱民
潘爱民,浙江海宁人,获得了南开大学数学学士学位,清华大学工学硕士学位,以及北京大学计算机科学博士学位。他从中学时代开始接触计算机编程,经历了从DOS到Windows各种版本的发展历程。潘爱民曾经长期从事软件技术的研究和开发工作,撰写了大量软件技术文章,1999年曾经是《微电脑世界》杂志社的合作专家。他著写了《COM原理与应用》(1999年出版),翻译了多部经典名作,如《Visual C++技术内幕》(第四、六版)、《C++ Primer中文版》(第三版)、《COM本质论》、《计算机网络》(第四版)等。从2001年开始,潘爱民在北京.. << 查看详细

目录回到顶部↑



目 录

第1章 概念和工具 1
1.1 Windows操作系统的版本 1
1.2 基础概念和术语 3
Windows API 3
服务、函数和例程 5
进程、线程和作业 6
虚拟内存 14
内核模式和用户模式 16
终端服务及多个会话 21
对象和句柄 22
安全性 23
注册表 24
Unicode 25
1.3 挖掘Windows内部机理 25
性能工具 27
Windows支持工具箱 27

译者序回到顶部↑



译 序

这是一本随Windows NT一起发展和成长起来的经典图书。我在1995年的时候阅读过这本书的第1版中文版,通过该书了解到了Windows NT设计的诸多考虑。它对于我理解Windows曾经起到了重要的作用。除了这本书以外,另外一套讲述Windows SDK开发指南的图书(记得有四卷)也深刻地影响了我对于Windows的理解。虽然第4版与早期的版本有了很大的变化(原作者也不相同,请参考引言部分关于本书历史的介绍),但由于Windows NT的内核结构一直沿袭下来了,无疑本书新的版本更趋成熟,而且新版作者们编写的许多工具更是使本书增色不少。
时隔10年以后,当编辑找到我,希望我来翻译这本书的第4版时,我的第一感觉是,我不能翻译这本书,所以我直截了当地拒绝了编辑。我的顾虑在于两个方面:首先,这是一本重量级的书,更适合于操作系统领域中的资深专家来把握和诠译;其次,我担心没有足够的时间来及时地完成这本书的翻译工作。两周以后,当编辑再次找到我时,我答应找一个帮手来翻译这本书,但是,合适的帮手并不好找。最后,我决定独立翻译本书,但需要一年时间。而实际上,我花了一年半时间才完成本书的翻译工作。无奈,在质量和进度之间,我选择了前者。
这是一本独特的书,它既不像教材那样宣讲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内部机理的培训和研讨有10多年经历了,而且也在Microsoft内部对员工进行培训。我有幸参加了他2006年春天在北京的一次培训。而另一名作者Mark Russinovich呢,www.sysinternals.com上这么多优秀的工具皆出自他的手笔,现在已经加入Microsoft了。有兴趣的读者,可以到网站上看一看Mark的blog,一些技术文章非常有意思。
这一年多翻译本书的过程,于我也是一个学习的过程。这些知识帮助我解决了在工作中遇到的许多难题,也让我更好地理解了Windows操作系统。我经常向同事和实习生们推荐这本书,希望能帮助他们解决手头的一些技术难题,以及更好地在Windows平台上开展工作。如果你的工作也需要紧密地接触Windows,那么,不管是科研人员、开发人员,还是系统管理员,都可以从这本书中获益良多。
如何更有效地发挥本书的作用呢?以我的感觉而言,这本书的叙述并不像教材那样严谨,也不像教材那样按照学习的顺序来组织内容,它应该是一本讲述Windows系统内部机理的实用参考书。所以,如果你没有计算机科学的专业背景,我建议你配合学习一本讲述操作系统原理的书籍。有了操作系统理论的基础以后,再阅读本书无疑会有更好的效果。另外,在阅读过程中,若有条件,一定要动手做一做书中描述的实验。这些实验很容易做,你若能举一反三,则掌控Windows就不在话下了。
最后,借此机会,感谢两位作者写了这么一本有用的书以及一组实用工具。谢谢周筠编辑让我翻译这本书,并容许我这么久才完稿。今年4月份她说的一句话让我感动,她说“我不催你,我知道你很忙”,而实际上,原书的出版社正在催她,她是顶着压力说这句话的。谢谢微软亚洲研究院高校关系经理马歆小姐,她在过去几年中为推广Windows在国内高校的教学和科研做了大量幕后工作,包括组织国内高校的操作系统教师编写了《Windows操作系统原理》一书,正是在跟她的接触和交流过程中,让我更加意识到了这本书有多么重要。也要谢谢本书编辑方舟和陈元玉,他们配合我的翻译进度,使得我们的工作能以流水线方式进行,他们的工作态度让我感受到了从未有过的编辑对译者的尊重。
在翻译过程中,我也尽可能地改正原著中的一些错误,但我相信这本书还远没有达到完美,尤其是,因翻译而新引入的错误更是在所难免。尽管我花了四个月的时间来复查一遍译稿,但交稿之后还是能发现一些翻译不妥之处,甚至错译的句子,请读者原谅。另外,本书正文之后列出了英汉习惯用语对照表,以方便阅读。

潘爱民
2006年12月于北京

前言回到顶部↑



引 言

《深入解析Windows操作系统,第4版》的读者对象是那些想要理解Microsoft Windows 2000、Windows XP和Microsoft Windows Server 2003操作系统的核心组件内部工作机理的高级计算机专业人员(包括开发人员和系统管理员)。开发人员利用这些知识,可以在构建Windows平台上的应用程序时更好地理解各种设计决策背后的基本原理。这样的知识也可以帮助开发人员调试复杂的问题。系统管理员也可以从这些信息中获益,因为理解了操作系统背后的工作原理,可以有助于理解系统的性能行为,以及当事情变糟时更易于诊断各种系统问题。在阅读了这本书以后,你应该可以更好地理解Windows是如何工作的,以及它为什么有这样那样的表现。
本书的结构
前两章(“概念和工具”和“系统结构”)奠定了本书后面用到的术语和概念的基础。接下去的三章——“系统机制”、“管理机制”以及“启动和停机”——讲述了系统中关键的底层机制。接下来的八章解释了操作系统的核心组件:进程、线程和作业、内存管理、安全性、I/O系统、存储管理、缓存管理器、文件系统,以及网络,最后一章介绍了崩溃转储分析。
本书的历史
本书以前的名称是Inside Windows NT(Microsoft Press,1992,中文版的名称是《Windows NT技术内幕》),现在是第4版。第1版是由Helen Custer著的(在Microsoft Windows NT 3.1的最初发布以前出版)。Inside Windows NT是第一本关于Windows NT的书籍,它提供了有关Windows NT系统的体系结构和设计方面的关键要点。Inside Windows NT,Second Edition(Microsoft Press, 1998)是由David Solomon著的。该书在内容上做了更新,涵盖了Windows NT 4.0,并且大大地提高了技术深度的层次。Inside Windows 2000,Third Edition(Microsoft Press,2000)是由David Solomon和Mark Russinovich合著的。第3版增加了许多新的话题,比如启动和停机、Windows服务的内部机理、注册表的内部机理、文件系统驱动程序、网络,以及Windows 2000中内核的变化,其中,关于Windows 2000中内核的变化,包含了Windows驱动程序模型(WDM,Windows Driver Model)、即插即用、电源管理、Windows管理规范(WMI,Windows Management Instrumentation)、加密、作业对象和终端服务。
第4版的变化
这一最新的版本,现在称为“Microsoft Windows Internals(Fourth Edition)”,在内容上做了更新,以覆盖Windows XP和Windows Server 2003中所做的内核变化,包括对于64位系统的支持。练习用的实验也相应地做了更新,以反映出工具中的变化;新增加的实验用到了一些在第3版写作时尚未可用的新工具。
由于从Windows 2000到后续版本之间的内核变化相对较小(与“Windows NT 4.0和Windows 2000之间的变化”相比较而言),所以,本书中绝大部分内容适用于Windows 2000、Windows XP和Windows Server 2003。因此,除非特别声明,否则一切内容都适用于这三个版本。
练习实验
即使没有访问源代码,你也可以通过一些工具(比如内核调试器)来获得许多有关Windows内部机理的知识。每当可以通过一个工具来揭示或演示Windows内部行为的某一方面时,本书中的“实验”辅助章节就会列出让你自己试用该工具时遵从的步骤。这样的实验遍布全书,我们鼓励你在阅读本书时试一试这些实验——看一看Windows内部是如何工作的,这比你仅仅读一遍本书所得到的印象要深刻得多。
本书没有涵盖的话题
Windows是一个大而复杂的操作系统。本书并没有涵盖与Windows内部机理相关的一切内容,而是把焦点集中在基本的系统组件上。例如,本书没有讲述COM+(Windows分布式面向对象编程基础设施),也没有讲述.NET框架(下一代托管代码的应用程序的基础)。
因为这是一本讲述内部机理的书籍,不是一本用户指南、程序设计或系统管理类型的书籍,所以,本书没有描述如何使用、编程或配置Windows。
提醒和告诫
因为本书讲述的是Windows操作系统中未文档化的内部结构和内部操作的行为(比如内核结构和函数),所以,这些内容有可能会在不同的发行版本中有所变化(外部的接口,比如Windows API,则不会受到不兼容变化的影响)。
说到“受版本变化的影响”,我们并不是指,本书讲述的细节会在不同发行版本中一定有所变化,但是你不能认为它们不会改变。任何使用了这些未文档化接口的软件都有可能在将来

序言回到顶部↑



序 言

Microsoft Windows成为我生活中的核心部分已经有14年了。在这段时间中,随着发行版本的不断推出,此操作系统已经在广度和深度上前进了很多。今天,推出Windows无疑是全球最重要和最复杂的项目之一。差不多有5 000名工程师在为Windows而工作。Windows的用户几乎跨越了所有的文化,从最关键的业务人员到年轻的小孩子,构成了完整的用户图谱。使用Windows的客户们几乎在各个方面都有不断增强的需求——从能够运行最大的服务器,到足够易用以便于学龄前儿童也能够使用。Windows有各种形态和大小,从嵌入式版本到媒体中心版本,再到数据中心版本。所有这些版本都使用同样的Windows核心,此核心会随着每一个发行版本而发展和增强。
本书是有关Windows内部机理核心的权威之作。如果你想要知道Windows内部是如何工作的,那么,这就是你想要的书。理解如此庞大产品的每一个细节是一项艰巨的任务。但是,如果你从系统的核心概念开始深入钻研,那么,把这些谜题拼接起来相对要容易得多。正如Windows本身已经有了长足的进步一样,本书的涵盖面也在不断拓宽,现在本书已经到了第4版。近些年来,我们使用这本书以前的版本来培训新加入Microsoft的员工,对于这一版本,也必然如此。
如果你跟我一样,那么你也喜欢弄清楚事情是如何真正工作的。阅读“如何使用…”或者“…经验和技巧” 之类的书籍是从来不能让我满足的。如果你理解了事情的内部工作原理,那么,你就会知道如何更好地使用它,使性能和安全性尽可能地最大化,以及如何诊断失败。诚然,也一定会有更多的乐趣。如果你跟我一样,想要“深入浅出”地看一看Windows,那么,这本书正好是你的一个起点。
David和Mark已经做了突出的工作,他们详细地讲述了Windows内部的技术故事。他们强调的这些工具是一份很好的资源,有助于直接的实验训练和诊断工作。当你阅读了这本书以后,你一定会更好地理解Windows操作系统是如何组织起来的,系统中有哪些最新的改进,以及如何更好地发挥这些新的技术进展的作用。
这是一次技术之旅——尚在行进之中的技术旅行。开始阅读本书吧,深入地挖掘迄今最为激动人心的操作系统。

Jim Allchin
Group Vice President, Platforms
Microsoft Corporation







媒体评论回到顶部↑

★微软官方权威参考书,名著名译!重量级专家Mark E.Russinovich, David A.Solomon所著的轰动一时的巨著Windows Internals的第四版,彻底解析Windows Server 2003的内部结构。
  ★Windows系统之父、微软公司平台开发副总裁Jim Allchin撰文推荐! 
  ★微软公司Senior Distinguished Engineer、Windows NT 首席设计师David N. Cutler撰文推荐! 
  “本书是有关Windows内部机理核心的权威之作。如果你想要知道Windows内部是如何工作的,那么,这就是你想要的书。……如果你跟我一样,想要“深入浅出”地看一看Windows,那么,这本书正好是你的一个起点。”
  ——Windows系统之父、Windows平台开发副总裁Jim Allchin
  “每一位认真的操作系统开发人员都应该在他或她的案头有这本书。”
  ——微软公司Senior Distinguished Engineer、Windows NT首席设计师David N. Cutler! !
评论交流

共有303人开贴评论  481人参与评论  259人参与打分 查看

165人
 63%
用户平均打分
我要写评论 help如何参与评论和打分
40人
 15%
30人
 11%
7人
 2%
17人
 6%

梁智斌
五级评论员
评价等级:  
发表于:2007-4-19 13:05:00
讲Windows比Linux更容易理解,毕竟我们经常使用。
虽说Linux开源,但有多少人真正去看源码?!
况且,Linux在实现上并非绝对最好。
比如说,在PC上运行Windows及其应用软件的性能强于Linux。
毕竟,Linux是把UNIX的理念移植到PC,并不是PC原生的OS。
讲解Linux原理的书花费大量篇幅打印源码,浪费纸张,不环保。
希望外国的作者能迅速跟进Vista,
然后中国的学者尽快翻译过来,
回复 ( 17条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得3支)  扔鸡蛋 (得17个)

amos_3_1

译者
该会员在china-pub购买过此书
  
发表于:2008-1-2 14:33:00
07年我最喜爱的技术图书评选会员评论:〈br〉本书的作者也是著名的 System Internals 系列软件的作者,理应写出一本深入地介绍 Windows 操作系统的书籍。

但是事实并非如此。

由于工作需要,我仔细地、完整地阅读了本书的英文版,浏览了本书的中文版,结果非常失望。在这本书里面介绍的,多是一些初级的使用,以及简单的介绍。涉及到具体的 API,以及 API 背后的实现原理等问题,都没有给出完整的解释。对于 Windows 的一些低层设计和实现,也没有进行深入的探讨。

事实上,对于一些具体低层问题的解释,本书还不如《Windows Programming》(1997年版),《Win32 Threading Programming》,《Windows 2000 DDK Programming》 等书介绍得深入。

现在,System Internals 已经被微软公司收购了,其作者不应当在技术上有所保留,以压制潜在的竞争对手了。竟然还写出这种“表面级”的书籍,真是令人非常失望。
回复 ( 7条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得6支)  扔鸡蛋 (得0个)

刘永生

二级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-4-13 12:35:00
要是多讲讲作者之一但年反汇编发掘windows系统的诀窍,写出一些系统级工具的技术就好了。感觉这是本入门书
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

甜甜老爸
一级评论员
精彩书评
  
发表于:2007-6-1 15:32:00
真的要学内核技术的,给大家一个书单把,一下书籍都是牛书,循序渐进可收宏效


Jeffrey Richter,“Advanced Windows”,3e,Microsoft Press,1997
Walter Oney,“Programming the Microsoft Windows Driver Model”,2e, Microsoft Press,2003
Art Baker,“The Windows NT Device Driver Book”,Prentice Hall,1996
Gary Nebbett,“Windows NT/2000 Native API Reference”,MTP, 2000
Sven Schreiber,“Undocumented Windows 2000 Secrets”,Addison-Wesley,2001
Parasad Dabak, “Undocumented Windows NT”,M&T Books, 1999
Rajeev Nagar,“Windows NT File System Internals”,O’Reilly,1997
回复 ( 5条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得6支)  扔鸡蛋 (得4个)

lnxiaohuo
一级评论员
  
发表于:2010-2-9 21:14:00
这本书真的很差。很初级。一堆废话。

弄了些用户层工具看内核的效果。
内核是能看出来的?难道微软设计系统内核这么设计?
内核基本相当于微观世界,需要显微镜能看到。

还是不深入,不透彻。比如内存管理,进程管理,文件系统这三大块。

现在系统最重要应该还是内存管理。特别缓存这块。纯粹的核心技术,难度和性能关键也在这块。
所以不要把文件系统驱动之类的东西当做内核核心。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共303条)