深入解析Windows作業系統卷I 英文版第7版

深入解析Windows作業系統卷I 英文版第7版

《深入解析Windows作業系統卷I 英文版第7版》是2018年11月1日人民郵電出版社出版的圖書,作者是帕維爾·尤西夫維奇(PavelYosifovich)[加]、亞歷克斯·約內斯庫(AlexIonescu)[美]、馬克·拉希諾維奇(MarkRussinovich)[美]、大衛·所羅門(DavidSolomon)。

基本介紹

  • 中文名:深入解析Windows作業系統卷I 英文版第7版
  • 作者:帕維爾·尤西夫維奇(PavelYosifovich)[加]、亞歷克斯·約內斯庫(AlexIonescu)[美]、馬克·拉希諾維奇(MarkRussinovich)[美]、大衛·所羅門(DavidSolomon)
  • 出版社:人民郵電出版社
  • ISBN:9787115491800
內容簡介,圖書目錄,

內容簡介

從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愛好者閱讀。

圖書目錄

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

相關詞條

熱門詞條

聯絡我們