深入解析Windows作系统计机互联网编程语言程序设计作系统开发win作使用详解教程pdf下载pdf下载

深入解析Windows作系统计机互联网编程语言程序设计作系统开发win作使用详解教程百度网盘pdf下载

作者:
简介:本篇主要提供深入解析Windows作系统计机互联网编程语言程序设计作系统开发win作使用详解教程pdf下载
出版社:枷横图书专营店
出版时间:2023-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

深入解析Windows操作系统(卷1)(第7版)
作 者:
(美)帕维尔·约西沃维奇 等 著 刘晖 译
定 价:
179.9
出版社:
人民邮电出版社
出版日期:
2021年04月01日
页 数:
656
装 帧:
平装
ISBN:
9787115556943
深入研究Windows系统架构和内部构件,并了解核心组件在幕后的工作原理。这本指南由微软内部专家团队撰写,针对Windows 10和Windows Server 2016进行了全面更新。无论你是一名开发人员还是IT专业人士,都可以学到关于Windows如何运作的关键的内部观点。通过身实践,你将体验到Windows操作系统的内部行为——获取可用于改进应用程序设计、调试、系统性能和支持的知识。本书将帮助读者: 了解Windows系统架构及其zui重要的实体,例如进程和线程; 了解......
第1章概念和工具1
1.1Windows操作系统的版本1
1.1.1Windows10和未来的Windows版本3
1.1.2Windows10和OneCore3
1.2基本概念和术语3
1.2.1WindowsAPI3
1.2.2服务、函数和例程6
1.2.3进程7
1.2.4线程15
1.2.5作业17
1.2.6虚拟内存18
1.2.7内核模式和用户模式20
1.2.8虚拟机监控程序23
1.2.9固件25
1.2.10终端服务和多会话25
1.2.11对象和句柄26
1.2.12安全性26
1.2.13注册表28
1.2.14Unicode28
1.3深入了解Windows内部原理30
1.3.1性能监视器和资源监视器30
1.3.2内核调试32
1.3.3Windows软件开发包36
1.3.4Sysinternals工具37
1.4小结37
第2章系统架构38
2.1需求和设计目标38
2.2操作系统模型39
2.3架构概述39
2.3.1可移植性41
2.3.2对称多处理器42
2.3.3可伸缩性45
2.3.4客户端和服务器版本之间的差异45
2.3.5已检验版本48
2.4基于虚拟化的安全架构概述49
2.5重要的系统组件51
2.5.1环境子系统和子系统DLL52
2.5.2其他子系统57
2.5.3执行体61
2.5.4内核63
2.5.5硬件抽象层66
2.5.6设备驱动程序69
2.5.7系统进程74
2.6小结84
第3章进程和作业85
3.1创建进程85
3.1.1CreateProcess*函数的参数86
3.1.2创建Windows“现代化”进程87
3.1.3创建其他类型的进程87
3.2进程的内部构造88
3.3受保护进程95
3.3.1受保护进程轻型(PPL)96
3.3.2对第三方PPL的支持99
3.4小进程和Pico进程100
3.4.1小进程100
3.4.2Pico进程101
3.5Trustlet(安全进程)102
3.5.1Trustlet的构造103
3.5.2Trustlet策略元数据103
3.5.3Trustlet的属性104
3.5.4系统内置的Trustlet104
3.5.5Trustlet的标识105
3.5.6隔离用户模式服务105
3.5.7Trustlet可访问的系统调用106
3.6CreateProcess的流程107
3.6.1第1阶段:转换并验证参数和标志108
3.6.2第2阶段:打开要执行的映像112
3.6.3第3阶段:创建Windows执行体进程对象114
3.6.4第4阶段:创建初始线程及其栈和上下文118
3.6.5第5阶段:执行与Windows子系统有关的初始化工作120
3.6.6第6阶段:初始线程的启动执行121
3.6.7第7阶段:在新进程的上下文中执行进程初始化工作122
3.7进程的终止126
3.8映像加载程序127
3.8.1进程初始化的早期工作129
3.8.2DLL名称解析和重定向131
3.8.3已加载模块数据库135
3.8.4导入解析138
3.8.5导入过程初始化的后处理139
3.8.6SwitchBack140
3.8.7API集142
3.9作业144
3.9.1作业的145
3.9.2使用作业146
3.9.3嵌套的作业146
3.9.4Windows容器(ServerSilo)150
3.10小结157
第4章线程158
4.1创建线程158
4.2线程的内部机理159
4.2.1数据结构159
4.2.2线程的诞生169
4.3查看线程的活动170
4.4线程的调度175
4.4.1Windows调度概述175
4.4.2优先级级别176
4.4.3线程的状态181
4.4.4调度程序数据库186
4.4.5量程188
4.4.6优先级提升193
4.4.7上下文切换207
4.4.8调度场景208
4.4.9空闲线程211
4.4.10线程的挂起214
4.4.11(深度)冻结214
4.4.12线程的选择216
4.4.13多处理器系统217
4.4.14多处理器系统中线程的选择230
4.4.15处理器的选择231
4.4.16异质调度(big.LITTLE)233
4.5基于组的调度234
4.5.1动态公平共享调度235
4.5.2CPU速率238
4.5.3处理器的动态添加和替换241
4.6工作者工厂(线程池)242
4.7小结245
第5章内存管理246
5.1内存管理器简介246
5.1.1内存管理器组件247
5.1.2大页面和小页面247
5.1.3查看内存使用情况249
5.1.4内部同步252
5.2内存管理器提供的服务252
5.2.1页面状态和内存的分配253
5.2.2提交用量和提交256
5.2.3锁定到内存256
5.2.4分配的粒度257
5.2.5共享内存和映射文件257
5.2.6保护内存259
5.2.7数据执行保护260
5.2.8写入时复制263
5.2.9地址窗口扩展264
5.3内核模式堆(系统内存池)265
5.3.1池的大小266
5.3.2监视内存池的使用267
5.3.3旁视列表270
5.4堆管理器271
5.4.1进程堆272
5.4.2堆的类型273
5.4.3NT堆273
5.4.4堆同步273
5.4.5段堆275
5.4.6堆的安全特性279
5.4.7堆的调试特性280
5.4.8页堆280
5.4.9容错堆283
5.5虚拟地址空间布局284
5.5.1x86地址空间布局285
5.5.2x86系统地址空间布局288
5.5.3x86会话空间288
5.5.4系统页表项290
5.5.5ARM地址空间布局291
5.5.664位地址空间布局291
5.5.7x64虚拟寻址的局限293
5.5.8动态系统虚拟地址空间管理293
5.5.9系统虚拟地址空间配额298
5.5.10用户地址空间布局298
5.6地址转换303
5.6.1x86虚拟地址转换303
5.6.2地址转换旁视缓冲区308
5.6.3x64虚拟地址转换311
5.6.4ARM虚拟地址转换311
5.7页面错误的处理312
5.7.1无效PTE313
5.7.2原型PTE314
5.7.3页面换入I/O316
5.7.4冲突的页面错误316
5.7.5聚簇的页面错误317
5.7.6页面文件317
5.7.7提交用量和系统提交322
5.7.8提交用量和页面文件大小325
5.8栈326
5.8.1用户栈326
5.8.2内核栈327
5.8.3DPC栈328
5.9虚拟地址描述符328
5.9.1进程的VAD329
5.9.2旋转VAD330
5.10NUMA331
5.11节对象331
5.12工作集338
5.12.1按需换页338
5.12.2逻辑预取器和ReadyBoot339
5.12.3放置策略341
5.12.4工作集管理342
5.12.5平衡集管理器和交换器346
5.12.6系统工作集346
5.12.7内存通知事件347
5.13页帧编号数据库349
5.13.1页面列表的转换351
5.13.2页面优先级357
5.13.3已修改页面写出器和映射页面写出器359
5.13.4PFN的数据结构361
5.13.5页面文件的保留364
5.14物理内存的366
5.15内存压缩369
5.15.1压缩过程图解370
5.15.2压缩架构372
5.16内存分区374
5.17内存联合376
5.17.1搜索阶段378
5.17.2分类阶段378
5.17.3页面联合阶段379
5.17.4从私有到共享PTE380
5.17.5联合页面的释放381
5.18内存飞地384
5.18.1编程接口385
5.18.2内存飞地的初始化385
5.18.3飞地的构造386
5.18.4将数据载入飞地387
5.18.5飞地的初始化388
5.19前瞻性内存管理(SuperFetch)388
5.19.1组件388
5.19.2跟踪和日志记录390
5.19.3场景390
5.19.4页面优先级和重均衡391
5.19.5健壮性能393
5.19.6ReadyBoost394
5.19.7ReadyDrive395
5.19.8进程反射395
5.20小结397
第6章I/O系统398
6.1I/O系统组件398
6.1.1I/O管理器400
6.1.2典型的I/O处理400
6.2中断请求级别和延迟过程调用402
6.2.1中断请求级别402
6.2.2延迟过程调用404
6.3设备驱动程序405
6.3.1设备驱动程序的类型406
6.3.2驱动程序的结构410
6.3.3驱动程序对象和设备对象412
6.3.4打开设备417
6.4I/O的处理421
6.4.1I/O的类型421
6.4.2I/O请求包423
6.4.3针对单层硬件驱动程序的I/O请求433
6.4.4针对分层驱动程序的I/O请求440
6.4.5线程无关I/O443
6.4.6I/O的取消443
6.4.7I/O完成端口447
6.4.8I/O优先级处理451
6.4.9容器通知455
6.5驱动程序验证程序456
6.5.1与I/O有关的验证选项458
6.5.2与内存有关的验证选项458
6.6即插即用管理器462
6.6.1即插即用的支持级别462
6.6.2设备的枚举463
6.6.3设备栈465
6.6.4驱动程序对即插即用的支持470
6.6.5即插即用驱动程序的安装472
6.7常规驱动程序的加载和安装475
6.7.1驱动程序的加载475
6.7.2驱动程序的安装477
6.8Windows驱动程序基础477
6.8.1内核模式驱动程序框架478
6.8.2用户模式驱动程序框架485
6.9电源管理器488
6.9.1连接待机和新型待机491
6.9.2电源管理器操作491
6.9.3驱动程序的电源操作492
6.9.4驱动程序和应用程序对设备电源的控制495
6.9.5电源管理框架495
6.9.6电源可用性请求497
6.10小结498
第7章安全性500
7.1安全评级500
7.1.1可信计算机系统评估标准500
7.1.2通用标准501
7.2安全系统组件502
7.3基于虚拟化的安全性504
7.3.1CredentialGuard505
7.3.2DeviceGuard510
7.4保护对象512
7.4.1访问检查513
7.4.2安全标识符516
7.4.3虚拟服务账户533
7.4.4安全描述符和访问控制537
7.4.5动态访问控制550
7.5AuthZAPI551
7.6账户权限和特权552
7.6.1账户权限553
7.6.2特权554
7.6.3特权558
7.7进程和线程的访问令牌559
7.8安全审核559
7.8.1审核对象访问560
7.8.2全局审核策略563
7.8.3高级审核策略设置564
7.9AppContainer565
7.9.1UWP应用概述566
7.9.2AppContainer567
7.10登录587
7.10.1Winlogon的初始化588
7.10.2用户登录的步骤590
7.10.3可保证的身份验证594
7.10.4WindowsBiometricFramework595
7.10.5WindowsHello597
7.11用户账户控制和虚拟化598
7.11.1文件系统和注册表虚拟化598
7.11.2权限提升603
7.12攻击缓解608
7.12.1进程缓解策略608
7.12.2控制流完整性612
7.12.3安全声明622
7.13应用程序标识626
7.14AppLocker626
7.15软件策略630
7.16内核补丁保护632
7.17PatchGuard633
7.18HyperGuard635
7.19小结636
内容简介
本书基于Windows 10和Windows Server 2016编写,深入解析Windows操作系统的系统架构、进程、线程、内存管理等知识,旨在帮助读者了解Windows 10和Windows Server 2016操作系统内部工作原理,使之在针对Windows平台开发应用程序时,可以更好地理解不同设计机制间的关系。
本书先介绍Windows的基本概念和工具以及Windows的架构和主要组件,然后详细介绍进程和作业、内存管理、I/O系统等内容,介绍Windows内置的安全机制以及用于阻止滥用的各种缓解措施。
本书辅以大量实验,并给出了具体步骤,可供读者自行尝试,让他们通过内核调试器、Sysinternals工具和专为本书内容开发的其他工具一窥Windows的工作原理,进而能够将这些知识应用于改进应用程序设计、调试以及系统性能和支持。
本书适合希望......