您现在的位置是:论文诗词网 > 成语词典 > 图书库 >

深入解析Windows操作系统:第6版(下册)

2021-12-30 21:31图书库 人已围观



深入解析Windows操作系统:第6版(下册)

基本介绍


作者: 【美】 Mark Russinovich / David A.Solomon / Alex Ionescu
出版社: 电子工业出版社
出品方: 博文视点
译者: 范德成 / 潘爱民
出版年: 2018-4
页数: 592
定价: 128
ISBN: 9787121336430

书本简介


《深入解析Windows操作系统(第6版)下册》是关于Windows 操作系统原理的最新著作,全面深入地阐述了Windows 操作系统的整体结构及内部工作细节。《深入解析Windows操作系统(第6版)下册》针对Windows 7、Windows Server 2008 R2 做了全面更新,通过许多练习实验让你直接感受到Windows 的内部行为。另外,《深入解析Windows操作系统(第6版)下册》还介绍了一些高级诊断技术,以便使系统运行得更加平稳和高效。无论你是开发人员还是系统管理员,都可以在本书中找到一些关键的、有关体系结构方面的知识,从而更好地做系统设计、调试和性能优化。

《深入解析Windows操作系统(第6版)下册》适合广大Windows 平台开发人员、IT 专业从业人员阅读。

作者简介


Mark Russinovich is a Technical Fellow in the Windows Azure™ group at Microsoft. He is coauthor of Windows SysInternals Administrator’s Reference, co-creator of the Sysinternals tools available from Microsoft TechNet, and coauthor of the Windows Internals book series.

David A. Solomon is coauthor of the Windows Internals book series and has taught his Windows internals class to...

目录


第8章 I/O系统1
8.1 I/O系统组件1
I/O管理器3
典型的I/O处理过程4
8.2 设备驱动程序5
设备驱动程序的类型5
WDM驱动程序6
分层的驱动程序7
实验:查看已加载的驱动程序列表9
驱动程序的结构11
驱动程序对象和设备对象13
实验:看一看设备对象15
实验:显示驱动程序和设备对象17
打开设备18
实验:查看设备句柄21
实验:查看Windows设备名称之间的映射23
8.3 I/O处理24
I/O类型24
同步I/O和异步I/O24
快速I/O25
实验:查看一个驱动程序登记的快速I/O例程25
映射文件I/O和文件缓存26
分散/聚集I/O27
I/O请求包27
IRP栈单元28
实验:查看驱动程序的分发例程29
实验:查看一个线程的未完成IRP29
IRP缓冲区管理30
针对单层驱动程序的I/O请求32
为一个中断提供服务33
完成一个I/O请求34
同步36
针对分层的驱动程序的I/O请求38
实验:查看一个设备栈39
实验:查看IRP40
线程无关I/O45
I/O取消45
用户发起的I/O取消46
线程终止时的I/O取消47
实验:调试一个无法被杀死的进程48
I/O完成端口49
IoCompletion对象50
使用完成端口50
I/O完成端口操作52
I/O优先级支持54
I/O优先级54
优先化策略55
I/O优先级反转的避免(I/O优先级继承)57
I/O优先级提升和撞升57
实验:“非常低”和“正常”I/O吞吐量的对比58
实验:I/O优先级提升/撞升的性能分析59
带宽预留(计划的文件I/O)60
容器通知60
驱动程序检验器(Driver Verifier)61
8.4 内核模式驱动程序框架(KMDF)63
KMDF驱动程序的结构和操作64
实验:显示KMDF驱动程序65
KMDF数据模型66
KMDF的I/O模型69
8.5 用户模式驱动程序框架(UMDF)72
8.6 即插即用(PnP)管理器76
即插即用支持的级别77
驱动程序对于即插即用的支持77
驱动程序加载、初始化和安装79
Start值80
设备列举81
实验:将设备树转储出来84
设备栈85
设备栈的驱动程序加载86
实验:在设备管理器中查看详细的devnode信息88
驱动程序安装90
实验:检查一个驱动程序的INF文件92
实验:查看目录(catalog)文件93
8.7 电源管理器94
电源管理器的操作96
驱动程序的电源操作97
实验:查看一个驱动程序的电源映射关系97
实验:查看系统的电源能力和策略98
驱动程序和应用程序对于设备电源的控制100
电源可用性请求100
实验:在调试器中查看一个电源可用性请求101
实验:利用Powercfg查看电源可用性请求103
处理器电源管理(PPM)103
核心停运的策略104
利用率函数105
实验:查看利用率和频率的信息106
实验:查看利用率和频率的历史107
算法覆盖108
增加/减少动作108
各种阈值和策略的设置109
实验:查看当前的核心停运策略111
“性能检查”算法112
实验:查看当前的PPM检查信息116
8.8 本章总结118
第9章 存储管理119
9.1 有关存储的术语119
9.2 磁盘设备120
旋转磁盘120
磁盘的扇区格式120
固态硬盘122
NAND型闪存122
文件的删除和irim命令124
9.3 磁盘驱动程序125
Winload125
磁盘类、端口和小端口驱动程序126
iSCSI驱动程序127
多路径I/O(MPIO)驱动程序128
实验:观察物理磁盘I/O130
磁盘设备对象130
分区管理器131
9.4 卷的管理132
基本磁盘133
MBR风格的分区133
GPT(GUID分区表)分区方案133
基本磁盘卷管理器134
动态磁盘135
LDM数据库135
实验:使用LDMDump来查看LDM数据库137
LDM和GPT或MBR风格的分区方案139
动态磁盘的卷管理器140
多分区卷的管理140
跨距卷141
条带卷142
实验:观察镜像卷的I/O操作143
RAID-5卷145
卷名字空间145
挂载管理器146
挂载点147
卷的挂载148
实验:查看VPB149
卷的I/O操作152
虚拟磁盘服务153
9.5 虚拟硬盘(VHD文件)支持155
附载VHD的操作156
嵌套的文件系统156
9.6 BitLocker驱动器加密157
加密密钥159
可信平台模块(TPM)161
BitLocker引导过程163
BitLocker密钥的恢复165
全卷加密驱动程序166
BitLocker的管理167
BitLocker To Go168
9.7 卷影像(shadow)拷贝服务170
影像拷贝170
“克隆”影像拷贝170
“写时复制”影像拷贝170
VSS的架构170
VSS的操作171
影像拷贝提供者172
实验:查看Microsoft影像拷贝提供者的过滤型设备对象173
Windows中的用途174
备份174
实验:查看影像卷的设备对象174
“之前的版本”和系统还原175
实验:导航到“之前的版本”176
实验:映射卷影像设备对象177
9.8 本章总结178
第10章 内存管理179
10.1 内存管理器简介179
内存管理器组件180
内部同步181
检查内存的使用情况182
实验:查看系统内存信息182
10.2 内存管理器提供的服务184
大页面和小页面185
保留页面和提交页面187
实验:保留的页面对比提交的页面188
提交限额190
锁住内存190
分配粒度191
共享内存和映射文件192
实验:查看内存映射文件193
保护内存194
“不可执行”页面保护196
实验:查看进程上的DEP保护199
软件的数据执行保护200
写时复制201
地址窗口扩展203
10.3 内核模式堆(系统内存池)204
内存池的大小205
实验:确定最大的池大小值206
监视内存池的使用208
实验:诊断内存池泄漏210
快查表(Look-Aside List)211
实验:查看系统的快查表212
10.4 堆管理器212
堆的类型213
堆管理器结构214
堆同步215
低碎片堆215
堆的安全特性216
堆的调试特性217
pageheap218
容错堆218
10.5 虚拟地址空间的布局结构219
x86地址空间的布局结构221
实验:检查一个应用程序能否感知大地址空间222
x86系统地址空间的布局结构223
x86会话空间224
实验:查看会话224
实验:查看会话空间的使用情况225
系统页表项(PTE,Page Table Entry)226
实验:查看会话空间的使用情况226
64位地址空间布局结构227
x64虚拟寻址的限制230
Windows x64的16TB限制231
动态的系统虚拟地址空间管理233
实验:查询系统虚拟地址的用量234
实验:设置系统虚拟地址的限制值235
系统的虚拟地址空间配额236
用户地址空间的布局结构237
实验:对用户虚拟地址空间进行分析238
映像随机化239
栈的随机化240
堆的随机化240
内核地址空间中的ASLR240
对安全性缓和措施的控制240
实验:查看进程上的ASLR保护241
10.6 地址转译241
x86虚拟地址转译242
页目录245
实验:检查页目录和PDE245
页表和页表项246
页表项中硬件和软件的“写”位247
页面内的字节248
地址转译快查缓冲区248
物理地址扩展(PAE)249
实验:转译地址251
x64虚拟地址转译253
IA64虚拟地址转译254
10.7 页面错误处理255
无效PTE256
原型PTE258
页面换入I/O259
冲突的页面错误260
聚簇的页面错误260
页面文件261
实验:查看系统页面文件262
提交用量和系统提交限额263
提交用量和页面文件的大小266
实验:利用任务管理器来查看页面文件使用量266
10.8 栈268
用户栈268
实验:创建最大数量的线程268
内核栈269
实验:观察内核栈的使用量269
DPC栈270
10.9 虚拟地址描述符270
进程的VAD271
实验:查看虚拟地址描述符272
旋转VAD272
10.10 NUMA273
10.11 内存区对象274
实验:查看内存区对象275
实验:查看控制区域277
10.12 驱动程序检验器280
10.13 页面帧编号数据库284
实验:查看PFN数据库287
页面列表的动态变化288
实验:空闲列表和零页面列表289
实验:已修改列表和备用列表291
页面优先级296
实验:观察区分优先级的备用列表298
已修改页面写出器299
PFN数据结构301
实验:查看PFN项304
10.14 物理内存的限制305
Windows客户版本的限制306
32位客户的有效内存限制307
10.15 工作集309
按需换页309
逻辑预取器310
实验:窥探预取文件内部312
实验:观察预取文件的读和写312
放置策略313
工作集管理314
实验:查看进程工作集大小316
实验:工作集与虚拟大小316
实验:在调试器中查看工作集列表317
平衡集管理器和交换器318
系统工作集319
内存通知事件320
实验:查看内存资源通知事件321
10.16 主动式内存管理(Superfetch)322
各个组件322
跟踪过程和日志记录324
场景325
页面优先级和重平衡326
鲁棒性能328
RAM优化软件329
ReadyBoost330
ReadyDrive331
统一缓存332
进程反射334
实验:利用Preflect来观察进程反射的行为336
10.17 本章总结337
第11章 缓存管理器338
11.1 缓存管理器的关键特性338
单个中心化的系统缓存339
内存管理器339
缓存一致性339
虚拟块缓存341
流式缓存机制341
对可恢复文件系统的支持341
11.2 缓存的虚拟内存管理342
11.3 缓存的大小344
缓存的虚拟大小344
缓存的工作集大小344
实验:查看系统缓存的工作集345
缓存的物理大小345
11.4 缓存的数据结构347
系统范围的缓存数据结构347
实验:查看系统缓存的工作集349
针对每个文件的缓存数据结构350
实验:查看共享的和私有的缓存表353
11.5 文件系统接口355
从缓存中来回拷贝数据356
通过映射和锁定接口进行缓存356
通过直接内存访问接口进行缓存357
11.6 快速I/O357
11.7 预读(Read Ahead)和滞后写(Write Behind)359
智能预读359
回写缓存(Write-Back Caching)和延迟写(Lazy Writing)361
实验:观察缓存管理器的活动情况362
禁止一个文件的延迟写出行为367
强迫缓存被直写(write-through)到磁盘上367
刷新映射文件367
实验:观察缓存的刷新368
写节流(Write Throttling)369
实验:查看写节流参数370
系统线程370
11.8 本章总结371
第12章 文件系统372
12.1 Windows文件系统格式373
CDFS373
UDF374
FAT12、FAT16和FAT32374
exFAT377
NTFS377
12.2 文件系统驱动程序总体结构378
本地FSD379
远程FSD380
锁定381
实验:查看已注册文件系统的列表383
文件系统操作387
显式文件I/O388
内存管理器的修改页面写出器和映射页面写出器392
缓存管理器的延迟写出器(Lazy Writer)392
缓存管理器的预读线程392
内存管理器的页面错误处理器393
文件系统过滤型驱动程序393
进程监视器393
实验:查看进程监视器的过滤型驱动程序394
12.3 诊断文件系统的问题395
进程监视器的基本和高级模式395
实验:在一个空闲系统上查看文件系统的活动395
进程监视器诊断技巧396
12.4 公用日志文件系统397
列集操作397
日志的类型398
日志的布局结构400
日志序列号401
日志块401
所有者页面402
虚拟LSN到物理LSN的转译403
管理策略404
12.5 NTFS设计目标和特性404
高端(High-End)文件系统的需求404
可恢复性405
安全性405
数据冗余和容错能力405
NTFS的高级特性406
多数据流406
实验:查看数据流408
基于Unicode的名称408
通用的索引设施409
动态的坏簇重新映射409
硬链接(link)和交接(junction)409
实验:创建一个硬链接410
符号(软)链接和交接(junction)410
实验:创建一个符号链接412
压缩文件和稀疏文件412
变化日志413
针对每个用户的卷配额413
链接跟踪414
加密415
POSIX支持416
碎片整理416
动态分区417
12.6 NTFS文件系统驱动程序419
12.7 NTFS在磁盘上的结构421
卷(volume)421
簇(cluster)422
主文件表(MFT)423
实验:查看NTFS信息425
文件记录号426
文件记录426
文件名429
隧道传输431
驻留的和非驻留的属性432
数据压缩和稀疏文件435
压缩稀疏数据435
压缩非稀疏数据437
稀疏文件439
变化日志文件439
实验:读取变化日志441
索引442
对象ID444
配额跟踪444
统一的安全性445
重解析点447
事务支持447
隔离性448
实验:理解和管理事务449
事务型API450
资源管理器451
实验:查询资源管理器的信息452
磁盘上的实现453
日志的实现454
恢复的实现455
12.8 NTFS的恢复支持455
设计456
元数据日志记录457
日志文件服务(LFS)457
日志记录类型459
恢复461
分析扫描(Analysis Pass)462
重做扫描(Redo Pass)463
撤销扫描(Undo Pass)463
NTFS的坏簇恢复465
自我修复468
12.9 加密文件系统(EFS)安全性469
第一次加密一个文件472
加密文件数据473
解密过程474
加密文件的备份474
实验:查看EFS信息475
加密文件的复制475
12.10 本章总结476
第13章 启动和停机477
13.1 引导过程477
BIOS引导准备477
BIOS引导扇区和Bootmgr481
UEFI引导过程495
从iSCSI引导496
初始化内核和执行体子系统497
实验:加载器参数块497
Smss、Csrss和Wininit504
未完成的文件重命名操作507
ReadyBoot509
自动启动的映像文件510
实验:Autoruns511
13.2 引导和启动问题的故障检查511
最后已知的好配置512
安全模式512
安全模式下的驱动程序加载513
能感知安全模式的用户程序514
安全模式下的引导日志515
Windows恢复环境(WinRE)516
引导状态文件519
解决常见的引导问题520
MBR损坏520
引导扇区损坏520
BCD的错误配置520
系统文件损坏521
Windows资源保护522
System储巢损坏523
启动屏幕之后的崩溃或者挂起523
13.3 停机525
实验:验证HungAppTimeout值526
13.4 本章总结528
第14章 崩溃转储分析529
14.1 Windows为什么会崩溃529
14.2 蓝屏530
Windows崩溃的原因531
14.3 诊断崩溃问题533
14.4 崩溃转储文件535
实验:查看转储文件的信息539
崩溃转储的生成540
14.5 Windows错误报告542
14.6 在线崩溃分析543
14.7 基本的崩溃转储分析545
Notmyfault545
基本的崩溃转储分析546
详细的分析547
14.8 使用崩溃诊断工具549
缓冲区溢出、内存破坏和特殊内存池550
实验:通过驱动程序检验器启用特殊内存池552
代码改写和系统代码写保护553
14.9 高级的崩溃转储分析554
栈破坏555
挂起的或无响应的系统557
实验:利用LiveKd来生成Hyper-V客户的转储559
当没有崩溃转储时561
实验:附载一个内核调试器562
14.10 对常见停止代码的分析564
0xD1 - DRIVER_IRQL_NOT_LESS_OR_EQUAL564
0x8E - KERNEL_MODE_EXCEPTION_NOT_HANDLED566
0x7F - UNEXPECTED_KERNEL_MODE_TRAP567
0xC5 - DRIVER_CORRUPTED_EXPOOL569
硬件故障571
实验:蓝屏屏幕保护程序572

深入解析Windows操作系统:第6版(下册)图书介绍 : 直接购买

站点信息

  • 文章统计111294篇文章