-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深入解析Windows操作系統:第6版(上冊)

( 簡體 字)
作者:潘愛民,范德成類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社深入解析Windows操作系統:第6版(上冊) 3dWoo書號: 37758
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:4/1/2014
頁數:720
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787121219566
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

譯者序

在所有介紹Windows操作系統的圖書中,我相信都離不開Windows Internals提供的信息。除公開可見到的Windows源代碼以外,本書是披露Windows系統機理最為詳盡的一份資料,尤其對于Windows的每一份最新版本。本書的第6版專門針對Windows 7和Windows Server 2008 R2進行了大幅度更新。由于篇幅的增加,這一版本改成上下兩冊來發行,由此也可見本書的“分量”。
在Windows操作系統的發展歷程中,Windows 7是一個具有特殊意義的版本。它是目前最為復雜的單機操作系統,無論從代碼規模、代碼復雜度,到系統適應場景的復雜程度,都超過了以前所有的版本。從某種意義上,Windows 7代表了軟件工程的一個頂峰——人類可以構造出如此復雜且能穩定工作的軟件系統!與此相對應,要用一本書來涵蓋其中的各種機理也同樣是一項艱巨的任務,本書作者們基于他們過去所做的大量工作,以及對Windows的深入理解,出色地完成了這一詮釋工作。
本書的權威性毋庸置疑。Mark Russinovich因其在Windows內核探索方面所做出的貢獻而成為Microsoft Fellow,本書中用到的大量Sysinternals工具均出自他的手筆。David Solomon從事Windows NT內部機理的培訓有十多年經歷,他不僅在全球各地培訓Windows系統程序員,甚至也為Microsoft的內部員工提供Windows內核培訓服務,他從本書第2版開始奠定了卓有成效的敘述風格。Alex Ionescu是一名年輕的黑客型Windows專家,曾經為ReactOS(一個開源的操作系統項目,旨在兼容Windows 2000/XP/Server 2003的應用程序)編寫了絕大多數內核代碼。他曾經發現和報告了一些與Windows內核相關的軟件漏洞,也跟David Solomon一起教授Windows內部機理的課程。有如此強大的作者組合,再加上Microsoft的內部支持(包括提供源代碼,以及Windows開發組的細致解釋),本書無疑成為Windows最新版本的第一手技術資料。
每一個對Windows操作系統有濃厚興趣的讀者都不應該錯過這本書。那么,如何發揮本書的作用呢?首先,本書并非如教材那樣循序漸進,而是全景式地講述了Windows的系統機理。第3章和第4章介紹總體結構,尤其是系統內部的核心機制和管理機制,值得每個人認真閱讀,其他后續的章節可以有選擇地閱讀。其次,閱讀本書之前最好有操作系統的基礎知識,以及一定程度的Windows編程技能,否則難以深刻領會Windows中大量的精妙設計。再次,在閱讀過程中,最好能動手做一做書中描述的實驗。做這些實驗的門檻并不高,但效果非常好,可以讓你直觀地領會Windows內部的一些設計和實現。
我與這本書的淵源是從第4版(針對Windows XP/Server 2003)開始的,當時博文視點武漢分部的周筠老師強烈推薦我來翻譯第4版。后來第5版(針對Windows Vista/Server 2008)原版出版后,又交給我來翻譯。由于第5版與第6版之間時間差較短,內容更新也相對較少,在我手上又拖了太長時間,導致最后第5版中文版失去了出版時機。很抱歉,辜負了周筠老師的重托。我也要特別感謝電子工業出版社的編輯劉皎,依然把第6版的翻譯工作交給了我,使我有機會彌補第5版中文版未能出版之缺憾。
本書的翻譯工作由范德成和我共同完成,其中第1~4章由我完成,第5~7章由范德成完成。全書由我統稿。Windows的各種技術涉及大量的術語,甚至一些全新的技術術語,為此我們盡可能按照中文習慣來表達這些術語,或適當地保留一些專有名詞。若在譯稿中有任何不妥之處,請讀者原諒。此外,本書正文之后列出了英漢習慣用語對照表,以方便閱讀。

潘愛民

2012年12月,于北京西二旗




引言





Windows Internals, 6th Edition的讀者對象是那些想要理解Microsoft Windows 7和Windows Server 2008 R2操作系統核心組件內部工作機理的高級計算機專業人員(包括開發人員和系統管理員)。開發人員利用這些知識,可以在構建Windows平臺上的應用程序時更好地理解各種設計決策背后的基本原理。這樣的知識也可以幫助開發人員調試復雜的問題。系統管理員也可以從這些信息中獲益,因為理解了操作系統背后的工作原理,有助于理解系統的性能行為,并且當事情變糟時更易于診斷各種系統問題。在閱讀了本書以后,你應該可以更好地理解Windows是如何工作的,以及它為什么有這樣那樣的表現。

本書的結構

Windows Internals這本書第一次被分成了上下冊來出版。為Windows的每一個版本更新這本書需要花相當多的時間,所以,按照上下冊來組織本書內容使我們可以更快地出版上冊部分。
本書上冊的前兩章為“概念和工具”和“系統結構”:第1章定義了關鍵的概念,并介紹了本書后面用到的工具;第2章講述了總體系統結構和組件。接下來的兩章展示了系統中關鍵的底層機制和管理機制。上冊部分還覆蓋了操作系統的三個核心組件:進程、線程和作業;安全性;以及網絡。
本書下冊預計將在2012年秋季單獨出版,內容覆蓋剩余的核心子系統:I/O、存儲、內存管理、緩存管理器和文件系統。下冊最后部分還將描述啟動和停機過程,并且介紹崩潰轉儲分析。

本書的歷史

本書以前的名稱是Inside Windows NT(Microsoft Press,1992,中文版的名稱是《Windows NT技術內幕》),現在是第6版。第1版是由Helen Custer所著(在Microsoft Windows NT 3.1的最初發布以前出版)。Inside Windows NT是第一本關于Windows NT的書籍,它提供了有關Windows NT系統的體系架構和設計方面的關鍵要點。Inside Windows NT, 2nd Edition(Microsoft Press,1998)是由David Solomon所著。該書在內容上做了更新,涵蓋了Windows NT 4.0,并且大大地提高了技術深度的層次。
Inside Windows 2000, 3rd Edition(Microsoft Press,2000)是由David Solomon和Mark Russinovich合著的。第3版增加了許多新的話題,比如啟動和停機、Windows服務的內部機理、注冊表的內部機理、文件系統驅動程序、網絡。它也覆蓋了Windows 2000中內核的變化,比如Windows驅動程序模型(WDM,Windows Driver Model)、即插即用、電源管理、Windows管理設施(WMI,Windows Management Instrumentation)、加密、作業對象和終端服務。Windows Internals, 4th Edition是針對Windows XP和Windows Server 2003的更新,它加入了更多的內容,主要集中在幫助IT專業人員更好地利用Windows的內部機理的知識,比如使用Windows Sysinternals(www.microsoft.com/technet/sysinternals)的關鍵工具,以及分析崩潰轉儲。Windows Internals, 5th Edition是針對Windows Vista和Windows Server 2008的更新,它包含的新內容有:映像加載器、用戶模式調試設施,以及Hyper-V。

第6版的變化

這一最新的版本在內容上做了更新,以覆蓋Windows 7和Windows Server 2008 R2中所做的內核變化。練習用的實驗也相應地做了更新,以反映出工具中的變化。

練習實驗

即使不訪問Windows源代碼,你也可以通過一些工具(比如內核調試器,以及來自Sysinternals和Winsider Seminars & Solutions的工具)來獲得許多有關Windows內部機理的知識。當可以通過一個工具來揭示或演示Windows內部行為的某一方面時,本書中的“實驗”輔助章節就會列出讓你自己試用該工具時遵從的步驟。這樣的實驗遍布全書,我們鼓勵你在閱讀本書時試一試這些實驗——看一看Windows內部是如何工作的,這比你僅僅讀一遍本書印象要深刻得多。

本書沒有覆蓋的話題

Windows是一個大而復雜的操作系統。本書并沒有覆蓋與Windows內部機理相關的一切內容,而是把焦點集中在了基本的系統組件上。例如,本書沒有講述COM+(Windows分布式面向對象編程基礎設施),也沒有講述.NET框架(托管代碼應用程序的基礎)。
因為這是一本講述內部機理的書籍,不是一本用戶指南、程序設計或系統管理類型的書籍,所以,本書沒有描述如何使用、編程或配置Windows。

提醒和告誡

因為本書講述的是Windows操作系統中未文檔化的內部結構和內部操作的行為(比如內核結構和函數),所以,這些內容有可能會在不同發行版本之間有所變化。(外部的接口,比如Windows API,則不會受到不兼容變化的影響。)
說到“受版本變化的影響”,我們并不是指,本書中講述的細節將在不同發行版本之間一定有所變化,但是你不能認為它們不會改變。任何使用了這些未文檔化接口的軟件都有可能在將來的Windows版本上無法正常工作。更糟的是,在內核模式下運行并且用到了這些未文檔化接口的軟件(比如設備驅動程序)在新的Windows發行版本上運行時可能會導致系統崩潰。

致謝

首先,感謝Azius LLC的Jamie Hanrahan和BrianCatlin加入到這一項目上——沒有他們的幫助本書將無法完成。他們對“安全性”和“網絡”這兩章做了大量的更新,也為“管理機制”和“進程和線程”這兩章的更新做出了很多貢獻。Azius提供了Windows內部機理和設備驅動程序的訓練。更多信息參見www.azius.com。
我們想要感謝Alex Ionescu,在這一版本中他是一名完全的聯合作者。這包括Alex在本書第5版所做的大量工作,以及在這一版本中持續做的工作。
感謝Eric Traut和Jon DeVaan,繼續讓David Solomon可以為了寫作本書而訪問Windows源代碼,以及繼續開發他的Windows Internals課程。
有三個關鍵的評審者尚未因為他們對第5版的評審和貢獻而被致以感謝,他們是:Arun Kishan、Landy Wang和Aaron Margosis。再次感謝他們!再次感謝Arun和Landy為這一版本所做的詳細審查和極有幫助的見地。
若沒有來自Microsoft Windows開發組關鍵成員的審查、建議和支持,這本書不會擁有現在這樣的技術細節深度和精確度。因此,我們感謝下面的人員,他們為本書提供了技術審查和建議:
Greg Cottingham
Joe Hamburg
Jeff Lambert
Pavel Lebedynskiy
Joseph East
Adi Oltean
Alexey Pakhunov
Valerie See
對于“網絡”這一章,特別感謝Gianluigi Nusca和Tom Jolly,他們所做的遠遠超出了他們的責任范圍:Gianluigi在BranchCache的材料方面提供了特別有用的幫助,以及大量的建議(他還寫了許多段落材料);Tom Jolly不僅提供了優秀的審查意見和建議,而且讓許多其他的開發人員幫忙做技術審查。下面是所有對“網絡”這一章做了審查和貢獻的人員:
Roopesh Battepati
Molly Brown
Greg Cottingham
Dotan Elharrar
Eric Hanson
Tom Jolly
Manoj Kadam
Greg Kramer
David Kruse
Jeff Lambert
Darene Lewis
Dan Lovinger
Gianluigi Nusca
Amos Ortal
Ivan Pashov
Ganesh Prasad
Paul Swan
Shiva Kumar Thangapandi
Amos Ortal和Dotan Elharrar對NAP的內容提供了幫助,Shiva Kumar Thangapandi對EAP部分提供了大量幫助。
Christophe Nasarre作為總體技術評審人,他所做的詳細的檢查極大地提高了本書的技術精確度和一致性。

我們也要再次感謝Hex-Rays(www.hex-rays.com)的IIfak Guilfanov,因為他們為Alex Ionescu提供了IDA Pro Advanced和Hex Rays許可,所以Alex可以加快對Windows內核的逆向工程。
最后,作者們要感謝Microsoft Press的同事們,他們在背后做了很多工作,將這本書變成現實。Devon Musgrave作為本書的策劃編輯,承擔了雙重職責,既要考慮成本,也要考慮本書的發展;Carol Dillingham是本書的項目編輯。編輯和產品經理Steve Sagman、版權編輯Roger LeBanc、校對編輯Audrey Marr和索引編輯Christina Yeager都為本書的質量做出了貢獻。

最后,感謝Microsoft Press的發行人Ben Ryan,他始終相信為讀者提供如此詳細程度的Windows知識是極其重要的!

勘誤和本書支持

我們做了各種努力來確保本書的精確性。自本書出版以來已經報告的任何錯誤都將列在oreilly.com的Microsoft Press站點上:

http://go.microsoft.com/FWLink/?Linkid=245675

如果您遇到了尚未列出的錯誤,可以通過同樣的頁面將錯誤報告給我們。

如果您需要額外的支持,請發送電子郵件給Microsoft Press Book Support:mspinput@microsoft.com。

請注意,上述地址并不會提供有關Microsoft軟件產品的支持。

傾聽您的聲音

在Microsoft Press,讓您滿意是我們最高優先級的工作,您的反饋也是我們最有價值的財富。請告訴我們您對這本書的看法:

http://www.microsoft.com/learning/booksurvey

這份調查非常簡短,我們會閱讀您的每一條評論和想法。感謝您提供寶貴意見。

保持聯系

讓我們保持熱線聯系,我們在Twitter上的地址是:http://twitter.com/MicrosoftPress。
內容簡介:

本書是著名的操作系統內核專家Mark Russinovich和David Solomon、Allen Ionescu撰寫的關于Windows操作系統原理的最新版著作, 全面深入地闡述了Windows操作系統的整體結構及內部工作細節。 本書針對Windows 7、 Windows Server 2008 R2做了全面更新,通過許多練習實驗讓你直接感受到Windows的內部行為。另外,本書還介紹了一些高級診斷技術,以便使系統運行得更加平穩和高校。無論你是開發人員還是系統管理員,都可以在本書中找到一些關鍵的、有關體系結構方面的知識,從而更好地做系統設計、調試,以及性能優化。

目錄:

譯者序
引言
本書的結構
本書的歷史
第6版的變化
練習實驗
本書沒有覆蓋的話題
提醒和告誡
致謝
勘誤和本書支持
傾聽您的聲音
保持聯系
第1章 概念和工具
1.1 Windows操作系統的版本
1.2 基礎概念和術語
Windows API
服務、函數和例程
進程、線程和作業
虛擬內存
內核模式和用戶模式
終端服務及多個會話
對象和句柄
安全性
注冊表
Unicode
1.3 挖掘Windows內部機理
性能監視器
內核調試
Windows軟件開發工具(Windows SDK)
Windows驅動程序開發工具
Sysinternals工具
1.4 本章總結
第2章 系統架構
2.1 需求和設計目標
2.2 操作系統模型
2.3 總體架構
可移植性
對稱多處理
可伸縮性
客戶機和服務器版本之間的差異
檢查版本
2.4 關鍵的系統組件
環境子系統和子系統DLL
Ntdll.dll
執行體
內核
硬件抽象層(HAL)
設備驅動程序
系統進程
2.5 本章總結
第3章 系統機制
3.1 陷阱分發
中斷分發
定時器處理
異常分發
系統服務分發
3.2 對象管理器
執行體對象
對象結構
3.3 同步
高IRQL的同步
低IRQL的同步
3.4 系統輔助線程
3.5 Windows全局標志
3.6 高級本地過程調用(ALPC)
連接模型
消息模型
異步操作
視圖、區域和內存區
屬性
Blob、句柄和資源
安全性
性能
調試和跟蹤
3.7 內核事件跟蹤
3.8 Wow64
Wow64進程地址空間布局結構
系統調用
異常分發
用戶APC分發
控制臺支持
用戶回調
文件系統重定向
注冊表的重定向
I/O控制請求
16位安裝器應用程序
打印
一些限制
3.9 用戶模式調試
內核支持
原生支持
Windows子系統支持
3.10 映像加載器
進程初始化早期工作
DLL名稱解析
DLL名稱重定向
已加載模塊數據庫
導入信息解析
導入過程初始化的后期處理
SwitchBack
API集
3.11 超級監督者(Hyper-V)
分區
父分區
子分區
硬件仿真和支持
3.12 內核事務管理器
3.13 熱補丁支持
3.14 內核補丁保護
3.15 代碼完整性
3.16 本章總結
第4章 管理機制
4.1 注冊表
查看和修改注冊表
注冊表用法
注冊表數據類型
注冊表邏輯結構
事務型注冊表(TxR)
監視注冊表活動
注冊表的內部機理
4.2 服務
服務應用
服務賬戶
服務控制管理器
服務啟動
啟動錯誤
接受當前引導和“最后已知的好控制集”
服務失敗
服務停機
共享的服務進程
服務標記
4.3 統一的后臺進程管理器
初始化
UBPM API
提供者注冊
消費者注冊
TaskHost
服務控制程序
4.4 Windows管理設施
提供者
公共信息模型(CIM)和可管理對象的格式語言
類關聯
WMI實現
WMI安全性
4.5 Windows診斷基礎設施
WDI設施
診斷策略服務
診斷功能
4.6 本章總結
第5章 進程、線程和作業
5.1 進程的內部機理
數據結構
5.2 受保護進程
5.3 CreateProcess的流程
階段1:轉換并驗證參數和標志
階段2:打開將要被執行的映像
階段3:創建Windows執行體進程對象(PspAllocateProcess)
階段4:創建初始線程,以及它的棧和執行環境
階段5:執行特定于Windows子系統的初始化后處理
階段6:啟動初始線程的執行
階段7:在新進程環境下執行進程初始化
5.4 線程的內部機理
數據結構
一個線程的誕生
5.5 檢查線程活動
受保護進程的線程上的訪問限制
5.6 工作者工廠(線程池)
5.7 線程調度
Windows調度概述
優先級別
線程狀態
分發器數據庫
時限
優先級提升
環境切換
調度情形
空閑(Idle)線程
線程選擇
多處理器系統
多處理器系統上的線程選擇
處理器的選擇
5.8 基于處理器份額的調度
分布式公平份額調度
CPU比率的限制
5.9 動態的處理器添加與更換
5.10 作業對象
作業的限制
作業集
5.11 本章總結
第6章 安全性
6.1 安全等級
可信計算機系統評估標準(TCSEC)
6.2 安全系統組件
6.3 保護對象
訪問檢查
安全標識符(SID)
虛擬服務賬戶
安全描述符和訪問控制
6.4 AuthZ API
6.5 賬戶權限和特權
賬戶權限
特權
超級特權
6.6 進程和線程的訪問令牌
6.7 安全審計
對象訪問的審計
全局審計策略
高級審計策略設置
6.8 登錄(Logon)
Winlogon初始化
用戶登錄步驟
可保證的認證
用戶認證的生物識別框架
6.9 用戶賬戶控制和虛擬化
文件系統和注冊表虛擬化
權限提升
6.10 應用程序標識(AppID)
6.11 AppLocker
6.12 軟件限制策略
6.13 本章總結
第7章 網絡
7.1 Windows的網絡總體結構
OSI參考模型
Windows網絡組件
7.2 網絡API
Windows套接字(Windows Sockets)
Winsock內核
遠過程調用
Web訪問API
命名管道和郵件槽
NetBIOS
其他的網絡API
7.3 多重定向器支持
多提供者轉發器
多UNC提供者
代理提供者
重定向器
小重定向器
服務器消息塊與子重定向器
7.4 分布式文件系統名字空間
7.5 分布式文件系統復制
7.6 脫機文件
緩存模式
幻影(ghosts)
數據安全性
緩存的結構
7.7 BranchCache
緩存模式
BranchCache優化下的應用程序數據獲取:SMB序列
BranchCache優化下的應用程序數據獲取:HTTP序列
7.8 名稱解析
域名系統
對等體名稱解析協議
7.9 位置和拓撲結構
網絡位置感知
網絡連接狀態指示器
鏈路層拓撲發現
7.10 協議驅動程序
Windows過濾平臺
7.11 NDIS驅動程序
NDIS小端口的變化形式
面向連接的NDIS
外接NDIS(Remote NDIS)
QoS
7.12 綁定
7.13 分層的網絡服務
術語對照表
序: