百道网
 您现在的位置:Fun书 > 深入解析Windows操作系统 卷I 英文版 第7版
深入解析Windows操作系统 卷I 英文版 第7版


深入解析Windows操作系统 卷I 英文版 第7版

作  者:[以] 帕维尔·尤西夫维奇(Pavel Yosifovich)[加] 亚历克斯·约内斯库(Alex Ionescu)[美] 马克·拉希诺维奇(Mark Russinovich)[美] 大卫·所罗门(David Solomon)

出 版 社:人民邮电出版社

出版时间:2018年11月

定  价:128.00

I S B N :9787115491800

所属分类: 专业科技  >  计算机/网络  >  操作系统/系统开发    

标  签:

[查看微博评论]

分享到:

TOP内容简介

从Windows 8开始,微软开始了一个将操作系统融合的过程。而在Windows 10中,这个融合已经趋于完美,它运行在台式计算机/笔记本电脑、服务器、XBOX One、手机(Windows Mobile 10)、HoloLens和各种物联网设备上。本书作为深度解析Windows操作系统这一系列的第7版(第1部分即卷1),其内容则涵盖了Windows从Windows 8到Windows 10演变过程中的各个方面。

本书介绍了Windows 10和Windows Sever 2016的架构与核心内部结构。通过本书,读者可以了解Windows系统架构及其一般组件,掌握如何使用诸如内核调试器之类的工具来探索内部数据结构,也可以了解Windows如何使用流程进行管理和隔离,理解和查看线程调度以及如何管理CPU资源,还可以深入理解Windows安全模型,包括在安全措施方面的最新进展,并了解Windows如何管理虚拟和物理内存,以及输入/输出系统如何管理物理设备和设备驱动程序。具体分为以下7个部分:概念和工具、系统架构、进程和作业、线程、内存管理、I/O系统和安全。

本书内容丰富、信息全面,适合广大Windows平台开发人员、系统管理员及Windows爱好者阅读。

 


TOP作者简介

帕维尔·尤西夫维奇(Pavel Yosifovich)是一位专注于Microsoft技术和工具的开发人员、培训师和作者。他是Microsoft的MVP和Pluralsight的作者。

亚历克斯·约内斯库(Alex Ionescu)是CrowdStrike公司EDR战略副总裁,同时也是国际公认的低级别系统软件、操作系统研究和内核开发、安全培训和逆向工程方面的专家。

马克·拉希诺维奇(Mark Russinovich)是微软全球企业级云平台Azure的首席技术官,也是分布式系统和操作系统领域公认的专家。他是Winternal软件公司的联合创始人,也是Sysinternals工具和网站的主要作者。

大卫·所罗门(David Solomon)给世界各地的开发者和IT专业人士教授Windows内核的内部原理已有20年。他参与了本书每个版本的写作。大卫是1993年和2005年Microsoft Support Most Valuable Professional(MVP)奖的获得者。


TOP目录

Introduction  /  引言 i

1 Concepts and tools  /  第 1章 概念和工具 1

1.1 Windows operating system versions  /  Windows操作系统版本 1

1.1.1 Windows 10 and future Windows versions  /  

Windows 10和后续Windows版本 3

1.1.2 Windows 10 and OneCore  /  Windows 10和Windows系统核心 3

1.2 Foundation concepts and terms  /  基本概念和术语 4

1.2.1 Windows API  /  Windows API 4

1.2.2 Services, functions, and routines  /  服务、功能和例行程序 7

1.2.3 Processes  /  进程 8

1.2.4 Threads  /  线程 18

1.2.5 Jobs  /  作业 20

1.2.6 Virtual memory  /  虚拟内存 21

1.2.7 Kernel mode vs. user mode  /  内核模式vs用户模式 23

1.2.8 Hypervisor  /  虚拟机管理程序 27

1.2.9 Firmware  /  固件版本 29

1.3.0 Terminal Services and multiple sessions  /  终端服务和多会话 29

1.3.1 Objects and handles  /  对象和处理 30

1.3.2 Security  /  安全 31

1.3.3 Registry  /  注册表 32

1.3.4 Unicode  /  Unicode编码 33

1.3 Digging into Windows internals  /  深入挖掘Windows内部 35

1.3.1 Performance Monitor and Resource Monitor  /  

性能监控和资源监控 36

1.3.2 Kernel debugging  /  内核调试 38

1.3.3 Windows Software Development Kit  /  Windows SDK 43

1.3.4 Windows Driver Kit  /  Windows驱动套件 43

1.3.5 Sysinternals tools  /  五大利器 44

1.4 结论 44

2 System architecture  /  第 2章 系统架构 45

2.1 Requirements and design goals  /  需求和设计目标 45

2.2 Operating system model  /  操作系统模型 46

2.3 Architecture overview  /  架构概述 47

2.3.1 Portability  /  可移植性 50

2.3.2 Symmetric multiprocessing  /  对称多处理 51

2.3.3  Scalability  /  可扩展性 53

2.3.4 Differences between client and server versions  /  

客户端和服务端版本的差异 54

2.3.5 Checked build  /  已验证版本 57

2.4 Virtualization-based security architecture overview  /  

基于虚拟化技术的安全架构概述 59

2.5 Key system components  /  核心系统组件 61

2.5.1 Environment subsystems and subsystem DLLs  /  

环境子系统和子系统DLL 62

2.5.2 Other subsystems  /  其他子系统 68

2.5.3 Executive  /  执行性 72

2.5.4 Kernel  /  内核 75

2.5.5 Hardware abstraction layer  /  硬件抽象层 79

2.5.6 Device drivers  /  设备驱动 82

2.5.7 System processes  /  系统进程 88

2.6 Conclusion  /  结论 99

3  Processes and jobs  /  第3章 进程和作业 101

3.1 Creating a process  /  创建一个进程 101

3.1.1  CreateProcess* functions arguments  /  CreateProcess*函数参数 102

3.1.2  Creating Windows modern processes  /  创建Windows进程 103

3.1.3  Creating other kinds of processes  /  创建其他类型线程 104

3.2  Process internals  /  进程核心 105

3.3  Protected processes  /  受保护的进程 113

3.3.1  Protected Process Light (PPL)  /  PPL 115

3.3.2  Third-party PPL support  /  第三方PPL支持 119

3.4  Minimal and Pico processes  /  最小进程和微进程 120

3.4.1  Minimal processes  /  最小进程 120

3.4.2  Pico processes  /  微进程 121

3.5  Trustlets (secure processes)  /  Trustlets(安全进程) 123

3.5.1  Trustlet structure  /  Trustlet结构 123

3.5.2  Trustlet policy metadata  /  Trustlet策略元数据 124

3.5.3  Trustlet attributes  /  Trustlet属性 125

3.5.4  System built-in Trustlets  /  系统内置Trustlets 125

3.5.5  Trustlet identity  /  Trustlet标识 126

3.5.6  Isolated user-mode services  /  隔离的用户模式服务 127

3.5.7  Trustlet-accessible system calls  /  Trustlet可访问的系统调用 128

3.6  Flow of CreateProcess  /  创建进程流程 129

3.6.1  Stage 1: Converting and validating parameters andflags  /  

阶段1:转换并验证参数和标记 131

3.6.2  Stage 2: Opening the image to be executed  /  

阶段2:打开要执行的镜像 135

3.6.3  Stage 3: Creating the Windows executive process object  /  

阶段3:创建Windows可执行进程对象 138

3.6.4  Stage 4: Creating the initial thread and its stack and context  /  

阶段4:创建初始线程以及它的堆栈和上下文 144

3.6.5  Stage 5: Performing Windows subsystem–specific initialization  /  

阶段5:执行Windows子系统的特殊初始化 146

3.6.6  Stage 6: Starting execution of the initial thread  /  

阶段6:开始执行初始线程 148

3.6.7  Stage 7: Performing process initialization in the context of the new process  /  

阶段7:在新进程中的上下文执行进程初始化 148

3.7  Terminating a process  /  终止一个进程 154

3.8  Image loader  /  镜像加载器 155

3.8.1  Early process initialization  /  早期进程初始化 157

3.8.2  DLL name resolution and redirection  /  DLL名称解析和重定向 160

3.8.3  Loaded module database  /  已加载组件的数据库 164

3.8.4  Import parsing  /  导入解析 168

3.8.5  Post-import process initialization  /  后导入进程初始化 170

3.8.6  SwitchBack  /  SwitchBack 171

3.8.7  API Sets  /  API集 173

3.9  Jobs  /  作业 176

3.9.1  Job limits  /  作业限制 177

3.9.2  Working with a job  /  处理一个作业 178

3.9.3  Nested jobs  /  嵌套作业 179

3.9.4  Windows containers (server silos)  /  

Windows容器(服务器仓库) 183

3.10  Conclusion  /  结论 191

4  Threads  /  第4章 线程 193

4.1  Creating threads  /  创建线程 193

4.2  Thread internals  /  线程内部 194

4.2.1  Data structures  /  数据结构 194

4.2.2  Birth of a thread  /  线程的产生 206

4.3  Examining thread activity  /  检查线程活性 207

4.3.1  Limitations on protected process threads  /  

受保护进程中线程的限制 212

4.4  Thread scheduling  /  线程调度 214

4.4.1  Overview of Windows scheduling  /  Windows调度概述 214

4.4.2  Priority levels  /  优先级等级 215

4.4.3  Thread states  /  线程状态 223

4.4.4  Dispatcher database  /  调度数据库 228

4.4.5  Quantum  /  量子 231

4.4.6  Priority boosts  /  提高优先级 238

4.4.7  Context switching  /  上下文切换 255

4.4.8  Scheduling scenarios  /  调度场景 256

4.4.9  Idle threads  /  空闲线程 260

4.4.10  Thread suspension  /  线程挂起 264

4.4.11  (Deep) freeze  /  (深度)冻结 264

4.4.12  Thread selection  /  线程选择 266

4.4.13  Multiprocessor systems  /  多处理器系统 268

4.4.14  Thread selection on multiprocessor systems  /  

多处理器系统的线程选择 283

4.4.15  Processor selection  /  处理器选择 284

4.4.16  Heterogeneous scheduling (big.LITTLE)  /  

多重调度(big.LITTLE) 286

4.5  Group-based scheduling  /  基于组的调度 287

4.5.1  Dynamic fair share scheduling  /  动态公平共享调度 289

4.5.2  CPU rate limits  /  CPU速率限制 292

4.5.3  Dynamic processor addition and replacement  /  

动态处理器添加和替换 295

4.6  Worker factories (thread pools)  /  工人工厂(线程池) 297

4.6.1  Worker factory creation  /  创建工人工厂 298

4.7  Conclusion  /  结论 300

5  Memory management  /  第5章 内存管理 301

5.1  Introduction to the memory manager  /  内存管理介绍 301

5.1.1  Memory manager components  /  内存管理组件 302

5.1.2  Large and small pages  /  大小页面 303

5.1.3  Examining memory usage  /  检查内存使用 305

5.1.4  Internal synchronization  /  内部同步 308

5.2  Services provided by the memory manager  /  内存管理提供的服务 309

5.2.1  Page states and memory allocations  /  页面状态和内存分配 310

5.2.2  Commit charge and commit limit  /  提交调度和提交限制 313

5.2.3  Locking memory  /  锁定内存 314

5.2.4  Allocation granularity  /  分配粒度 314

5.2.5  Shared memory and mapped files  /  共享内存和映射文件 315

5.2.6  Protecting memory  /  内存保护 317

5.2.7  Data Execution Prevention  /  数据执行保护 319

5.2.8  Copy-on-write  /  写时复制 321

5.2.9  Address Windowing Extensions  /  地址窗口化扩展 232

5.3  Kernel-mode heaps (system memory pools)  /  内核模式堆(系统内存池) 324

5.3.1  Pool sizes  /  池大小 325

5.3.2  Monitoring pool usage  /  监控池的使用 327

5.3.3  Look-aside lists  /  旁观列表 331

5.4  Heap manager  /  堆管理 332

5.4.1  Process heaps  /  堆进程 333

5.4.2  Heap types  /  堆类型 334

5.4.3  The NT heap  /  NT堆 334

5.4.4  Heap synchronization  /  堆同步 334

5.4.5  The low-fragmentation heap  /  低碎片堆 335

5.4.6  The segment heap  /  分段堆 336

5.4.7  Heap security features  /  堆安全功能 341

5.4.8  Heap debugging features  /  堆调试功能 342

5.4.9  Pageheap  /  页面堆 343

5.4.10  Fault-tolerant heap  /  容错堆 347

5.5  Virtual address space layouts  /  虚拟地址空间布局 348

5.5.1  x86 address space layouts  /  X86地址空间布局 349

5.5.2  x86 system address space layout  /  X86系统地址空间布局 352

5.5.3  x86 session space  /  X86会话空间 353

5.5.4  System page table entries  /  系统页面表条目 355

5.5.5  ARM address space layout  /  ARM地址空间布局 356

5.5.6  64-bit address space layout  /  64bit地址空间布局 357

5.5.7  x64 virtual addressing limitations  /  64虚拟地址限制 359

5.5.8  Dynamic system virtual address space management  /  

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

5.5.9  System virtual address space quotas  /  系统虚拟地址空间配额 364

5.5.10  User address space layout  /  用户地址空间布局 365

5.6  Address translation  /  地址转化 371

5.6.1  x86 virtual address translation  /  X86虚拟地址转化 371

5.6.2  Translation look-aside buffer  /  旁观缓冲转化 377

5.6.3  x64 virtual address translation  /  X64虚拟地址转化 380

5.6.4  ARM virtual address translation  /  ARM虚拟地址转化 381

5.7  Page fault handling  /  页面错误处理 383

5.7.1  Invalid PTEs  /  非法PTE 384

5.7.2  Prototype PTEs  /  原型PTE 385

5.7.3  In-paging I/O  /  页面内I/O 386

5.7.4  Collided page faults  /  页面错误冲突 387

5.7.5  Clustered page faults  /  页面错误聚集 387

5.7.6  Page files  /  页面文件 389

5.7.7  Commit charge and the system commit limit  /  

提交调度和系统提交限制 394

5.7.8  Commit charge and page file size  /  提交调度和页面文件大小 397

5.8  Stacks  /  栈 398

5.8.1  User stacks  /  用户栈 399

5.8.2  Kernel stacks  /  内核栈 400

5.8.3  DPC stack  /  DPC栈 401

5.9  Virtual address descriptors  /  虚拟地址描述符 401

5.9.1  Process VADs  /  VAD进程 402

5.9.2  Rotate VADs  /  VAD轮询 403

5.10  NUMA  /  NUMA 404

5.11  Section objects  /  段对象 405

5.12  Working sets  /  工作集 412

5.12.1  Demand paging  /  分页需求 413

5.12.2  Logical prefetcher and ReadyBoot  /  逻辑预取和启动准备 413

5.12.3  Placement policy  /  安置策略 416

5.12.4  Working set management  /  工作集管理 417

5.12.5  Balance set manager and swapper  /  平衡集合管理器和置换器 421

5.12.6  System working sets  /  系统工作集 422

5.12.7  Memory notification events  /  内存提醒事件 423

5.13  Page frame number database  /  页面框架序号数据库 425

5.13.1  Page list dynamics  /  页面动态列表 428

5.13.2  Page priority  /  页面优先级 436

5.13.3  Modified page writer and mapped page writer  /  

修改和映射页面写入 438

5.13.4  PFN data structures  /  PFN数据结构 440

5.13.5  Page file reservation  /  页面文件预定 443

5.14  Physical memory limits  /  物理内存限制 446

5.14.1  Windows client memory limits  /  Windows客户端内存限制 447

5.15  Memory compression  /  内存压缩 449

5.15.1  Compression illustration  /  压缩图表 450

5.15.2  Compression architecture  /  压缩架构 453

5.16  Memory partitions  /  内存分割 456

5.17  Memory combining  /  内存联合 459

5.17.1  The search phase  /  寻找阶段 460

5.17.2  The classifi cation phase  /  分类阶段 461

5.17.3  The page combining phase  /  页面联合阶段 462

5.17.4  From private to shared PTE  /  从私有PTE到共享PTE 462

5.17.5  Combined pages release  /  联合页面释放 464

5.18  Memory enclaves  /  内存区 467

5.18.1  Programmatic interface  /  编程接口 468

5.18.2  Memory enclave initializations  /  内存区初始化 469

5.18.3  Enclave construction  /  区结构 469

5.18.4  Loading data into an enclave  /  将数据加载到区 471

5.18.5  Initializing an enclave  /  初始化一个区 472

5.19  Proactive memory management (SuperFetch)  /  

主动内存管理(SuperFetch) 472

5.19.1  Components  /  组件 473

5.19.2  Tracing and logging  /  跟踪和记录 474

5.19.3  Scenarios  /  场景 475

5.19.4  Page priority and rebalancing  /  页面优先级和平衡调整 476

5.19.5  Robust performance  /  鲁棒性能 478

5.19.6  ReadyBoost  /  启动准备 479

5.19.7  ReadyDrive  /  驱动准备 480

5.19.8  Process refl ection  /  进程反射 480

5.20  Conclusion  /  结论 482

6  I/O system  /  第6章 I/O系统 483

6.1  I/O system components  /  I/O系统组件 483

6.1.1  The I/O manager   /  I/O管理器 485

6.1.2  Typical I/O processing  /  典型I/O过程 486

6.2  Interrupt Request Levels and Deferred Procedure Calls  /  

中断请求级别和延迟过程唤醒 488

6.2.1  Interrupt Request Levels  /  中断请求级别 488

6.2.2  Deferred Procedure Calls  /  延迟过程唤醒 490

6.3  Device drivers  /  设备驱动 492

6.3.1  Types of device drivers  /  设备驱动类型 492

6.3.2  Structure of a driver  /  驱动结构 498

6.3.3  Driver objects and device objects  /  驱动对象和设备对象 500

6.3.4  Opening devices  /  设备打开 507

6.4  I/O processing  /  I/O过程 510

6.4.1  Types of I/O  /  I/O的种类 511

6.4.2  I/O request packets  /  I/O请求包 513

6.4.3  I/O request to a single-layered hardware-based driver  /  

基于单层硬件驱动的I/O请求 525

6.4.4  I/O requests to layered drivers  /  分层驱动I/O请求 533

6.4.5  Thread-agnostic I/O  /  未知线程I/O 536

6.4.6  I/O cancellation  /  取消I/O 537

6.4.7  I/O completion ports  /  I/O完成端口 541

6.4.8  I/O prioritization  /  I/O优先级 546

6.4.9  Container notifications  /  容器提醒 552

6.5  Driver Verifier  /  驱动验证 552

6.5.1  I/O-related verification options  /  I/O相关验证选项 554

6.5.2  Memory-related verification options  /  内存相关验证选项 555

6.6  The Plug and Play manager  /  即插即用管理器 559

6.6.1  Level of Plug and Play support  /  即插即用支持级别 560

6.6.2  Device enumeration  /  设备枚举 561

6.6.3  Device stacks  /  设备栈 563

6.6.4  Driver support for Plug and Play  /  支持即插即用的设备 569

6.65  Plug-and-play driver installation  /  即插即用驱动安装 571

6.7  General driver loading and installation  /  一般驱动的加载和安装 575

6.7.1  Driver loading  /  驱动加载 575

6.7.2  Driver installation  /  驱动安装 577

6.8  The Windows Driver Foundation  /  Windows驱动基础 578

6.8.1  Kernel-Mode Driver Framework  /  内核模式驱动框架 579

6.8.2  User-Mode Driver Framework  /  用户模式驱动框架 587

6.9  The power manager  /  电源管理 590

6.9.1  Connected Standby and Modern Standby  /  连接待机和新版待机 594

6.9.2  Power manager operation  /  电源管理操作 595

6.9.3  Driver power operation  /  驱动电源操作 596

6.9.4  Driver and application control of device power  /  

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

6.9.5  Power management framework  /  电源管理框架 600

6.9.6  Power availability requests  /  电源可用性请求 602

6.10  Conclusion  /  结论 603

7  Security  /  第7章 安全 605

7.1  Security ratings  /  安全评级 605

7.1.1  Trusted Computer System Evaluation Criteria  /  

可信计算基系统评估标准 605

7.1.2  The Common Criteria  /  普遍标准 607

7.2  Security system components  /  安全系统组件 608

7.3  Virtualization-based security  /  基于虚拟化的安全 611

7.3.1  Credential Guard  /  证书防护 612

7.3.2  Device Guard  /  设备防护 617

7.4  Protecting objects  /  保护对象 619

7.4.1  Access checks  /  访问验证 621

7.4.2  Security identifiers  /  安全标识 625

7.4.3  Virtual service accounts  /  虚拟服务账户 646

7.4.4  Security descriptors and access control  /  安全描述符和访问控制 650

7.4.5  Dynamic Access Control  /  动态访问控制 666

7.5  The AuthZ API  /  AuthZ API 666

7.5.1  Conditional ACEs  /  条件响应ACE 667

7.6  Account rights and privileges  /  账户权限和特权 668

7.6.1  Account rights  /  账户权限 669

7.6.2  Privileges  /  特权 670

7.6.3  Super privileges  /  超级特权 675

7.7  Access tokens of processes and threads  /  进程和线程的账户口令 677

7.8  Security auditing  /  安全审计 677

7.8.1  Object access auditing  /  对象访问审计 679

7.8.2  Global audit policy  /  全局审计策略 682

7.8.3  Advanced Audit Policy settings  /  高级审计策略设置 683

7.9  AppContainers  /  应用容器 684

7.9.1  Overview of UWP apps  /  UWP应用概述 685

7.9.2  The AppContainer  /  应用容器 687

7.10  Logon  /  登录 710

7.10.1  Winlogon initialization  /  Winlogon初始化 711

7.10.2  User logon steps  /  用户登录步骤 713

7.10.3  Assured authentication  /  确信的认证 718

7.10.4  Windows Biometric Framework  /  Windows生物识别验证 719

7.10.5  Windows Hello  /  Windows你好 721

7.11  User Account Control and virtualization  /  用户账户控制和虚拟化 722

7.11.1  File system and registry virtualization  /  

文件系统和注册表虚拟化 722

7.11.2  Elevation  /  提升 729

7.12  Exploit mitigations  /  攻击缓解 735

7.12.1  Process-mitigation policies  /  进程缓解策略 735

7.12.2  Control Flow Integrity  /  控制流完整性 740

7.12.3  Security assertions  /  安全断言 752

7.13  Application Identifi cation  /  应用程序标识 756

7.14  AppLocker  /  应用锁 757

7.15  Software Restriction Policies  /  软件限制策略 762

7.16  Kernel Patch Protection  /  内核补丁保护 764

7.17  PatchGuard  /  补丁防护 765

7.18  HyperGuard  /  高度防护 768

7.19  Conclusion  /  结论 770

Index  /  索引 771

 


TOP书摘

TOP 其它信息

装  帧:平装

开  本:16开

加载页面用时:63.812