《Windows内核情景分析 采用开源代码ReactOS 上》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:毛德操著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121081149
  • 页数:730 页
图书介绍:本书用Linux的刀法对Windows(特别是其内核)作源代码级的解剖和分析,并将Windows的各种“内脏”与机制与其在Linux中的对应物(如果有的话)进行对比。这样,熟悉Linux的读者很快就可以比较踏实地了解和理解Windows的内部构造和机理。

上册 1

第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

下册 729

第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 Win32API函数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

附记:关于“Message”一词的汉译 1467