读书频道 > 网站 > 网页设计 > Windows内核原理与实现
2.3.3 本书对WRK源代码的引用
13-05-18    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > Windows内核原理与实现

本书从操作系统原理的角度,详细解析了Windows如何实现现代操作系统的各个关键部件,包括进程、线程、物理内存和虚拟内存的管理,Windows中的同步和并发性支持,以及Windows的I/O模型。在介绍这些关键部件时,本...立即去当当网订购

本书后面的章节将介绍Windows 内核中的重要组件,包括进程和线程的管理、内存管理器、同步和并发机制、I/O 管理器,以及存储管理和系统服务等。在讲解这些内容时,将以WRK的源代码为主要参照,在必要的地方会列出相应的数据结构或者函数原型,以说明Windows 中一些关键机制的实现原理。除了C 语言的代码,有些底层逻辑也可能以Intel x86 汇编指令的形式列示出来。

在后面的章节引用代码时,为使代码清晰、可读,所摘录的代码会进行简单整理,仅显示原始代码中对应于Intel x86 编译条件下的部分,注释部分也会做相应处理,目的是使读者能更好地理解相应的逻辑。WRK的许可条例规定,对代码片段的引用每次不能超过50行,但Windows 有些重要数据结构,例如线程和进程数据结构,超过了50行。为此,本书第3 章采取的做法是,将大的数据结构分成几部分,然后逐部分介绍其成员。

然而,为了保持本书的篇幅不至于过于庞大,笔者将尽可能地避免列出代码,而通过解释关键的逻辑,或者勾画出函数内部或函数之间的控制流图,以说明一些关键机制的实现过程。在讲解一个重要函数的实现时,针对有些关键的步骤,本书可能会指出所对应的代码行。因此,如果读者对照 WRK来理解这样的函数,建议使用一个可显示行号的编辑器来辅助阅读,这样有助于利用本书帮助阅读源代码。

阅读源代码是掌握实现细节的重要途径,但由于Windows 内核极其复杂,简单地阅读源代码很容易迷失思路。笔者的观点是,代码本身可能没有那么重要,重要的是Windows系统是如何实现一些关键机制的,以及一些关键的控制函数是什么,它们做了哪些重要的操作。这在某种程度上比洞悉每一个实现细节更为重要。本书的一个目标是,帮助读者理清Windows 各种底层机制的思路和实现机理,而不是简单地把有关的实现细节摸索并展示一遍。根据笔者的经验,建立一个 WRK调试环境将非常有帮助,这可以让某些控制流更加容易理解。本书附录A 介绍了WRK调试环境的配置办法。

正因为如此,即使读者不能访问 WRK的代码,也仍然可以阅读本书,譬如,从本书的描述中可以知道Windows 是如何实现各种系统机制的。配合本书中提到的关键函数的名称以及一些重要步骤的实现逻辑,您可以查阅这些函数的文档,甚至在调试器中跟踪和检查这些函数的实现细节。另一方面,正如本书前言中所讲,即使读者的实验平台并非Windows Server 2003 SP1 版本,本书的绝大部分内容仍然适用于自Windows 2000以来,直至Windows 7 的系统,因此,抓住Windows 内核的实现原理比剖析一份源代码更有意义。WRK仅仅是Windows 内核实现的一份参照。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站