第1章 Windows内核系统综述 1
1.1 一个清晰简洁的Windows内核框架 1
1.2 Windows的基础性机制——对象与句柄 10
1.3 意外的保险机制——异常处理 19
1.4 幕后英雄——服务机制 27
1.5 窗口显示机制的灵媒——消息机制 34
1.6 Windows中的hook船长——消息钩子机制 40
1.7 Windows的独门秘术——注册表机制 45
1.8 Windows中的穿墙之术——系统调用 53
第2章 内存管理相关 62
2.1 寻址那些事儿——保护模式下的寻址机制 62
2.2 双重角色的扮演——页目录自映射 68
2.3 跨界是怎样实现的——跨进程操作 71
2.4 大粒度的内存管理——系统地址空间的页面管理 74
2.5 一棵树的故事——用户地址空间的内存管理 79
2.6 小粒度的内存管理——内存池管理 84
2.7 自助管理的范例——系统PTE的使用 89
2.8 Windows中共享内存的奥秘 92
2.9 物理内存的直接管理者——物理页面的管理 101
第3章 进线程管理相关 107
3.1 进线程初体验——进程和线程 107
3.2 忙而不乱——线程的调度与切换 108
3.3 Windows中一个进程的诞生 112
3.4 如何向CPU投递一段代码——延迟过程调用(DPC) 117
3.5 如何向线程投递一段代码——异步过程调用(APC) 124
3.6 Windows中的红绿灯——同步机制 133
3.7 代码共享的实践者——DLL文件的加载 138
第4章 硬件与驱动 145
4.1 硬件机制的两个核心对象——驱动对象与设备对象 145
4.2 IRP的初级穿越——单层驱动调用 148
4.3 IRP的高级穿越——多层驱动调用 151
4.4 数据传递的助力者——MDL机制 155
4.5 复制、粘贴、剪切的背后——NTFS文件系统 161
4.6 提高文件系统效率的机制——文件缓存 167
第5章 四个趣味专题 174
5.1 几十万元奖金的背后——缓冲区溢出入门 174
5.2 抓虫子(debug)的背后——调试机制 180
5.3 两个怪进程——进程SMSS与CSRSS 185
5.4 原子操作的范例——无锁单链表实现 193
参考文献 198