深入解析Windows操作系统

出版时间:2009.9  出版社:人民邮电出版社  作者:Mark Russinovich,David A. Solomon,Alex Ionescu  页数:1232  
Tag标签:无  

前言

It's both a pleasure and an honor for me to write the foreword for this latest edition ofWindows Internals. Many significant changes have occurred in Windows since the last editionof the book, and David, Mark, and Alex have done an excellent job of updating the book toaddress them. Whether you are new to Windows internals or an old hand at kernel develop-ment, you will find lots of detailed analysis and examples to help improve your understand-ing of the core mechanisms of Windows as well as the general principles of operating systemdesign.Today, Windows enjoys unprecedented breadth and depth in the computing world. Variantsof the original Windows NT design run on everything from Xbox game consoles to desktopand laptop computers to clusters of servers with dozens of processors and petabytes of stor-age. Advances such as hypervisors, 64-bit computing, multicore and many-core processordesigns, flash-based storage, and wireless and peer-to-peer networking continue to provideplenty of interesting and innovative areas for operating system design.One such area of innovation is security. Over the past decade, the entire computing indus-try——and Microsoft in particular——has been confronted with huge new threats, and securityhas become the top issue facing many of our customers. Attacks such as Blaster and Sasserthreatened to bring the entire Internet to its knees, and Windows was at the eye of the hur-ricane. It was obvious to us that we could no longer afford to do business as usual, as manyof the usability and simplicity features designed into Windows were being used to attack itfor nefarious reasons. At first the hackers were teenagers trying to gain notoriety by breakinginto systems or adding graffiti to a corporate Web site, but pretty soon the attacks intensifiedand went underground. The hackers became more sophisticated and evaded inspection. Yourarely see headlines about viruses and worms these days, but make no mistakembotnets andidentity theft are big business today, as are industrial and government espionage throughtargeted attacks.

内容概要

  本书是操作系统内核专家Mark Russinovich和David Solomon的Windows操作系统原理的最新版著作,针对Windows Vista和Windows Server 2008进行了全面的更新,主要讲述Windows的底层关键机制,Windows的核心组件(包括进程/线程/作业、安全性、I/O系统、存储管理、内存管理、缓存管理、文件系统和网络),并分析了启动进程、关机进程以及缓存转储。书中提供了许多实例,读者可以借此更好地理解 Windows的内部行为。  本书内容丰富、信息全面,适合众多 Windows平台开发人员、系统管理员阅读。

作者简介

Mark E.Russlnovich  微软技术院士(Technical Fellow)。享誉世界的Windows内核技术专家。他也是Sysinternals的创建者之一。开发了很多用于Windows管理和诊断的工具。

书籍目录

1 Concepts and Tools   Windows Operating System Versions   Foundation Concepts and Terms    Windows API    Services, Functions, and Routines    Processes, Threads, and Jobs    Virtual Memory    Kernel Mode vs User Mode    Terminal Services and Multiple Sessions    Objects and Handles    Security    Registry    Unicode   Digging into Windows Internals    Reliability and Performance Monitor    Kernel Debugging    Windows Software Development Kit    Windows Driver Kit    Sysinternals Tools   Conclusion 2 System Architecture   Requirements and Design Goals   Operating System Model   Architecture Overview    Portability    Symmetric Multiprocessing    Scalability    Differences Between Client and Server Versions    Checked Build   Key System Components    Environment Subsystems and Subsystem DLLs    Ntdll dll    Executive    Kernel    Hardware Abstraction Layer    Device Drivers    System Processes   Conclusion 3 System Mechanisms   Trap Dispatching    Interrupt Dispatching    Exception Dispatching    System Service Dispatching   Object Manager    Executive Objects    Object Structure   Synchronization    High-IRQL Synchronization    Low-IRQL Synchronization   System Worker Threads   Windows Global Flags   Advanced Local Procedure Calls (ALPCs)   Kernel Event Tracing   Wow64    Wow64 Process Address Space Layout    System Calls    Exception Dispatching    User Callbacks    File System Redirection    Registry Redirection and Reflection    I/O Control Requests    16-Bit Installer Applications    Printing    Restrictions   User-Mode Debugging    Kernel Support    Native Support    Windows Subsystem Support   Image Loader    Early Process Initialization    Loaded Module Database    Import Parsing    Post Import Process Initialization   Hypervisor (Hyper-V)    Partitions    Root Partition    Child Partitions    Hardware Emulation and Support   Kernel Transaction Manager   Hotpatch Support   Kernel Patch Protection   Code Integrity   Conclusion 4 Management Mechanisms 5 Processes, Threads, and Jobs 6 Security 7 I/O System 8 Storage Management9 Memory Management 10 Cache Manager 11 File Systems 12 Networking 13 Startup and Shutdown 14 Crash Dump Analysis Glossary Index 

章节摘录

插图:Because the flag responsible for special kernel APC delivery disabling (and the guardedregion functionality) was not added until Windows Server 2003, most drivers do not yettake advantage of guarded mutexes. Doing so would raise compatibility issues with earlierversions of Windows, which require a recompiled driver making use only of fast mutexes.Internally, however, the Windows kernel has replaced almost all uses of fast mutexes withguarded mutexes, as the two have identical semantics and can be easily interchanged.Another problem related to the guarded mutex was the kernel function KeAreApcsDisabled.Prior to Windows Server 2003, this function indicated whether normal APCs were disabled bychecking if the code was running inside a critical section. In Windows Server 2003, this func-tion was changed to indicate whether the code was in a critical, or guarded, region, changingthe functionality to also return TRUE if special kernel APCs are also disabled.Because there are certain operations that drivers should not perform when special ker-nel APCs are disabled, it makes sense to call KeGetCurrentlrql to check whether the IRQLis APC level or not, which is the only way special kernel APCs could have been disabled.However, because the memory manager makes use of guarded mutexes instead, thischeck fails because guarded mutexes do not raise IRQL. Drivers should therefore callKeAreAIIApcsDisabled for this purpose. This function checks whether special kernel APCs aredisabed and/or whether the IRQL is APC level-the sure-fire way to detect both guardedmutexes and fast mutexes.

媒体关注与评论

“在微软,我们一直用本书培训新员工……如果你和我一样,想要深入理解Windows。本书将是一个绝佳的起点。”  ——Windows之父Jim AIIchin “每一位真正的操作系统开发人员都应该拥有本书。”   ——微软技术院士、Windows NT首席设计WDavid Cutler “我想不出还有哪一本书能比本书更具权威性。”   ——微软公司副总裁Ben Fathi

编辑推荐

《深入解析Windows操作系统(第5版.英文版)》:近20年来,无论是开发人员还是系统管理员。如果想探究Windows核心部件的运作机理或者各种技术细节,都会求助于这部毋庸置疑的权威著作。书中深入透彻地阐述了Windows底层的方方面面,包括系统架构,各种系统机制和管理机制,进程、线程和作业,安全,I/O系统,存储管理、内存管理和缓存管理,文件系统。联网。启动与停机,崩溃转储分析等内容,使Windows的内幕一目了然。《深入解析Windows操作系统(第5版.英文版)》作者阵容空前强大,除了Russinovich币llSolomon两位大师之外,还新增了年轻一代最具实力的Windows内核专家lonescu。与上一版相比,本版修订篇幅超过25%,除针对Windows Visla和Windows Server 2008新特性《PatchGuard、Hyper-V支持、内核事务管理器、I/O优先级等)进行了全面更新外。作者也对之前未涉及或者阐述不够的既有技术进行了挖掘,包括映像加载程序、用户态调试框架、64位调用表和压缩等。更充分运用了自己编写的流行工具Process Explorer和Process Monitor更新了大量实验和示例。这一切都使《深入解析Windows操作系统(第5版.英文版)》更趋完美。Windows之父Allchin,Windows NT首席设计师Cutler,微软公司副总裁Fathi联袂推荐。微软官方Windows权威著作最新版,深入剖析Windows技术内幕,大幅更新,涵盖Windows内核新特性。

图书封面

图书标签Tags

评论、评分、阅读与下载


    深入解析Windows操作系统 PDF格式下载


用户评论 (总计62条)

 
 

  •   正如书中推荐所说,任何一个从事windows编程的人,都应当有这本书,并且时常阅读。
    本书是英文版,原汁原味,因此对于提高专业英语来说,帮助也非常大
  •   需要对Windows有很深的理解才能看懂!
    其次,发现现在第六版都出来了...
    第六版囊括WIN7哟...
  •   学习WINDOWS必备的书
  •   任何在windows下工作的it人士,都应该熟读此书,重点推荐,必读!!!
  •   书不错,包装也很好。专业人士都懂的,不过需要对操作系统原理有比较深的理解。
  •   每个IT系统运维都应该看看的书。
  •   一狠心,买了本英文版的。要是E文好的话,这本书是不错的选择。
  •   要问学window程序设计看什么书,那一定有这一本。
  •   书不错,但是英语不好,看起来很慢。。
  •   帮公司图书馆买的书。满意。
  •   不错,很很重的一本书,有点小贵就是,呵呵
  •   给老公买的,他认为是非常经典的书籍(差不多每个版本的都买了,,尽管已有了电子版本)
  •   简单易懂(如果你英文可以的话),建议前三章细读,其他章节需要时读
  •   就是太贵了,呵呵。
  •   对于window系统解析很头侧,看这本书,不仅是看windows其实也可以帮助windows平台下的开发者多去思考下操作系统的一些做法,提高操作系统层面的认识。
  •   正在看,不过买的是e文看得比较慢。书对window的系统有系统详细的说明,Windows开发必看之书。
  •   书很不错,全英的,对学习英语很好
  •   这本书太厚了,还是英文的。看完挺有挑战性的。
  •   还好吧。。挺经典的。。就是要有耐心读。。。
  •   内容挺好的,讲解的也很有条理,就是很烧钱啊
  •   就是封面看上去很多灰尘啊
  •   英文版的。很多细节写的挺细致的。能提高对微软操作系统的理解。
  •   ..纸质有点差..用签字笔一写, 会写透的..这个最不爽了.
  •   英文版的不错.第4版翻译得太烂了.
  •   本来以为看英文版的慢慢来就可以了,但是实在是英语太烂了,看的我想买第4版的了
  •   对于管理员来说,这是一本很好的书
  •   此书是我目前在amazon.com上所见的唯一一本打分者达两位数(21人)且全部给予5星评价的计算机图书。近期因为个人发展需要可以说几乎遍览了amazon.com上所有关于Windows操作系统内核及驱动开发的计算机图书(说实话,这类书少之又少,翻来覆去就那么几本。而且大部分都是2000年前后出版的书。动辄都有10几年的高寿了……)。只要是大多数读者都推荐的这方面的好书,有新书买新书,没新书买二手的。此书是唯一全5星评价!
  •   拿到了,办公室公司买的有,自己也买一本看,可以做些笔记看看还是不错的,省的碰到问题了不知道从哪里下手
  •   刚到货,没有细看。太厚了,建议分上、下册。
  •   此书很厚重,是讲解Windows操作系统内核的权威和经典!
  •   今天早上刚入手,感觉,送货速度快,英语大多看不懂,头晕, 不过还是喜欢.118块,,,还送了一本书,,,个人感觉国外原著价格有点高.. 纸张太差了,;价格有点高.. 纸张太差了,;价格有点高.. 纸张太差了,;价格有点高.. 纸张太差了,;价格有点高.. 纸张太差了,
  •   非常棒的书!虽然又贵又重又全是英文对我这种勉强划过六级线的来说稍微有点勉强,但是内容绝对赞到了不能再赞的地步,就算用原价买下也是值得的~并且印刷质量很好,属于那种拿在手上就知道是正版的类型不过用的纸太白了,如果能用电子工业出版社O'Reilly那种纸就好了,看着不累
  •   纸张太差了,还那么贵!
  •   确实,第4版翻译的太差,一看就知道译者根本不懂操作系统,尤其是Windows。出版社只知道看名气,不知道中国有名的往往不是最好的,而是最会搞人际关系的。。。
  •     基本上是一本好书,但是翻译的质量就不好说了。可能潘老师在翻译的时候也不是。。。一些译文很长很拗口,不是很好理解。
      没有讲怎么写代码,没有讲怎么用API,没有讲怎么做项目,讲了为什么windows这样设计,估计看上几遍能初窥windows内幕。
      
  •     Windows Internals 4从07年入手之后,一直是枕边书。
      读这本书最好的方式是配合Windows代码一起理解。或者使用Livekd工具对系统结构进行分析。
      Windows系统内部逻辑十分复杂,并不是一本书或者两本书能描述清楚的。这本书提供了理解系统机制的一些基本知识,对分析Windows代码非常有帮助。
      如果理解Windows系统是一次旅行,Windows internals便是这样一本旅行参考与地图。这本书并不能对一些具体的细节进行细致的讲述,比如对象管理器采用哈希表组织的细节;缓存管理器Shared Map的结构细节等等,这些只能以书中的知识作为指导,使用Livekd或者Windbg进行深入的分析。
      在第四版之后,第五版也已经有了英文电子版,主要描述Vista与Windows 2008。如果看过4,一定不要错过5,如果没有看过4,更不能错过5!
  •     书是好书,但作为一个普通应用软件开发人员,可参考内容不多,价值不大。作为一个系统开发人员,应该有极大的参考价值和研究价值。
  •     书中的英文真的是很晦涩难懂,再加上讲述的内容又是技术性很强的知识.自然读起来很费劲了.
      但要说静下心来挑选感兴趣的章节慢慢的读2~3遍,自然会有很大的收获的。同时结合System Internals教学视频来读,效果更佳!可惜之处,System Internals视频只涵盖的书中的部分内容。
      
      ps.第五版影印版出来了。加油!希望自己能够在未来的一年内把这本厚厚(1024页)的bible啃掉.呵呵。
      
      System Internals视频下载:
      http://www.filefactory.com/file/agf3891/n/Sysinternal_Video_part01_rar
      将01改为02至44。
      
      视频内容介绍在
      http://www.solsem.com/videolibrary.html
      
      
  •     今天刚看到互动提供订阅了,还好没狠下心买原版的,要多一百多块钱没必要,留这个钱去买一本windows命令行的书很不错
      看了Cutler的推荐,的确是需要沉下心去看看
      鉴于现在还在英文《via C/C++》中,估计国庆应该就能拿到货,没办法还得先冷藏一段时间了
      唉 什么时候能有MJ0011那样的大牛的水平呢?
  •     如果没有看过操作系统源码,没有做过详细分析,或者不是系统程序员,我相信不会有什么收获的。有也只是一些常识的收获。找份linux源码分析一下,在看这部书,会有另一番感悟:也不过如此。
  •     同学给推荐的这本书,我也算是从这里起步的,没能读完,比转头还厚,所以只能当做字典来查,还是很全面的!
  •     这本书不错,类似的还有mac os internals和solaris internals,都是相当有深度的书,对于技术书籍,说它不错有两个原因,第一是严谨精准,这是态度问题;第二是全面深入,这是水准问题,这系列的书都具备这些特点.作为这些平台上安身立命的技术人员或者爱好者,要读就读好书,有用的书,不浪费钱财,更加不浪费生命.
  •     读完此书,说实话,第一遍读完,头是晕的.对于此书中的一些翻译感觉有些疑惑,所以找了鸟语原版来准备看第二次.此书非常深奥,至少对于windows只是处于操作阶段的朋友,是天书.只推荐给专业的程序员,一般用户,很少会有人有毅力全部看完的.
  •   可惜我同学今天让我给他买4,没有买5
  •   4和5都应该读一读,毕竟2003目前还是主流的windows服务器系统,而且wrk的代码是2003的内核,学习上更为便利
  •   普通程序员如果被操作系统的潜规则给调戏后,还是可以以看看的
  •   一楼的评论太经典了,哈哈。
    话说undocumented不光微软喜欢干,google也这么做,都是有私心的。
  •   我那本比你的厚……
  •   勘误
    p21, L-8(统稿疏漏)
    原文:Windows Server 2003 Enterprise Edition、Datacenter Edition
    修改:Windows Server 2003 Standard Edition、Enterprise Edition
    p38, L-5(统稿疏漏)
    原文:Windows 2000 是最后一次带OS/2发布
    修改:OS/2最后一次发行是在Windows 2000中
    p42, L-12(统稿疏漏)
    原文:Session\Manager
    修改:SessionManager
    p51, L-10(翻译)
    原文:定时(timing)
    修改:时序(timing)
    p74, L14(统稿疏漏)
    原文:本地安全认证
    修改:本地安全权威
    p85, L10(统稿疏漏)
    原文:内核事件追踪
    修改:内核事件跟踪
    ---勘误2007-04-22更新
    ---勘误格式说明:
    p页码数, L正数行数/L-倒数行数(勘误类型)
    ---------
    勘误
    p107, L1、L2(统稿疏漏)
    原文:追踪
    修改:跟踪
    p122, L-10(统稿疏漏)
    原文:KeServiceDescriptorTable
    修改:KeServiceDescriptorTableShadow
    p170, L2(统稿疏漏)
    原文:实验:打开映像加载器追踪功能和查看……
    修改:实验:打开映像加载器跟踪功能和查看……
    p175, L3、L7、L9(统稿疏漏)
    原文:追踪
    修改:跟踪
    p176, L7(统稿疏漏)
    原文:追踪
    修改:跟踪
    p177, L1(统稿疏漏)
    原文:追踪
    修改:跟踪
    p183, L5(统稿疏漏)
    原文:Windows管理设施
    修改:Windows管理规范
    ---勘误2007-04-22更新
    ---勘误格式说明:
    p页码数, L正数行数/L-倒数行数(勘误类型)
    -------------
    勘误
    p413, L15(统稿疏漏)
    原文:一个系统崩溃
    修改:一次系统崩溃
    p468, 脚注(统稿疏漏)
    原文:高速缓存(3处)
    修改:缓存
    p520, 表8.5 L4(统稿疏漏)
    原文:SeBackup
    修改:SeBackupPrivilege
    p575, 图9.14(统稿疏漏)
    原文:Device printer
    修改:设备IRQL
    p576, 图9.15标题(统稿疏漏)
    原文:
    修改:把“将一个异步请求排入到分层的驱动程序”去掉
    p586, L-3(统稿疏漏)
    原文:并且意识到该完成端口已经有了至少一个活动线程
    修改:并且意识到该完成端口少了一个活动线程
    ---勘误2007-04-22更新
    ---勘误格式说明:
    p页码数, L正数行数/L-倒数行数(勘误类型)
  •   看了一半没看完,感觉中文版干吧吧的,没啥意思。
    还是编程的书好看,这种纯理论的,不好玩。
  •   写的太浅了,没有源代码他再怎么说也说不到很清楚。
  •   lz大炮
  •   感觉潘爱民翻译的书,都没什么味道,象白开水一样,我现在要读原版了。
  •   是啊,我也有这种感觉。。。
  •   我啃了好一阵子,读了大概90%。。。
    个人感觉这本书不适合放在枕头边,而是放在电脑前一边看一边做。文字干巴不能太埋怨潘老大,原著也不是那种文采飞扬的。
    内容绝对没话说,值得一读。。。
  •   实验不好做啊 好多工具都是要进到核心态去的
  •   嗨..我就是没毅力读完的那个
  •   拜一拜读完的牛人
  •   感觉中文翻译的别别扭扭的,看不太下去,还是加入多些实践内容比较好
  •   一定要带着目的去读这个书
  •   编程类的书,尤其是介绍某个操作系统的设计细节的书,阅读时有些障碍:
    第一,不知何用,没有动力
    你有时一边看一边搞不清今后何时能用上。但书往往是要用时才恨少。所以你得每看一章节就收集点关于此内容的实战应用的东西,才有动力。
    第二,细节繁琐,不易记住
    原文也确实不怎么样,很多描述API调用的地方不能直接放出代码或反汇编代码(微软肯定不答应),就用文字来描述,结果要看懂特别费事,应该拿草稿纸画画,最后才明白其实就是说哪个API使用XX参数调用哪个API,后者又把结果传给谁作参数。这样描述就容易记不住,而且有点分清是A结束后接着调用B,还是A在内部调用B?
    这些细节就要自己去反汇编代码来查看,但也可以猜测,比如说结果传给B,那么我猜就是A结束后再接着调用B。
    但最重要的不是记住这些细节,而是学会用工具去反汇编你需要的代码。
    第三 细节太多,记忆量大
    不像其它文章,先来个引论,然后描述一下,再来个重申。你只需要看下头尾就知道中间无非是些证据之类。
    这种书,通篇是细节、新概念,你看到一个名词,非得看完对它的描述,今后你才不会犯模糊。可以说,很多时侯即使是第一遍看,也得细看,因为缺少一些点题的精炼描述。也就是说,抛出一个名词,然后是长达数段的细节描述,而没有一个中间的过滤描述。也就是说,一个小节,你不看完不知道说些啥,没有一句总括性的描述,这需要你自己去写。
    这就造成时间浪费,有时一些东西你看完后才觉得原来我不必细看,可以以后再来看。
    或者说,内容的组织就像是一米高一个的台阶,而不是20公发一个的台阶,不够层层递进。
    我现在在作笔记,感觉就是在重写一样,原来是抛出一个概念术语,然后马上是数段的细节描述。
    我现在就是在术语和细节之间加上一句或数句简略描述。
  •   这本书上的理论,我感觉总结得相当好。
    但是要跟你平时做过的项目结合起来,有时候一两句话都会让你想到实践中的一个点。
    这种心有灵犀的感觉真好!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7