主页 详情

《深入解析Windows操作系统 下 第6版》_(美国)马克·拉希诺维奇(Mark Russinovich),大卫·A.所罗门(David A.Solomo

【书名】:《深入解析Windows操作系统 下 第6版》
【作者】:(美国)马克·拉希诺维奇(Mark Russinovich),大卫·A.所罗门(David A.Solomon),艾力克斯·伊纳苏(Alex Ionescu)
【出版社】:北京:电子工业出版社
【时间】:2018
【页数】:572
【ISBN】:9787121336430
【SS码】:14395523

最新查询

内容简介

第8章 I/O系统

8.1 I/O系统组件

I/O管理器

典型的I/O处理过程

8.2设备驱动程序

设备驱动程序的类型

WDM驱动程序

分层的驱动程序

实验:查看已加载的驱动程序列表

驱动程序的结构

驱动程序对象和设备对象

实验:看一看设备对象

实验:显示驱动程序和设备对象

打开设备

实验:查看设备句柄

实验:查看Windows设备名称之间的映射

8.3 I/O处理

I/O类型

同步I/O和异步I/O

快速I/O

实验:查看一个驱动程序登记的快速I/O例程

映射文件I/O和文件缓存

分散/聚集I/O

I/O请求包

IRP栈单元

实验:查看驱动程序的分发例程

实验:查看一个线程的未完成IRP

IRP缓冲区管理

针对单层驱动程序的I/O请求

为一个中断提供服务

完成一个I/O请求

同步

针对分层的驱动程序的I/O请求

实验:查看一个设备栈

实验:查看IRP

线程无关I/O

I/O取消

用户发起的I/O取消

线程终止时的I/O取消

实验:调试一个无法被杀死的进程

I/O完成端口

IoCompletion对象

使用完成端口

I/O完成端口操作

I/O优先级支持

I/O优先级

优先化策略

I/O优先级反转的避免(I/O优先级继承)

I/O优先级提升和撞升

实验:“非常低”和“正常”I/O吞吐量的对比

实验:I/O优先级提升/撞升的性能分析

带宽预留(计划的文件I/O)

容器通知

驱动程序检验器(Driver Verifier)

8.4内核模式驱动程序框架(KMDF)

KMDF驱动程序的结构和操作

实验:显示KMDF驱动程序

KMDF数据模型

KMDF的I/O模型

8.5用户模式驱动程序框架(UMDF)

8.6即插即用(PnP)管理器

即插即用支持的级别

驱动程序对于即插即用的支持

驱动程序加载、初始化和安装

Start值

设备列举

实验:将设备树转储出来

设备栈

设备栈的驱动程序加载

实验:在设备管理器中查看详细的devnode信息

驱动程序安装

实验:检查一个驱动程序的INF文件

实验:查看目录(catalog)文件

8.7电源管理器

电源管理器的操作

驱动程序的电源操作

实验:查看一个驱动程序的电源映射关系

实验:查看系统的电源能力和策略

驱动程序和应用程序对于设备电源的控制

电源可用性请求

实验:在调试器中查看一个电源可用性请求

实验:利用Powercfg查看电源可用性请求

处理器电源管理(PPM)

核心停运的策略

利用率函数

实验:查看利用率和频率的信息

实验:查看利用率和频率的历史

算法覆盖

增加/减少动作

各种阈值和策略的设置

实验:查看当前的核心停运策略

“性能检查”算法

实验:查看当前的PPM检查信息

8.8本章总结

第9章 存储管理

9.1有关存储的术语

9.2磁盘设备

旋转磁盘

磁盘的扇区格式

固态硬盘

NAND型闪存

文件的删除和irim命令

9.3磁盘驱动程序

Winload

磁盘类、端口和小端口驱动程序

iSCSI驱动程序

多路径I/O(MPIO)驱动程序

实验:观察物理磁盘I/O

磁盘设备对象

分区管理器

9.4卷的管理

基本磁盘

MBR风格的分区

GPT(GUID分区表)分区方案

基本磁盘卷管理器

动态磁盘

LDM数据库

实验:使用LDMDump来查看LDM数据库

LDM和GPT或MBR风格的分区方案

动态磁盘的卷管理器

多分区卷的管理

跨距卷

条带卷

实验:观察镜像卷的I/O操作

RAID-5卷

卷名字空间

挂载管理器

挂载点

卷的挂载

实验:查看VPB

卷的I/O操作

虚拟磁盘服务

9.5虚拟硬盘(VHD文件)支持

附载VHD的操作

嵌套的文件系统

9.6 BitLocker驱动器加密

加密密钥

可信平台模块(TPM)

BitLocker引导过程

BitLocker密钥的恢复

全卷加密驱动程序

BitLocker的管理

BitLocker To Go

9.7卷影像(shadow)拷贝服务

影像拷贝

“克隆”影像拷贝

“写时复制”影像拷贝

VSS的架构

VSS的操作

影像拷贝提供者

实验:查看Microsoft影像拷贝提供者的过滤型设备对象

Windows中的用途

备份

实验:查看影像卷的设备对象

“之前的版本”和系统还原

实验:导航到“之前的版本”

实验:映射卷影像设备对象

9.8本章总结

第10章 内存管理

10.1内存管理器简介

内存管理器组件

内部同步

检查内存的使用情况

实验:查看系统内存信息

10.2内存管理器提供的服务

大页面和小页面

保留页面和提交页面

实验:保留的页面对比提交的页面

提交限额

锁住内存

分配粒度

共享内存和映射文件

实验:查看内存映射文件

保护内存

“不可执行”页面保护

实验:查看进程上的DEP保护

软件的数据执行保护

写时复制

地址窗口扩展

10.3内核模式堆(系统内存池)

内存池的大小

实验:确定最大的池大小值

监视内存池的使用

实验:诊断内存池泄漏

快查表(Look-Aside List)

实验:查看系统的快查表

10.4堆管理器

堆的类型

堆管理器结构

堆同步

低碎片堆

堆的安全特性

堆的调试特性

pageheap

容错堆

10.5虚拟地址空间的布局结构

x86地址空间的布局结构

实验:检查一个应用程序能否感知大地址空间

x86系统地址空间的布局结构

x86会话空间

实验:查看会话

实验:查看会话空间的使用情况

系统页表项(PTE,Page Table Entry)

实验:查看会话空间的使用情况

64位地址空间布局结构

x64虚拟寻址的限制

Windows x64的16TB限制

动态的系统虚拟地址空间管理

实验:查询系统虚拟地址的用量

实验:设置系统虚拟地址的限制值

系统的虚拟地址空间配额

用户地址空间的布局结构

实验:对用户虚拟地址空间进行分析

映像随机化

栈的随机化

堆的随机化

内核地址空间中的ASLR

对安全性缓和措施的控制

实验:查看进程上的ASLR保护

10.6地址转译

x86虚拟地址转译

页目录

实验:检查页目录和PDE

页表和页表项

页表项中硬件和软件的“写”位

页面内的字节

地址转译快查缓冲区

物理地址扩展(PAE)

实验:转译地址

x64虚拟地址转译

IA64虚拟地址转译

10.7页面错误处理

无效PTE

原型PTE

页面换入I/O

冲突的页面错误

聚簇的页面错误

页面文件

实验:查看系统页面文件

提交用量和系统提交限额

提交用量和页面文件的大小

实验:利用任务管理器来查看页面文件使用量

10.8栈

用户栈

实验:创建最大数量的线程

内核栈

实验:观察内核栈的使用量

DPC栈

10.9虚拟地址描述符

进程的VAD

实验:查看虚拟地址描述符

旋转VAD

10.10 NUMA

10.11内存区对象

实验:查看内存区对象

实验:查看控制区域

10.12驱动程序检验器

10.13页面帧编号数据库

实验:查看PFN数据库

页面列表的动态变化

实验:空闲列表和零页面列表

实验:已修改列表和备用列表

页面优先级

实验:观察区分优先级的备用列表

已修改页面写出器

PFN数据结构

实验:查看PFN项

10.14物理内存的限制

Windows客户版本的限制

32位客户的有效内存限制

10.15 工作集

按需换页

逻辑预取器

实验:窥探预取文件内部

实验:观察预取文件的读和写

放置策略

工作集管理

实验:查看进程工作集大小

实验:工作集与虚拟大小

实验:在调试器中查看工作集列表

平衡集管理器和交换器

系统工作集

内存通知事件

实验:查看内存资源通知事件

10.16主动式内存管理(Superfetch)

各个组件

跟踪过程和日志记录

场景

页面优先级和重平衡

鲁棒性能

RAM优化软件

ReadyBoost

ReadyDrive

统一缓存

进程反射

实验:利用Preflect来观察进程反射的行为

10.17本章总结

第11章 缓存管理器

11.1缓存管理器的关键特性

单个中心化的系统缓存

内存管理器

缓存一致性

虚拟块缓存

流式缓存机制

对可恢复文件系统的支持

11.2缓存的虚拟内存管理

11.3缓存的大小

缓存的虚拟大小

缓存的工作集大小

实验:查看系统缓存的工作集

缓存的物理大小

11.4缓存的数据结构

系统范围的缓存数据结构

实验:查看系统缓存的工作集

针对每个文件的缓存数据结构

实验:查看共享的和私有的缓存表

11.5文件系统接口

从缓存中来回拷贝数据

通过映射和锁定接口进行缓存

通过直接内存访问接口进行缓存

11.6快速I/O

11.7预读(Read Ahead)和滞后写(Write Behind)

智能预读

回写缓存(Write-Back Caching)和延迟写(Lazy Writing)

实验:观察缓存管理器的活动情况

禁止一个文件的延迟写出行为

强迫缓存被直写(write-through)到磁盘上

刷新映射文件

实验:观察缓存的刷新

写节流(Write Throttling)

实验:查看写节流参数

系统线程

11.8本章总结

第12章 文件系统

12.1 Windows文件系统格式

CDFS

UDF

FAT12、FAT16和FAT32

exFAT

NTFS

12.2文件系统驱动程序总体结构

本地FSD

远程FSD

锁定

实验:查看已注册文件系统的列表

文件系统操作

显式文件I/O

内存管理器的修改页面写出器和映射页面写出器

缓存管理器的延迟写出器(Lazy Writer)

缓存管理器的预读线程

内存管理器的页面错误处理器

文件系统过滤型驱动程序

进程监视器

实验:查看进程监视器的过滤型驱动程序

12.3诊断文件系统的问题

进程监视器的基本和高级模式

实验:在一个空闲系统上查看文件系统的活动

进程监视器诊断技巧

12.4公用日志文件系统

列集操作

日志的类型

日志的布局结构

日志序列号

日志块

所有者页面

虚拟LSN到物理LSN的转译

管理策略

12.5 NTFS设计目标和特性

高端(High-End)文件系统的需求

可恢复性

安全性

数据冗余和容错能力

NTFS的高级特性

多数据流

实验:查看数据流

基于Unicode的名称

通用的索引设施

动态的坏簇重新映射

硬链接(link)和交接(junction)

实验:创建一个硬链接

符号(软)链接和交接(junction)

实验:创建一个符号链接

压缩文件和稀疏文件

变化日志

针对每个用户的卷配额

链接跟踪

加密

POSIX支持

碎片整理

动态分区

12.6 NTFS文件系统驱动程序

12.7 NTFS在磁盘上的结构

卷(volume)

簇(cluster)

主文件表(MFT)

实验:查看NTFS信息

文件记录号

文件记录

文件名

隧道传输

驻留的和非驻留的属性

数据压缩和稀疏文件

压缩稀疏数据

压缩非稀疏数据

稀疏文件

变化日志文件

实验:读取变化日志

索引

对象ID

配额跟踪

统一的安全性

重解析点

事务支持

隔离性

实验:理解和管理事务

事务型API

资源管理器

实验:查询资源管理器的信息

磁盘上的实现

日志的实现

恢复的实现

12.8 NTFS的恢复支持

设计

元数据日志记录

日志文件服务(LFS)

日志记录类型

恢复

分析扫描(Analysis Pass)

重做扫描(Redo Pass)

撤销扫描(Undo Pass)

NTFS的坏簇恢复

自我修复

12.9加密文件系统(EFS)安全性

第一次加密一个文件

加密文件数据

解密过程

加密文件的备份

实验:查看EFS信息

加密文件的复制

12.10本章总结

第13章 启动和停机

13.1引导过程

BIOS引导准备

BIOS引导扇区和Bootmgr

UEFI引导过程

从iSCSI引导

初始化内核和执行体子系统

实验:加载器参数块

Smss、Csrss和Wininit

未完成的文件重命名操作

ReadyBoot

自动启动的映像文件

实验:Autoruns

13.2引导和启动问题的故障检查

最后已知的好配置

安全模式

安全模式下的驱动程序加载

能感知安全模式的用户程序

安全模式下的引导日志

Windows恢复环境(WinRE)

引导状态文件

解决常见的引导问题

MBR损坏

引导扇区损坏

BCD的错误配置

系统文件损坏

Windows资源保护

System储巢损坏

启动屏幕之后的崩溃或者挂起

13.3停机

实验:验证HungAppTimeout值

13.4本章总结

第14章 崩溃转储分析

14.1 Windows为什么会崩溃

14.2蓝屏

Windows崩溃的原因

14.3诊断崩溃问题

14.4崩溃转储文件

实验:查看转储文件的信息

崩溃转储的生成

14.5 Windows错误报告

14.6在线崩溃分析

14.7基本的崩溃转储分析

Notmyfault

基本的崩溃转储分析

详细的分析

14.8使用崩溃诊断工具

缓冲区溢出、内存破坏和特殊内存池

实验:通过驱动程序检验器启用特殊内存池

代码改写和系统代码写保护

14.9高级的崩溃转储分析

栈破坏

挂起的或无响应的系统

实验:利用LiveKd来生成Hyper-V客户的转储

当没有崩溃转储时

实验:附载一个内核调试器

14.10对常见停止代码的分析

0xD1-DRIVER_IRQL_NOT_LESS_OR_EQUAL

0x8E-KERNEL_MODE_EXCEPTION_NOT_HANDLED

0x7F-UNEXPECTED_KERNEL_MODE_TRAP

0xC5-DRIVER_CORRUPTED_EXPOOL

硬件故障

实验:蓝屏屏幕保护程序

14.11本章小结


书查询(www.shuchaxun.com)本网页唯一编码:
098ad0ff39d716079af4e2d3777c4408#b8497e2ec4c6d3882c4c3d3630310f56#106218972#14395523.pdf