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

深入解析Windows操作系统 卷I 英文版 第7版 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:帕维尔·尤西夫维奇
出品人:
页数:784
译者:
出版时间:2018-11-1
价格:128
装帧:平装
isbn号码:9787115491800
丛书系列:
图书标签:
  • Windows
  • 操作系统
  • 计算机科学
  • 計算機
  • 计算机
  • 编程语言
  • 内核
  • programming
  • Windows操作系统
  • 操作系统
  • Windows内核
  • 系统编程
  • 底层原理
  • 调试
  • 驱动开发
  • x64架构
  • 英文原版
  • 技术经典
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

从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爱好者阅读。

《程序员的内心世界:代码之外的思维秘籍》 一本关于软件开发艺术的深度探索,一次关于程序员职业生涯的哲学思考。 在这本《程序员的内心世界:代码之外的思维秘籍》中,我们将告别那些枯燥的技术手册和语言语法,一同潜入软件开发这一迷人而复杂的领域背后,那些塑造我们思考方式、影响我们决策、最终定义我们工作价值的深层原则。本书并非关于“如何写出更快的代码”或“掌握最新的框架”,而是聚焦于那些贯穿始终、无论技术如何变迁都至关重要的“为什么”与“如何思考”。 第一部分:思维的基石——构建程序员的认知框架 在代码的海洋中,我们常常被算法、数据结构和设计模式所淹没,但很少有人停下来审视,是什么样的思维模式让我们能够驾驭这些复杂的概念?本部分将从多个角度剖析程序员特有的思维方式,帮助读者构建更加坚实的认知基础。 抽象与具象的艺术: 程序员的工作本质上就是一种抽象的艺术。我们将深入探讨如何将现实世界的问题,通过层层剥离,转化为计算机能够理解和处理的模型。从一个简单的变量命名,到一个复杂的系统架构,抽象能力是构建高质量软件的基石。我们会分析不同层次的抽象,它们之间的权衡,以及如何有效地区分和运用它们。同时,我们也会探讨在高度抽象后,如何一步步将概念具象化为可执行的代码,以及在这个过程中可能遇到的挑战。 逻辑的严谨与创造的火花: 逻辑思维是程序员的生命线。本书将详细解析结构化思维、演绎推理和归纳推理在软件开发中的应用。我们将学习如何构建清晰的逻辑流程,如何识别逻辑陷阱,以及如何运用逻辑来验证代码的正确性。然而,软件开发绝非死板的逻辑堆砌。我们将探寻如何在这种严谨的逻辑框架内,注入创造性的火花,如何通过巧妙的设计和独特的视角,找到解决问题的最优解,甚至提出全新的解决方案。 问题解决的循环: 软件开发本质上是一个不断发现、分析、解决问题的过程。本部分将深入剖析一个完整的“问题解决循环”,从识别问题、定义问题、分解问题、查找根源,到设计解决方案、实施方案、测试和评估。我们将探讨各种问题解决的策略和技术,例如“二分法”在调试中的应用,“奥卡姆剃刀”原则在简化设计中的重要性,以及“头脑风暴”在创新思路方面的价值。 权衡与取舍的智慧: 在软件开发的世界里,几乎没有绝对最优的解决方案。每一个决策都伴随着一系列的权衡与取舍。我们将深入探讨在性能、可维护性、开发效率、成本、安全性等多个维度上,程序员如何做出明智的权衡。理解不同因素之间的相互制约,学会识别“局部最优”与“全局最优”的差异,以及如何在复杂的需求和资源限制下,找到那个最适合当前场景的平衡点,是成为一名成熟开发者的必修课。 模式识别与抽象迁移: 软件开发中的很多问题并非全新的。通过识别和理解已有的模式,我们可以大大提高解决问题的效率。本书将从设计模式、架构模式,乃至更宏观的领域模式等多个层面,探讨模式识别的重要性。我们还将学习如何将从一个领域或项目中获得的经验和模式,迁移到新的问题中,实现知识的复用和能力的迁移。 第二部分:协作的艺术——构建高效的团队沟通与合作 软件开发很少是单打独斗,它更像是一场精密的团队协奏。本部分将聚焦于软件开发中的协作维度,探讨如何在高效率的团队中,实现顺畅的沟通和有价值的贡献。 沟通的本质:清晰、准确、同理心: 沟通是协作的桥梁,但往往也是崩塌的根源。我们将深入剖析有效沟通的关键要素:清晰地表达想法,准确地理解他人意图,以及运用同理心站在对方的角度思考。从代码评审中的建设性反馈,到需求讨论中的有效提问,再到跨团队协作中的信息同步,每一个环节都需要精湛的沟通技巧。 代码的语言与文档的意义: 代码不仅仅是机器的指令,更是程序员之间交流的语言。本书将探讨如何编写“易于阅读”的代码,理解代码的可读性与可维护性的关系。同时,我们也会深入阐述文档的真正价值,它不仅仅是功能的说明,更是知识的传递、历史的记录和未来维护的基石。从README到API文档,从设计文档到用户手册,我们将学习如何以恰当的方式,构建和维护这些重要的“第二语言”。 团队协作的动态:信任、责任与反馈: 构建一个健康的团队文化,需要信任作为基石,责任作为驱动,以及及时有效的反馈作为润滑剂。我们将探讨如何建立团队成员之间的信任,如何明确和承担个人及团队的责任,以及如何构建一个开放、安全的环境,鼓励建设性的反馈,促进共同成长。 冲突的化解与共识的达成: 团队协作中难免出现意见分歧甚至冲突。本书将提供实用的冲突化解策略,帮助团队成员以成熟的态度,就事论事,寻求共同点,最终达成共识,将冲突转化为进步的动力。 导师与被导师:知识的传承与成长: 软件开发领域充满着经验的积累和知识的传承。我们将探讨导师在帮助新手成长中的重要作用,以及如何成为一名优秀的导师。同时,我们也会分析如何成为一个积极主动的学习者,如何从他人身上汲取养分,实现自我超越。 第三部分:成长的哲学——塑造卓越的程序员职业生涯 软件开发是一个不断变化的领域,职业生涯的长度和深度,很大程度上取决于我们是否拥有持续成长的动力和清晰的职业规划。本部分将从更宏观的视角,探讨程序员的职业发展和个人成长。 持续学习的动力与策略: 技术日新月异,止步不前意味着落后。我们将分析驱动持续学习的内在动力,以及如何在信息爆炸的时代,找到有效的学习方法和策略。从阅读技术博客,参与开源项目,到参加技术会议,我们都将学习如何最大化学习的效率和效果。 技术广度与深度:T型人才的养成: 成为一名优秀的开发者,往往需要具备一定的技术广度,同时在某个领域拥有深入的专业知识。本书将探讨如何平衡技术广度和深度,如何识别自己的兴趣所在,并在此基础上进行深耕,最终成为某个领域的专家。 职业生涯的规划与选择: 从初级开发者到架构师,从技术专家到技术管理,程序员的职业道路并非单一。我们将探讨不同职业路径的特点,如何根据个人兴趣和能力进行选择,以及在职业生涯的不同阶段,如何调整自己的目标和发展方向。 软件开发的伦理与责任: 随着技术的影响力越来越大,软件开发的伦理和责任也变得日益重要。我们将探讨程序员在设计和开发过程中,需要考虑的社会影响、用户隐私、数据安全等方面的问题,以及如何承担起相应的社会责任。 代码之外的人生:工作与生活的平衡: 软件开发往往需要投入大量的时间和精力,但长期的“过劳”并非健康和可持续的发展模式。本书将探讨如何在繁忙的工作中,找到工作与生活的平衡点,如何避免职业倦怠,保持身心健康,并在此基础上,实现更长远、更稳健的职业发展。 《程序员的内心世界:代码之外的思维秘籍》不仅仅是一本书,更是一次对软件开发行业深层价值的探索,一次对程序员职业生涯的思考。它将帮助你从更广阔的视角审视自己的工作,提升解决问题的能力,优化团队协作效率,并最终塑造一个更加充实和有意义的职业生涯。这是一本写给所有热爱代码、追求卓越的程序员的必读之作。

作者简介

帕维尔·尤西夫维奇(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)奖的获得者。

目录信息

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
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

我本来抱着极大的热情想学习新一代Windows系统中那些革命性的内核特性,但这本书提供的视角却显得极其过时和滞后。很多章节的内容似乎停留在十年前的技术栈上,对于现代虚拟化、容器化或者最新的安全沙箱机制,几乎没有提及,或者提及也只是蜻蜓点水,完全不符合当前业界对系统级软件的要求。读起来感觉像是在阅读一本厚厚的“恐龙书”,虽然有些基础原理是永恒的,但对于一个旨在指导现代开发的读者来说,这种信息滞后性是致命的。我们现在需要的是面向未来、面向云环境的知识结构,而不是沉溺于那些早已被新API和新架构所取代的细节中。如果这本书的作者没有及时更新他的知识库,那么他就不应该以“第7版”的名义来误导读者。我花费时间去理解那些在最新SDK中已经被标记为“已弃用”或被全新模块替代的功能,纯粹是一种时间上的巨大浪费。对于希望走在技术前沿的开发者,这本书提供的价值微乎其微,更像是一份怀旧纪念册,而不是一本实用的技术指南。

评分

坦白说,这本书的“声音”太重了,作者的个人偏见和过度解读充斥其中,这对于一本宣称提供“解析”的工具书来说是极不恰当的。作者似乎急于证明自己对某个微小机制的独特见解,不惜花费大量的篇幅来阐述一些对实际应用毫无帮助的边缘细节,同时却对那些核心、高频使用的API避而不谈,或者只是敷衍带过。我感觉我读到的不是对Windows机制的客观描述,而更像是一位资深工程师的个人“吐槽大会”。这种强烈的个人风格,虽然能让某些读者感到亲切,但对于需要系统学习标准工作流程的工程师来说,无疑是一种干扰。当一个技术作者开始过度主观地评价某些设计选择的“好坏”时,他就是在模糊事实与观点的界限。我更希望看到的是清晰、中立的技术事实和权威引用,而不是某人对微软设计哲学的长篇大论。这本书的“解析”更像是“个人解读”,其可靠性和通用性大打折扣,让人在实践中难以完全信赖。

评分

这本书的排版和校对工作显然是草率至极,简直是技术书籍的耻辱。我遇到了无数的错别字、标点符号的滥用,甚至有几处的代码示例与上下文描述完全不符,这对于需要精准复制粘贴进行调试的工程师来说,无疑是雪上加霜。更令人恼火的是,书中的图表设计简直是抽象派艺术的典范,那些流程图和架构图用色混乱,线条交叉复杂,根本看不出它试图说明的任何系统层次关系。我不得不一边对照着在线资源,一边用红笔在纸上重新绘制关键的结构图,才能勉强跟上作者的思路——如果他真的有思路的话。这种粗制滥造的出版质量,让人对内容本身的可靠性产生了强烈的质疑。一本讲述“深入解析”的书,如果连最基本的文字和视觉呈现都做不好,又如何能让人信服它对复杂内核的把握是精确和透彻的呢?我甚至怀疑出版社在发行前有没有进行过任何一次像样的审校流程。对于追求专业严谨性的读者,这本书简直是一场视觉和智力上的双重折磨。

评分

从叙事的角度来看,这本书的结构松散得令人发指。每一章似乎都是独立撰写,作者在不同的部分之间跳转时缺乏必要的过渡和逻辑衔接,导致阅读体验极其破碎。你可能在一个小时内刚理解了一个关于I/O子系统的概念,下一章画风突变就跳到了用户模式下的线程调度,中间没有任何桥梁来帮助读者建立起全局观。这种碎片化的知识灌输方式,使得读者很难将各个组件像齿轮一样联动起来,形成一个完整的系统认知。我发现自己经常需要回头翻阅前面的章节,试图重新寻找上下文,才能理解当前段落的真正意图。对于操作系统这种高度依赖于相互依赖性的学科来说,缺乏整体性的视角是非常危险的。这本书更像是对一堆独立的技术文档的简单汇编,而不是一本经过精心策划和编排的教材。它没有帮助我构建起一个稳固的知识框架,反而让我的理解更加支离破碎,最终我不得不自己动手绘制一张庞大的思维导图来强行整合这些零散的信息点。

评分

这本书真是太让人抓狂了,我完全不知道作者到底想表达什么。读完之后,感觉就像经历了一场迷宫探险,结果出口处只有一面写着“你已经迷失了”的镜子。里面的术语多得令人头晕目眩,很多概念的解释含糊不清,像是故意设置的语言陷阱。特别是关于内存管理的那几章,我反复看了好几遍,脑子里的画面始终是雾蒙蒙的一片,完全无法建立起清晰的逻辑链条。我甚至怀疑作者是不是对“深入解析”这个词有什么误解,也许他更想表达的是“深度误导”。如果你期待能从中获得对Windows底层机制的洞察,那你恐怕要大失所望了。与其花时间啃这本书,不如直接去翻阅官方的SDK文档,至少那里的描述是直接且不带个人情感色彩的。这本书更像是一本堆砌了大量技术名词的字典,却缺乏将这些词汇串联成有意义的句子的能力。对于初学者来说,这简直是一场灾难;对于有经验的开发者而言,这更像是一种折磨,因为它浪费了宝贵的时间去解码那些本应清晰明了的内容。我不得不说,这种写作风格对读者的耐心是一个极大的考验,我感觉我的阅读体验全程都在与作者的晦涩逻辑进行一场心力交瘁的搏斗。

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有