本书通过分析ReactOS的源代码介绍了Windows内核各个方面的结构、功能、算法与具体实现。全书从“内存管理”、“进程”、“进程间通信”、“设备驱动”等多个方面进行分析介绍,所有的分析都有ReactOS的源代码(以及部分由微软公开的源代码)作为依据,使读者能深入理解Windows内核的方方面面,也可以使读者的软件开发能力和水平得到提高。.
本书可供大学有关专业的高年级学生和研究生用做教学参考,也可供广大的软件工程师,特别是从事系统软件研发的工程师用于工作参考或用做进修教材。...
上 册
第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
林桂岚在她的上一本书《设计,不安于室》中提到:落入设计圈的人都具有浪漫情怀。而在这本《挑食的设计》中她则强调被设计圈住的
《基于ARM Cortex-M4F内核的MSP432 MCU开发实践》内容简介:本书以基于ARM Cortex-M4F内核的MSP432 P401r微控制器为例...
《写给未来的自己(第2季)》内容简介:本书收录了2018届“北大培文杯”全国青少年英语创意写作大赛的优秀作品。“北大培文杯”全国
AutoCAD建筑绘图与实训 内容简介 本书内容包括:计算机绘图基础知识、AutoCAD的基本操作、AutoCAD的二维绘图常用命令、AutoCAD的三维绘图简...
本书内容包括:HSPA标准的研究进展和未来发展蓝图;HSPA对无线网络的影响、协议结构以及网元的功能和接口,并给出了无线资源控制
Photoshop 图像处理高手秘笈138招-(附赠多媒体光盘1张) 本书特色 九天视觉主编的这本《Photoshop图像处理高手秘笈138招》根据多位资深平面...
揭示数字化主流大趋势的最新权威论著《主流》作者的最新力作!与法国秋季新版同步上市!面对数字化时代的到来,美国、欧盟、中国
《你不理财 财不理你(2)》内容简介:钱是需要去赚的,通常情况下,只要你能赚,你的财富才会越来越多,但同时也是省下来的。很多
《界:我奋斗的路》内容简介:本书为自传,分农村锻炼篇、香港学艺篇、回沪创业篇、回馈故乡篇四个部分,讲述了作者从上海到浙江慈
《国外计算机科学教材系列•分布式计算(第2版)》涵盖了分布式计算理论的主要内容,强调不同模型之间的相似点,同时也解释了它们之
《深入理解计算机网络》是计算机网络领域的扛鼎之作,由有20余年从业经验的优秀网络技术工程师兼全国网管技能水平开始认证专家王
《守望卡瓦格博》内容简介:2006年,新浪博客开通的第二年,杨旭东注册了“留给自己一份柔软的心情”的个人旅行博客。十余年来,一
本书从讲解什么是数据结构开始,延伸至高级数据结构和算法分析,强调数据结构和问题求解技术。本书的目的是从抽象思维和问题求解
《1939最后的乡愁》内容简介:梁思成、刘敦桢等营造学社一行,于1939-1940年在川、康地区进行古建筑考察,这是营造学社最后一次野外
《服装造型学(技术篇1)》主要内容有:上衣、裙子;连衣裙;上衣、裤子;花纹的名称;材料的名称;表面加工与特殊织物的名称;里料
《第一本哲学漫画书:尼采的哲学思想》内容简介:《第一本哲学漫画书:尼采的哲学思想》是参考的《查拉图斯特拉如是说》、《善恶的
《中国文化企业报告2015》内容简介:文化产业的产业变动日益剧烈,企业发展也呈现出两极分化的特点;向优秀文化企业学习,避免失败
Thisfast-movingguideintroduceswebapplicationdevelopmentwithHaskellandYesod,apote...
本书理论与实践结合,全面、深入地分析了家用路由器的安全漏洞,包括Web应用漏洞、栈溢出漏洞等,并辅以大量案例进行了翔实的分析
《海蒂》内容简介:《海蒂》是瑞士儿童文学作家给翰娜·斯比丽的代表作,被视为世界儿童文学经典作品之一。分为《海蒂的学习和生活