章节目录
上 册 第1章 概述 1 1.1 Windows操作系统发展简史 1 1.2 用户空间和系统空间 3 1.3 Windows内核 4 1.4 开源项目ReactOS及其代码 9 1.5 Windows内核函数的命名 10 第2章 系统调用 12 2.1 内核与系统调用 12 2.2 系统调用的内核入口KiSystemService() 22 2.3 系统调用的函数跳转 29 2.4 系统调用的返回 32 2.5 快速系统调用 35 2.6 从内核中发起系统调用 42 第3章 内存管理 44 3.1 内存区间的动态分配 47 3.1.1 内核对用户空间的管理 48 3.1.2 内核对于物理页面的管理 60 3.1.3 虚存页面的映射 67 3.1.4 Hyperspace的临时映射 78 3.1.5 系统空间的映射 86 3.1.6 系统调用NtAllocateVirtualMemory() 90 3.2 页面异常 97 3.3 页面的换出 107 3.4 共享映射区(Section) 115 3.5 系统空间的缓冲区管理 133 第4章 对象管理 136 4.1 对象与对象目录 136 4.2 对象类型 148 4.3 句柄和句柄表 162 4.4 对象的创建 169 4.5 几个常用的内核函数 179 4.5.1 ObReferenceObjectByHandle() 179 4.5.2 ObReferenceObjectByPointer() 187 4.5.3 ObpLookupEntryDirectory() 188 4.5.4 ObpLookupObjectName() 192 4.5.5 ObOpenObjectByName() 209 4.5.6 ObReferenceObjectByName() 213 4.5.7 ObDereferenceObject() 214 4.6 对象的访问控制 218 4.7 句柄的遗传和继承 218 4.8 系统调用NtDuplicateObject() 223 4.9 系统调用NtClose() 233 第5章 进程与线程 241 5.1 概述 241 5.2 Windows进程的用户空间 253 5.3 系统调用NtCreateProcess() 273 5.4 系统调用NtCreateThread() 284 5.5 Windows的可执行程序映像 300 5.6 Windows的进程创建和映像装入 305 5.7 Windows DLL的装入和连接 329 5.8 Windows的APC机制 358 5.9 Windows线程的调度和切换 381 5.9.1 x86系统结构与线程切换 382 5.9.2 几个重要的数据结构 385 5.9.3 线程的切换 388 5.9.4 线程的调度 395 5.10 线程和进程的优先级 409 5.11 线程本地存储TLS 421 5.12 进程挂靠 434 5.13 Windows的跨进程操作 442 5.14 Windows线程间的相互作用 450 第6章 进程间通信 467 6.1 概述 467 6.2 共享内存区(Section) 469 6.3 线程的等待/唤醒机制 470 6.4 信号量(Semaphore) 499 6.5 互斥门(Mutant) 505 6.6 事件(Event) 512 6.7 命名管道(Named Pipe)和信插(Mailslot) 516 6.8 本地过程调用(LPC) 521 6.9 视窗报文(Message) 555 第7章 视窗报文 556 7.1 视窗线程与Win32k扩充系统调用 556 7.2 视窗报文的接收 566 7.3 Win32k的用户空间回调机制 590 7.4 用户空间的外挂函数 602 7.5 视窗报文的发送 615 7.6 键盘输入线程 628 7.7 鼠标器输入线程 642 7.8 默认的报文处理 662 第8章 结构化异常处理 665 8.1 结构化异常处理的程序框架 666 8.2 系统空间的结构化异常处理 683 8.3 用户空间的结构化异常处理 710 8.4 软异常 720 下 册 第9章 设备驱动 729 9.1 Windows的设备驱动框架 729 9.2 一个“老式”驱动模块的实例 745 9.3 DPC函数及其执行 769 9.4 内核劳务线程 778 9.5 一组PnP设备驱动模块的实例 783 9.6 中断处理 817 9.7 一个过滤设备驱动模块的示例 828 9.8 设备驱动模块的装载 830 9.9 磁盘的设备驱动堆叠 858 9.9.1 类驱动disk.sys 860 9.10 磁盘的Miniport驱动模块 887 9.11 命名管道与Mailslot 896 9.12 MDL 918 9.13 同步I/O与异步I/O 932 9.14 IRP请求的完成与返回 946 第10章 网络操作 957 10.1 概述 957 10.2 NDIS及其实现 959 10.3 Windows的网络驱动堆叠 974 10.3.1 NIC驱动 975 10.3.2 LAN驱动模块 997 10.3.3 TCP/IP驱动模块 1014 10.3.4 AFD驱动与Winsock 1035 10.4 Socket的无连接通信 1062 10.5 Socket的有连接通信 1089 10.6 Winsock的实现 1093 第11章 文件操作 1099 11.1 Win32 API函数CreateFileW() 1099 11.2 NT路径名 1109 11.3 文件路径名的解析 1119 11.4 FAT32文件系统 1144 11.5 文件系统驱动的装载和初始化 1169 11.6 文件卷的安装 1175 11.7 文件的创建 1199 11.8 缓存管理 1214 11.9 文件的读写 1237 11.10 NTFS文件系统简介 1252 第12章 操作系统的安全性 1278 12.1 概述 1278 12.2 证章 1289 12.3 安全描述块和ACL 1305 12.4 访问权限检查 1322 第13章 注册表 1351 13.1 注册表操作 1351 13.2 注册表的初始化和装载 1369 13.3 库函数RtlQueryRegistryValues() 1376 第14章 系统管理进程与服务进程 1394 14.1 系统管理进程Smss 1394 14.2 Windows子系统的服务进程Csrss 1408 14.3 服务管理进程Services 1424 14.4 服务进程Svchost 1449 跋 1464 参考文献 1466
内容简介
本书通过分析ReactOS的源代码介绍了Windows内核各个方面的结构、功能、算法与具体实现。全书从“内存管理”、“进程”、“进程间通信”、“设备驱动”等多个方面进行分析介绍,所有的分析都有ReactOS的源代码(以及部分由微软公开的源代码)作为依据,使读者能深入理解Windows内核的方方面面,也可以使读者的软件开发能力和水平得到提高。. 本书可供大学有关专业的高年级学生和研究生用做教学参考,也可供广大的软件工程师,特别是从事系统软件研发的工程师用于工作参考或用做进修教材。...
下载说明
1、Windows内核情景分析是作者毛德操创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
纯杰不纯洁的评论读过《Windows内核情景分析》 ★★★★★ “师者传道授业解惑也,无比经典,开发必备” 网页链接
-
极黑的Sword-Breaker的评论"Windows内核情景分析:采用开源代码ReactOS(上、下册) - 毛德操; 平装" 每次看到作者的名字我总是忍不住想吐槽...
-
陶浩Jacky的评论订购了《Windows 内核情景分析》,还未到手,很久没有如此期待书籍地感觉了。希望赶紧读到它。哈~~~
-
丁家烜的评论IT往事:1、1999年我走进大学校门之后不久,就迎来了网络泡沫最疯狂的时候。也许是年青精力过剩,经济系的我学上了计算机,并且中毒颇深。到网络泡沫破灭的时候我已经会c++,对windows内核都有一定理解。我买过一套《linux内核源代码情景分析》,厚厚的两大本,至今还静静地摆在那里。
-
lujun723_专注ing的评论《LINUX内核源代码情景分析(上/下册)》 毛德操 浙江大学出版社 (高手必备,初学不建议购买) 《Windows CE工程实践完全解析(Windows CE项目开发实践丛书)》 李大为 中国电力出版社 (讲wince的好书) 《Windows CE开发实例精粹(嵌入式技术与应用丛书)》 张冬泉 电子工业出版社 (讲wince的好书)
-
Jactry的评论底层还是类似的?(一样的烂.... =.= )。或者说ReactOS的教育意义更大,比如《Windows 内核情景分析》,其实分析的就是ReactOS的代码,这样也能从代码级别批判Windows的烂... =.= (*nix万岁 =.= //@zy_sunshine: Win8出来了,ReactOS 还赶得上吗?
-
阿兹胖喵的评论Windows内核情景分析:采用开源代码ReactOS(上、下册) 网页链接 (分享自 @亚马逊)