注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)深入解析Windows操作系統(tǒng)(第7版 卷1)

深入解析Windows操作系統(tǒng)(第7版 卷1)

深入解析Windows操作系統(tǒng)(第7版 卷1)

定 價:¥179.90

作 者: 帕維爾·約西沃維奇,亞歷克斯·伊奧尼斯庫,馬克·E.魯辛諾維奇,馬克·E.魯辛諾維奇,大衛(wèi)·A·
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115556943 出版時間: 2021-04-01 包裝: 平裝
開本: 16開 頁數: 636 字數:  

內容簡介

  本書基于Windows 10和Windows Server 2016編寫,深入解析Windows操作系統(tǒng)的系統(tǒng)架構、進程、線程、內存管理等知識,旨在幫助讀者了解Windows 10和Windows Server 2016操作系統(tǒng)內部工作原理,使之在針對Windows平臺開發(fā)應用程序時,可以更好地理解不同設計機制間的關系。本書先介紹Windows的基本概念和工具以及Windows的架構和主要組件,然后詳細介紹進程和作業(yè)、內存管理、I/O系統(tǒng)等內容,最后介紹Windows內置的安全機制以及用于阻止濫用的各種緩解措施。本書輔以大量實驗,并給出了具體步驟,可供讀者自行嘗試,讓他們通過內核調試器、Sysinternals工具和專為本書內容開發(fā)的其他工具一窺Windows的工作原理,進而能夠將這些知識應用于改進應用程序設計、調試以及系統(tǒng)性能和支持。本書適合希望了解Windows 10和Windows Server 2016操作系統(tǒng)內部工作原理的開發(fā)者、系統(tǒng)管理員及安全研究人員閱讀。

作者簡介

  帕維爾·約西沃維奇(Pavel Yosifovich)是一位精通微軟技術和工具的開發(fā)者、講師,還是微軟 MVP 以及在線教育網站 Pluralsight 的簽約作者。亞歷克斯·伊奧尼斯庫(Alex Ionescu) 是CrowdStrike 的 EDR 戰(zhàn)略副總裁,也是底層系統(tǒng)軟件、操作系統(tǒng)研究與內核開發(fā)、 安全培訓和逆向工程領域的專家。他曾在世界各地講授有關 Windows 內部機理的課程,并活躍于安全研究社區(qū),多次參加會議講座和 bug 賞金計劃。馬克· E.魯辛諾維奇( Mark E.Russinovich)是 Microsoft Azure( 微軟的全球化、企業(yè)級云平臺)的首席技術官。他是分布式系統(tǒng)和操作系統(tǒng)領域的專家,曾是 Winternals Software 公司的聯合創(chuàng)始人,并在該公司被微軟收購后加入了微軟。他還是 Sysinternals 工具的發(fā)明者和Sysinternals 網站的創(chuàng)立者。大衛(wèi)· A . 所羅門(David A. Solomon)在其退休前的 20 余年里,不遺余力地為眾多開發(fā)者和 IT 專業(yè)人士講授有關 Windows 內核接口的課程。 在出版了自己的第一本書 Windows NT for OpenVMS Professionals 后,他撰寫了 Inside Windows NT 的第 2 版,并與馬克·E.魯辛諾維奇合著了第3 ~ 6 版。他曾多次在微軟的大會上發(fā)言,并于 1993 年和 2005 年榮獲微軟最有價值專家(MVP)獎項。

圖書目錄

第 1章 概念和工具 1
1.1 Windows操作系統(tǒng)的版本 1
1.1.1 Windows 10和未來的Windows版本 3
1.1.2 Windows 10和OneCore 3
1.2 基本概念和術語 3
1.2.1 Windows API 3
1.2.2 服務、函數和例程 6
1.2.3 進程 7
1.2.4 線程 15
1.2.5 作業(yè) 17
1.2.6 虛擬內存 18
1.2.7 內核模式和用戶模式 20
1.2.8 虛擬機監(jiān)控程序 23
1.2.9 固件 25
1.2.10 終端服務和多會話 25
1.2.11 對象和句柄 26
1.2.12 安全性 26
1.2.13 注冊表 28
1.2.14 Unicode 28
1.3 深入了解Windows內部原理 30
1.3.1 性能監(jiān)視器和資源監(jiān)視器 30
1.3.2 內核調試 32
1.3.3 Windows軟件開發(fā)包 36
1.3.4 Sysinternals工具 37
1.4 小結 37
第 2章 系統(tǒng)架構 38
2.1 需求和設計目標 38
2.2 操作系統(tǒng)模型 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 重要的系統(tǒng)組件 51
2.5.1 環(huán)境子系統(tǒng)和子系統(tǒng)DLL 52
2.5.2 其他子系統(tǒng) 57
2.5.3 執(zhí)行體 61
2.5.4 內核 63
2.5.5 硬件抽象層 66
2.5.6 設備驅動程序 69
2.5.7 系統(tǒng)進程 74
2.6 小結 84
第3章 進程和作業(yè) 85
3.1 創(chuàng)建進程 85
3.1.1 CreateProcess*函數的參數 86
3.1.2 創(chuàng)建Windows“現代化”進程 87
3.1.3 創(chuàng)建其他類型的進程 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.2 Pico進程 101
3.5 Trustlet(安全進程) 102
3.5.1 Trustlet的構造 103
3.5.2 Trustlet策略元數據 103
3.5.3 Trustlet的屬性 104
3.5.4 系統(tǒng)內置的Trustlet 104
3.5.5 Trustlet的標識 105
3.5.6 隔離用戶模式服務 105
3.5.7 Trustlet可訪問的系統(tǒng)調用 106
3.6 CreateProcess的流程 107
3.6.1 第 1階段:轉換并驗證參數和標志 108
3.6.2 第 2階段:打開要執(zhí)行的映像 112
3.6.3 第3階段:創(chuàng)建Windows執(zhí)行體進程對象 114
3.6.4 第4階段:創(chuàng)建初始線程及其棧和上下文 118
3.6.5 第5階段:執(zhí)行與Windows子系統(tǒng)有關的初始化工作 120
3.6.6 第6階段:初始線程的啟動執(zhí)行 121
3.6.7 第7階段:在新進程的上下文中執(zhí)行進程初始化工作 122
3.7 進程的終止 126
3.8 映像加載程序 127
3.8.1 進程初始化的早期工作 129
3.8.2 DLL名稱解析和重定向 131
3.8.3 已加載模塊數據庫 135
3.8.4 導入解析 138
3.8.5 導入過程初始化的后處理 139
3.8.6 SwitchBack 140
3.8.7 API集 142
3.9 作業(yè) 144
3.9.1 作業(yè)的限制 145
3.9.2 使用作業(yè) 146
3.9.3 嵌套的作業(yè) 146
3.9.4 Windows容器(Server Silo) 150
3.10 小結 157
第4章 線程 158
4.1 創(chuàng)建線程 158
4.2 線程的內部機理 159
4.2.1 數據結構 159
4.2.2 線程的誕生 169
4.3 查看線程的活動 170
4.4 線程的調度 175
4.4.1 Windows調度概述 175
4.4.2 優(yōu)先級級別 176
4.4.3 線程的狀態(tài) 181
4.4.4 調度程序數據庫 186
4.4.5 量程 188
4.4.6 優(yōu)先級提升 193
4.4.7 上下文切換 207
4.4.8 調度場景 208
4.4.9 空閑線程 211
4.4.10 線程的掛起 214
4.4.11?。ㄉ疃龋﹥鼋Y 214
4.4.12 線程的選擇 216
4.4.13 多處理器系統(tǒng) 217
4.4.14 多處理器系統(tǒng)中線程的選擇 230
4.4.15 處理器的選擇 231
4.4.16 異質調度(big.LITTLE) 233
4.5 基于組的調度 234
4.5.1 動態(tài)公平共享調度 235
4.5.2 CPU速率限制 238
4.5.3 處理器的動態(tài)添加和替換 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 頁面狀態(tài)和內存的分配 253
5.2.2 提交用量和提交限制 256
5.2.3 鎖定到內存 256
5.2.4 分配的粒度 257
5.2.5 共享內存和映射文件 257
5.2.6 保護內存 259
5.2.7 數據執(zhí)行保護 260
5.2.8 寫入時復制 263
5.2.9 地址窗口擴展 264
5.3 內核模式堆(系統(tǒng)內存池) 265
5.3.1 池的大小 266
5.3.2 監(jiān)視內存池的使用 267
5.3.3 旁視列表 270
5.4 堆管理器 271
5.4.1 進程堆 272
5.4.2 堆的類型 273
5.4.3 NT堆 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.1 x86地址空間布局 285
5.5.2 x86系統(tǒng)地址空間布局 288
5.5.3 x86會話空間 288
5.5.4 系統(tǒng)頁表項 290
5.5.5 ARM地址空間布局 291
5.5.6 64位地址空間布局 291
5.5.7 x64虛擬尋址的局限 293
5.5.8 動態(tài)系統(tǒng)虛擬地址空間管理 293
5.5.9 系統(tǒng)虛擬地址空間配額 298
5.5.10 用戶地址空間布局 298
5.6 地址轉換 303
5.6.1 x86虛擬地址轉換 303
5.6.2 地址轉換旁視緩沖區(qū) 308
5.6.3 x64虛擬地址轉換 311
5.6.4 ARM虛擬地址轉換 311
5.7 頁面錯誤的處理 312
5.7.1 無效PTE 313
5.7.2 原型PTE 314
5.7.3 頁面換入I/O 316
5.7.4 沖突的頁面錯誤 316
5.7.5 聚簇的頁面錯誤 317
5.7.6 頁面文件 317
5.7.7 提交用量和系統(tǒng)提交限制 322
5.7.8 提交用量和頁面文件大小 325
5.8 ?!?26
5.8.1 用戶?!?26
5.8.2 內核棧 327
5.8.3 DPC?!?28
5.9 虛擬地址描述符 328
5.9.1 進程的VAD 329
5.9.2 旋轉VAD 330
5.10 NUMA 331
5.11 節(jié)對象 331
5.12 工作集 338
5.12.1 按需換頁 338
5.12.2 邏輯預取器和ReadyBoot 339
5.12.3 放置策略 341
5.12.4 工作集管理 342
5.12.5 平衡集管理器和交換器 346
5.12.6 系統(tǒng)工作集 346
5.12.7 內存通知事件 347
5.13 頁幀編號數據庫 349
5.13.1 頁面列表的轉換 351
5.13.2 頁面優(yōu)先級 357
5.13.3 已修改頁面寫出器和映射頁面寫出器 359
5.13.4 PFN的數據結構 361
5.13.5 頁面文件的保留 364
5.14 物理內存的限制 366
5.15 內存壓縮 369
5.15.1 壓縮過程圖解 370
5.15.2 壓縮架構 372
5.16 內存分區(qū) 374
5.17 內存聯合 376
5.17.1 搜索階段 378
5.17.2 分類階段 378
5.17.3 頁面聯合階段 379
5.17.4 從私有到共享PTE 380
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 頁面優(yōu)先級和重均衡 391
5.19.5 健壯性能 393
5.19.6 ReadyBoost 394
5.19.7 ReadyDrive 395
5.19.8 進程反射 395
5.20 小結 397
第6章 I/O系統(tǒng) 398
6.1 I/O系統(tǒng)組件 398
6.1.1 I/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.4 I/O的處理 421
6.4.1 I/O的類型 421
6.4.2 I/O請求包 423
6.4.3 針對單層硬件驅動程序的I/O請求 433
6.4.4 針對分層驅動程序的I/O請求 440
6.4.5 線程無關I/O 443
6.4.6 I/O的取消 443
6.4.7 I/O完成端口 447
6.4.8 I/O優(yōu)先級處理 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 設備?!?65
6.6.4 驅動程序對即插即用的支持 470
6.6.5 即插即用驅動程序的安裝 472
6.7 常規(guī)驅動程序的加載和安裝 475
6.7.1 驅動程序的加載 475
6.7.2 驅動程序的安裝 477
6.8 Windows驅動程序基礎 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 可信計算機系統(tǒng)評估標準 500
7.1.2 通用標準 501
7.2 安全系統(tǒng)組件 502
7.3 基于虛擬化的安全性 504
7.3.1 Credential Guard 505
7.3.2 Device Guard 510
7.4 保護對象 512
7.4.1 訪問檢查 513
7.4.2 安全標識符 516
7.4.3 虛擬服務賬戶 533
7.4.4 安全描述符和訪問控制 537
7.4.5 動態(tài)訪問控制 550
7.5 AuthZ API 551
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.9 AppContainer 565
7.9.1 UWP應用概述 566
7.9.2 AppContainer 567
7.10 登錄 587
7.10.1 Winlogon的初始化 588
7.10.2 用戶登錄的步驟 590
7.10.3 可保證的身份驗證 594
7.10.4 Windows Biometric Framework 595
7.10.5 Windows Hello 597
7.11 用戶賬戶控制和虛擬化 598
7.11.1 文件系統(tǒng)和注冊表虛擬化 598
7.11.2 權限提升 603
7.12 攻擊緩解 608
7.12.1 進程緩解策略 608
7.12.2 控制流完整性 612
7.12.3 安全聲明 622
7.13 應用程序標識 626
7.14 AppLocker 626
7.15 軟件限制策略 630
7.16 內核補丁保護 632
7.17 PatchGuard 633
7.18 HyperGuard 635
7.19 小結 636

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號