出版時(shí)間:2007-4 出版社:電子工業(yè)出版社 作者:(美)羅斯(Russinovich,M.E.),(美)所羅門(mén)(Solomon,D.A.) 頁(yè)數(shù):941 譯者:潘愛(ài)民
Tag標(biāo)簽:無(wú)
前言
《深入解析Windows操作系統(tǒng),第4版》的讀者對(duì)象是那些想要理解Microsoft Windows 2000、Windows XP和Microsoft Windows Server 2003操作系統(tǒng)的核心組件內(nèi)部工作機(jī)理的高級(jí)計(jì)算機(jī)專(zhuān)業(yè)人員(包括開(kāi)發(fā)人員和系統(tǒng)管理員)。開(kāi)發(fā)人員利用這些知識(shí),可以在構(gòu)建Windows平臺(tái)上的應(yīng)用程序時(shí)更好地理解各種設(shè)計(jì)決策背后的基本原理。這樣的知識(shí)也可以幫助開(kāi)發(fā)人員調(diào)試復(fù)雜的問(wèn)題。系統(tǒng)管理員也可以從這些信息中獲益,因?yàn)槔斫饬瞬僮飨到y(tǒng)背后的工作原理,可以有助于理解系統(tǒng)的性能行為,以及當(dāng)事情變?cè)銜r(shí)更易于診斷各種系統(tǒng)問(wèn)題。在閱讀了這本書(shū)以后,你應(yīng)該可以更好地理解Windows是如何工作的,以及它為什么有這樣那樣的表現(xiàn)。本書(shū)的結(jié)構(gòu)前兩章(“概念和工具”和“系統(tǒng)結(jié)構(gòu)”)奠定了本書(shū)后面用到的術(shù)語(yǔ)和概念的基礎(chǔ)。接下去的三章——“系統(tǒng)機(jī)制”、“管理機(jī)制”以及“啟動(dòng)和停機(jī)”——講述了系統(tǒng)中關(guān)鍵的底層機(jī)制。接下來(lái)的八章解釋了操作系統(tǒng)的核心組件:進(jìn)程、線程和作業(yè)、內(nèi)存管理、安全性、I/O系統(tǒng)、存儲(chǔ)管理、緩存管理器、文件系統(tǒng),以及網(wǎng)絡(luò),最后一章介紹了崩潰轉(zhuǎn)儲(chǔ)分析。本書(shū)的歷史本書(shū)以前的名稱(chēng)是Inside Windows NT(Microsoft Press,1992,中文版的名稱(chēng)是《Windows NT技術(shù)內(nèi)幕》),現(xiàn)在是第4版。第1版是由Helen Custer著的(在Microsoft Windows NT 3.1的最初發(fā)布以前出版)。Inside Windows NT是第一本關(guān)于Windows NT的書(shū)籍,它提供了有關(guān)Windows NT系統(tǒng)的體系結(jié)構(gòu)和設(shè)計(jì)方面的關(guān)鍵要點(diǎn)。Inside Windows NT,Second Edition(Microsoft Press, 1998)是由David Solomon著的。該書(shū)在內(nèi)容上做了更新,涵蓋了Windows NT 4.0,并且大大地提高了技術(shù)深度的層次。Inside Windows 2000,Third Edition(Microsoft Press,2000)是由David Solomon和Mark Russinovich合著的。第3版增加了許多新的話(huà)題,比如啟動(dòng)和停機(jī)、Windows服務(wù)的內(nèi)部機(jī)理、注冊(cè)表的內(nèi)部機(jī)理、文件系統(tǒng)驅(qū)動(dòng)程序、網(wǎng)絡(luò),以及Windows 2000中內(nèi)核的變化,其中,關(guān)于Windows 2000中內(nèi)核的變化,包含了Windows驅(qū)動(dòng)程序模型(WDM,Windows Driver Model)、即插即用、電源管理、Windows管理規(guī)范(WMI,Windows Management Instrumentation)、加密、作業(yè)對(duì)象和終端服務(wù)。第4版的變化這一最新的版本,現(xiàn)在稱(chēng)為“Microsoft Windows Internals(Fourth Edition)”,在內(nèi)容上做了更新,以覆蓋Windows XP和Windows Server 2003中所做的內(nèi)核變化,包括對(duì)于64位系統(tǒng)的支持。練習(xí)用的實(shí)驗(yàn)也相應(yīng)地做了更新,以反映出工具中的變化;新增加的實(shí)驗(yàn)用到了一些在第3版寫(xiě)作時(shí)尚未可用的新工具。由于從Windows 2000到后續(xù)版本之間的內(nèi)核變化相對(duì)較?。ㄅc“Windows NT 4.0和Windows 2000之間的變化”相比較而言),所以,本書(shū)中絕大部分內(nèi)容適用于Windows 2000、Windows XP和Windows Server 2003。因此,除非特別聲明,否則一切內(nèi)容都適用于這三個(gè)版本。練習(xí)實(shí)驗(yàn)即使沒(méi)有訪問(wèn)源代碼,你也可以通過(guò)一些工具(比如內(nèi)核調(diào)試器)來(lái)獲得許多有關(guān)Windows內(nèi)部機(jī)理的知識(shí)。每當(dāng)可以通過(guò)一個(gè)工具來(lái)揭示或演示W(wǎng)indows內(nèi)部行為的某一方面時(shí),本書(shū)中的“實(shí)驗(yàn)”輔助章節(jié)就會(huì)列出讓你自己試用該工具時(shí)遵從的步驟。這樣的實(shí)驗(yàn)遍布全書(shū),我們鼓勵(lì)你在閱讀本書(shū)時(shí)試一試這些實(shí)驗(yàn)——看一看Windows內(nèi)部是如何工作的,這比你僅僅讀一遍本書(shū)所得到的印象要深刻得多。本書(shū)沒(méi)有涵蓋的話(huà)題Windows是一個(gè)大而復(fù)雜的操作系統(tǒng)。本書(shū)并沒(méi)有涵蓋與Windows內(nèi)部機(jī)理相關(guān)的一切內(nèi)容,而是把焦點(diǎn)集中在基本的系統(tǒng)組件上。例如,本書(shū)沒(méi)有講述COM+(Windows分布式面向?qū)ο缶幊袒A(chǔ)設(shè)施),也沒(méi)有講述.NET框架(下一代托管代碼的應(yīng)用程序的基礎(chǔ))。因?yàn)檫@是一本講述內(nèi)部機(jī)理的書(shū)籍,不是一本用戶(hù)指南、程序設(shè)計(jì)或系統(tǒng)管理類(lèi)型的書(shū)籍,所以,本書(shū)沒(méi)有描述如何使用、編程或配置Windows。提醒和告誡因?yàn)楸緯?shū)講述的是Windows操作系統(tǒng)中未文檔化的內(nèi)部結(jié)構(gòu)和內(nèi)部操作的行為(比如內(nèi)核結(jié)構(gòu)和函數(shù)),所以,這些內(nèi)容有可能會(huì)在不同的發(fā)行版本中有所變化(外部的接口,比如Windows API,則不會(huì)受到不兼容變化的影響)。說(shuō)到“受版本變化的影響”,我們并不是指,本書(shū)講述的細(xì)節(jié)會(huì)在不同發(fā)行版本中一定有所變化,但是你不能認(rèn)為它們不會(huì)改變。任何使用了這些未文檔化接口的軟件都有可能在將來(lái)的Windows版本上無(wú)法正常工作。更糟的是,在內(nèi)核模式下運(yùn)行并且用到了這些未文檔化接口的軟件(比如設(shè)備驅(qū)動(dòng)程序)在新的Windows發(fā)行版本中運(yùn)行時(shí)可能會(huì)導(dǎo)致系統(tǒng)崩潰。支持我們做了各種努力來(lái)確保本書(shū)的精確性。如果你遇到了任何問(wèn)題,或者有任何疑問(wèn),請(qǐng)參考下面列出的資源。來(lái)自作者的支持本書(shū)遠(yuǎn)未達(dá)到完美。毫無(wú)疑問(wèn),它包含一些不精確的地方;或者也有可能,我們忽略了一些本該講述的話(huà)題。如果你發(fā)現(xiàn)了任何你認(rèn)為不正確的地方,或者你相信我們應(yīng)該包含一些尚未涵蓋的材料,歡迎發(fā)送電子郵件到windowsinternals@sysinternals.com。本書(shū)的更新和修正將張貼在www.microsoft.com/technet/sysinternals/information.windowsinternals.mspx頁(yè)面上。來(lái)自出版商Microsoft Press的支持Microsoft也通過(guò)Web為本書(shū)提供修正內(nèi)容,地址如下:http://www.microsoft.com/learning/support你可以直接連接到Microsoft學(xué)習(xí)知識(shí)庫(kù)(Microsoft Learning Knowledge Base),針對(duì)你學(xué)習(xí)過(guò)程中可能碰到的問(wèn)題,輸入一個(gè)相關(guān)的查詢(xún)請(qǐng)求,Web地址是:http://www.microsoft.com/learning/support/search.asp。除了直接給作者們發(fā)送反饋信息以外,如果你對(duì)本書(shū)的表述或用途有任何建議、疑問(wèn)或者想法,可以通過(guò)以下任何一種方法將它們發(fā)送給Microsoft。通信地址:Microsoft PressAttn: Windows Internals EditorOne Microsoft WayRedmond, WA 98052-6399電子郵件地址:mspinput@microsoft.com請(qǐng)注意,通過(guò)上述地址并不提供產(chǎn)品支持。關(guān)于Microsoft Windows的支持信息,請(qǐng)?jiān)L問(wèn)www.microsoft.com/windows。你也可以在工作日的太平洋時(shí)間上午6點(diǎn)到下午6點(diǎn)打電話(huà)給(425) 635-7011,呼叫標(biāo)準(zhǔn)支持程序,或者搜索Microsoft的在線支持站點(diǎn):suppport.microssft.com/support。
內(nèi)容概要
本書(shū)是著名的操作系統(tǒng)內(nèi)核專(zhuān)家Mark Russinovich和David Solomon撰寫(xiě)的Windows操作系統(tǒng)原理的最新版著作,全面和深入地闡述了Windows操作系統(tǒng)的整體結(jié)構(gòu)以及內(nèi)部工作細(xì)節(jié)。本書(shū)針對(duì)Windows Server 2003、Windows XP和Windows 2000做了全面更新,通過(guò)許多練習(xí)實(shí)驗(yàn)讓你直接感受到Windows的內(nèi)部行為。另外,本書(shū)還介紹了一些高級(jí)診斷技術(shù),以便使你的系統(tǒng)運(yùn)行得更加平穩(wěn)和高效。無(wú)論你是開(kāi)發(fā)人員還是系統(tǒng)管理員,你都可以在本書(shū)中找到一些關(guān)鍵的、有關(guān)體系結(jié)構(gòu)方面的知識(shí),通過(guò)這些知識(shí)你可以更好地做系統(tǒng)設(shè)計(jì)、調(diào)試,以及性能優(yōu)化。全書(shū)內(nèi)容豐富、信息全面,主要包括的Windows操作系統(tǒng)深度知識(shí)有:理解Windows的關(guān)鍵機(jī)制,包括系統(tǒng)服務(wù)分發(fā)和調(diào)度機(jī)制、啟動(dòng)和停機(jī),以及注冊(cè)表;挖掘Windows的安全模型,包括訪問(wèn)控制、特權(quán)和審計(jì);利用內(nèi)核調(diào)試器和其他的工具來(lái)檢查內(nèi)部系統(tǒng)結(jié)構(gòu);檢查與進(jìn)程、線程和作業(yè)相關(guān)的數(shù)據(jù)結(jié)構(gòu)和算法;觀察Windows如何管理虛擬內(nèi)存和物理內(nèi)存;理解NTFS的操作和格式,診斷文件系統(tǒng)訪問(wèn)問(wèn)題;從上往下查看Windows的網(wǎng)絡(luò)棧,包括映射、API、名稱(chēng)解析和協(xié)議驅(qū)動(dòng)程序;診斷引導(dǎo)問(wèn)題,執(zhí)行崩潰分析。本書(shū)適合廣大Windows平臺(tái)開(kāi)發(fā)人員、IT專(zhuān)業(yè)從業(yè)人員等參考使用。
作者簡(jiǎn)介
潘愛(ài)民,浙江海寧人,獲得了南開(kāi)大學(xué)數(shù)學(xué)學(xué)士學(xué)位,清華大學(xué)工學(xué)碩士學(xué)位,以及北京大學(xué)計(jì)算機(jī)科學(xué)博士學(xué)位。他從中學(xué)時(shí)代開(kāi)始接觸計(jì)算機(jī)編程,經(jīng)歷了從DOS到Windows各種版本的發(fā)展歷程。潘愛(ài)民曾經(jīng)長(zhǎng)期從事軟件技術(shù)的研究和開(kāi)發(fā)工作,撰寫(xiě)了大量軟件技術(shù)文章,1999年曾經(jīng)是《微電腦世界》雜志社的合作專(zhuān)家。他著寫(xiě)了《COM原理與應(yīng)用》(1999年出版),翻譯了多部經(jīng)典名作,如《Visual C++技術(shù)內(nèi)幕》(第四、六版)、《C++ Primer中文版》(第三版)、《COM本質(zhì)論》、《計(jì)算機(jī)網(wǎng)絡(luò)》(第四版)等。從2001年開(kāi)始,潘愛(ài)民在北京大學(xué)計(jì)算機(jī)科學(xué)技術(shù)系承擔(dān)研究生課程教學(xué),共講授了三門(mén)課程:《組件技術(shù)》、《網(wǎng)絡(luò)與信息安全》和《程序開(kāi)發(fā)環(huán)境分析與實(shí)踐》,深受學(xué)生歡迎。2006年秋季在清華大學(xué)軟件科學(xué)實(shí)驗(yàn)班講授《程序設(shè)計(jì)與算法基礎(chǔ)》課程。 潘愛(ài)民獲得了2001年微軟亞洲研究院“微軟學(xué)者”稱(chēng)號(hào),2002年度北京大學(xué)優(yōu)秀教學(xué)獎(jiǎng)。他現(xiàn)在微軟亞洲研究院從事系統(tǒng)與安全方向的研究工作。
書(shū)籍目錄
第1章 概念和工具 1.1 Windows操作系統(tǒng)的版本 1.2 基礎(chǔ)概念和術(shù)語(yǔ) 1.3 挖掘Windows內(nèi)部機(jī)理 1.4 本章總結(jié) 第2章 系統(tǒng)結(jié)構(gòu) 2.1 需求和設(shè)計(jì)目標(biāo) 2.2 操作系統(tǒng)模型 2.3 總體結(jié)構(gòu) 2.4 關(guān)鍵的系統(tǒng)組件 2.5 本章總結(jié) 第3章 系統(tǒng)機(jī)制 3.1 陷阱分發(fā) 3.2 對(duì)象管理器 3.3 同步 3.4 系統(tǒng)輔助線程 3.5 Windows全局標(biāo)志 3.6 本地過(guò)程調(diào)用(LPC) 3.7 內(nèi)核事件追蹤 3.8 Wow64 3.9 本章總結(jié) 第4章 管理機(jī)制 4.1 注冊(cè)表 4.2 服務(wù) 4.3 Windows管理規(guī)范 4.4 本章總結(jié) 第5章 啟動(dòng)和停機(jī) 5.1 引導(dǎo)過(guò)程 5.2 引導(dǎo)和啟動(dòng)問(wèn)題的故障檢查 5.3 停機(jī) 5.4 本章總結(jié) 第6章 進(jìn)程、線程和作業(yè) 6.1 進(jìn)程的內(nèi)部機(jī)理 6.2 CreateProcess的流程 6.3 線程的內(nèi)部機(jī)理 6.4 檢查線程活動(dòng) 6.5 線程調(diào)度 6.6 作業(yè)對(duì)象 6.7 本章總結(jié) 第7章 內(nèi)存管理 7.1 內(nèi)存管理器簡(jiǎn)介 7.2 內(nèi)存管理器提供的服務(wù) 7.3 系統(tǒng)內(nèi)存池 7.4 虛擬地址空間的布局結(jié)構(gòu) 7.5 地址轉(zhuǎn)譯 7.6 頁(yè)面錯(cuò)誤處理 7.7 虛擬地址描述符 7.8 內(nèi)存區(qū)對(duì)象 7.9 工作集 7.10 邏輯預(yù)取器 7.11 頁(yè)面幀編號(hào)數(shù)據(jù)庫(kù) 7.12 本章總結(jié) 第8章 安全性 8.1 安全系統(tǒng)組件 8.2 保護(hù)對(duì)象 8.3 賬戶(hù)權(quán)限和特權(quán) 8.4 安全審計(jì) 8.5 登錄(Logon) 8.6 軟件限制策略 8.7 本章總結(jié) 第9章 I/O系統(tǒng) 9.1 I/O系統(tǒng)組件 9.2 設(shè)備驅(qū)動(dòng)程序 9.3 I/O處理 9.4 即插即用(PnP)管理器 9.5 電源管理器 9.6 本章總結(jié) 第10章 存儲(chǔ)管理 10.1 有關(guān)存儲(chǔ)的術(shù)語(yǔ) 10.2 磁盤(pán)驅(qū)動(dòng)程序 10.3 卷的管理 10.4 本章總結(jié) 第11章 緩存管理器 11.1 緩存管理器的關(guān)鍵特性 11.2 緩存的虛擬內(nèi)存管理 11.3 緩存的大小 11.4 緩存的數(shù)據(jù)結(jié)構(gòu) 11.5 文件系統(tǒng)接口 11.6 快速I(mǎi)/O 11.7 預(yù)讀(Read Ahead)和滯后寫(xiě)(Write Behind) 11.8 本章總結(jié) 第12章 文件系統(tǒng) 12.1 Windows文件系統(tǒng)格式 12.2 文件系統(tǒng)驅(qū)動(dòng)程序總體結(jié)構(gòu) 12.3 診斷文件系統(tǒng)的問(wèn)題 12.5 NTFS文件系統(tǒng)驅(qū)動(dòng)程序 12.6 NTFS在磁盤(pán)上的結(jié)構(gòu) 12.7 NTFS的恢復(fù)支持 12.8 加密文件系統(tǒng)(EFS)安全性 12.9 本章總結(jié) 第13章 網(wǎng)絡(luò) 13.1 Windows的網(wǎng)絡(luò)總體結(jié)構(gòu) 13.2 網(wǎng)絡(luò)API 13.3 多重定向器支持 13.4 名稱(chēng)解析 13.5 協(xié)議驅(qū)動(dòng)程序 13.6 NDIS驅(qū)動(dòng)程序 13.7 綁定 13.8 分層的網(wǎng)絡(luò)服務(wù) 13.9 本章總結(jié) 第14章 崩潰轉(zhuǎn)儲(chǔ)分析 14.1 Windows為什么會(huì)崩潰 14.2 藍(lán)屏 14.3 崩潰轉(zhuǎn)儲(chǔ)文件 14.4 Windows錯(cuò)誤報(bào)告 14.5 在線崩潰分析 14.6 基本的崩潰轉(zhuǎn)儲(chǔ)分析 14.7 使用崩潰診斷工具 14.8 高級(jí)的崩潰轉(zhuǎn)儲(chǔ)分析 術(shù)語(yǔ)表 術(shù)語(yǔ)對(duì)照表 索引
章節(jié)摘錄
現(xiàn)在我們已經(jīng)了解了必須熟悉的術(shù)語(yǔ)、概念和工具,所以,我們準(zhǔn)備開(kāi)始挖掘Microsoft Windows操作系統(tǒng)的內(nèi)部設(shè)計(jì)目標(biāo)和數(shù)據(jù)結(jié)構(gòu)。這一章講述系統(tǒng)的總體結(jié)構(gòu)——關(guān)鍵的部件、它們相互之間如何交互,以及它們分別運(yùn)行在什么樣的環(huán)境下。為了提供一個(gè)有助于理解Windows內(nèi)部機(jī)理的框架,首先回顧一下最初的需求和設(shè)計(jì)目標(biāo),這些需求和目標(biāo)基本上勾畫(huà)出了Windows系統(tǒng)最初的設(shè)計(jì)和規(guī)范。2.1 需求和設(shè)計(jì)目標(biāo)回到1989年,下面的需求導(dǎo)致了Windows NT的以下規(guī)范:n 提供一個(gè)真正32位的、搶先式的(preemptive)、可重入的(reentrant)虛擬內(nèi)存操作系統(tǒng);n 在多種硬件體系結(jié)構(gòu)和平臺(tái)上運(yùn)行;n 可在對(duì)稱(chēng)多處理器系統(tǒng)(symmetric multiprocessing systems)上運(yùn)行,并且能很好地適應(yīng)處理器的數(shù)量;n 成為一個(gè)主要的分布式計(jì)算平臺(tái),無(wú)論是作為網(wǎng)絡(luò)客戶(hù)還是服務(wù)器;n 能夠運(yùn)行大多數(shù)已有的16位MS-DOS和Microsoft Windows 3.1應(yīng)用程序;n 符合政府對(duì)于POSIX 1003.1兼容性的要求;n 符合政府和工業(yè)界對(duì)于操作系統(tǒng)安全性方面的要求;n 支持Unicode,以便很容易地適應(yīng)全球市場(chǎng)。要?jiǎng)?chuàng)建一個(gè)滿(mǎn)足這些需求的系統(tǒng),必須做出數(shù)千個(gè)決定;為了便于做出這些決定,Windows NT設(shè)計(jì)小組在項(xiàng)目開(kāi)始之初選擇了下面的設(shè)計(jì)目標(biāo):n 擴(kuò)展性(Extensibility) 編寫(xiě)的系統(tǒng)代碼必須能夠隨著市場(chǎng)需求的變化而自如地增長(zhǎng)和改變;n 可移植性(Portability) 系統(tǒng)必須能運(yùn)行在多種硬件體系結(jié)構(gòu)上,必須能根據(jù)市場(chǎng)的需要,相對(duì)容易地移到新的體系結(jié)構(gòu)上;n 可靠性和健壯性(Reliability and Robustness) 系統(tǒng)應(yīng)該能夠保護(hù)自己,不會(huì)因內(nèi)部的錯(cuò)誤和外部的篡改而不能工作。應(yīng)用程序應(yīng)該無(wú)法傷害操作系統(tǒng)或者其他的應(yīng)用程序;n 兼容性(Compatibility) 雖然Windows NT應(yīng)該擴(kuò)展已有的技術(shù),但是它的用戶(hù)界面和API應(yīng)該與老版本的Windows和MS-DOS兼容。而且它也應(yīng)該能與其他的系統(tǒng),比如UNIX、OS/2和NetWare,很好地互操作;n 性能(Performance) 在其他設(shè)計(jì)目標(biāo)的約束下,系統(tǒng)在每一種硬件平臺(tái)上應(yīng)盡可能運(yùn)行得更快,對(duì)外部的響應(yīng)盡可能地及時(shí)。隨著我們挖掘Windows內(nèi)部結(jié)構(gòu)和內(nèi)部操作的各種細(xì)節(jié),你將會(huì)看到,這些原始的設(shè)計(jì)目標(biāo)和市場(chǎng)要求是如何成功地融入到系統(tǒng)的構(gòu)造過(guò)程中的。但是,在我們開(kāi)始挖掘內(nèi)部細(xì)節(jié)之前,先來(lái)看一下Windows的總體設(shè)計(jì)模型,并且將它與其他的現(xiàn)代操作系統(tǒng)作一比較。
媒體關(guān)注與評(píng)論
譯 序這是一本隨Windows NT一起發(fā)展和成長(zhǎng)起來(lái)的經(jīng)典圖書(shū)。我在1995年的時(shí)候閱讀過(guò)這本書(shū)的第1版中文版,通過(guò)該書(shū)了解到了Windows NT設(shè)計(jì)的諸多考慮。它對(duì)于我理解Windows曾經(jīng)起到了重要的作用。除了這本書(shū)以外,另外一套講述Windows SDK開(kāi)發(fā)指南的圖書(shū)(記得有四卷)也深刻地影響了我對(duì)于Windows的理解。雖然第4版與早期的版本有了很大的變化(原作者也不相同,請(qǐng)參考引言部分關(guān)于本書(shū)歷史的介紹),但由于Windows NT的內(nèi)核結(jié)構(gòu)一直沿襲下來(lái)了,無(wú)疑本書(shū)新的版本更趨成熟,而且新版作者們編寫(xiě)的許多工具更是使本書(shū)增色不少。時(shí)隔10年以后,當(dāng)編輯找到我,希望我來(lái)翻譯這本書(shū)的第4版時(shí),我的第一感覺(jué)是,我不能翻譯這本書(shū),所以我直截了當(dāng)?shù)鼐芙^了編輯。我的顧慮在于兩個(gè)方面:首先,這是一本重量級(jí)的書(shū),更適合于操作系統(tǒng)領(lǐng)域中的資深專(zhuān)家來(lái)把握和詮譯;其次,我擔(dān)心沒(méi)有足夠的時(shí)間來(lái)及時(shí)地完成這本書(shū)的翻譯工作。兩周以后,當(dāng)編輯再次找到我時(shí),我答應(yīng)找一個(gè)幫手來(lái)翻譯這本書(shū),但是,合適的幫手并不好找。最后,我決定獨(dú)立翻譯本書(shū),但需要一年時(shí)間。而實(shí)際上,我花了一年半時(shí)間才完成本書(shū)的翻譯工作。無(wú)奈,在質(zhì)量和進(jìn)度之間,我選擇了前者。這是一本獨(dú)特的書(shū),它既不像教材那樣宣講Windows操作系統(tǒng)的原理,也不教讀者如何編寫(xiě)內(nèi)核驅(qū)動(dòng)程序或者如何更好地配置Windows系統(tǒng)。相反地,它按照Windows操作系統(tǒng)的體系結(jié)構(gòu),把內(nèi)核幾乎翻了個(gè)遍,目的在于幫助讀者理解Windows內(nèi)核的每一部分是如何工作的,并且通過(guò)各種工具讓你真正能夠看到Windows內(nèi)部的數(shù)據(jù)結(jié)構(gòu)和狀態(tài),甚至一些運(yùn)行過(guò)程。閱讀這本書(shū)的過(guò)程,其實(shí)也是玩轉(zhuǎn)Windows的過(guò)程。經(jīng)過(guò)作者們的剖析,Windows已經(jīng)完完全全不再神秘。如果你想知道Windows的內(nèi)部工作原理,那么,這本書(shū)對(duì)你來(lái)說(shuō)再合適不過(guò)了。Microsoft提供了很多工具(并且許多工具可直接通過(guò)Microsoft的Web站點(diǎn)獲得),可用來(lái)觀察或控制系統(tǒng)內(nèi)核的方方面面,其中最為重要的當(dāng)然非內(nèi)核調(diào)試器(Windbg)莫屬了。除此以外,本書(shū)作者們也提供了大量實(shí)用的工具(有的還相當(dāng)好玩,見(jiàn)本書(shū)第14章最后一節(jié)。所有這些工具都可通過(guò)www.sysinternals.com下載而得到),你不僅在閱讀本書(shū)的時(shí)候能使用這些工具來(lái)幫助你更好地理解書(shū)中的內(nèi)容,在日常的工作或生活中也可以使用這些工具來(lái)解決一些實(shí)際問(wèn)題。例如,我和同事們通過(guò)Process Explorer(在本書(shū)中我將其翻譯為“進(jìn)程管理器”)發(fā)現(xiàn)過(guò)機(jī)器上的流氓軟件的痕跡,有時(shí)候,當(dāng)目錄無(wú)法刪除或移動(dòng)設(shè)備無(wú)法卸載的時(shí)候,通過(guò)它也能查到哪個(gè)進(jìn)程還在抓著不放手。對(duì)于有些工具,作者們還在書(shū)中介紹了實(shí)現(xiàn)原理,比如Filemon就是一個(gè)很好的例子。這本書(shū)確實(shí)打破了Windows操作系統(tǒng)的神秘感,但是,更讓W(xué)indows大白于天下的,當(dāng)是Windows的源代碼了。2006年7月,Microsoft真正開(kāi)放了一份可編譯的內(nèi)核源代碼(僅核心部分),編譯得到的內(nèi)核文件可以在Windows Server 2003 (SP1)上啟動(dòng)和運(yùn)行。如果讀者有資格獲得這一份代碼,那么,在閱讀本書(shū)的時(shí)候,你甚至可以直接參考源代碼。我想,在這一點(diǎn)上,Microsoft的確體現(xiàn)了誠(chéng)意。有關(guān)詳細(xì)的信息,請(qǐng)參考http://www.microsoft.com/resources/sharedsource/ Licensing/WindowsAcademic.mspx。說(shuō)到本書(shū)的權(quán)威性,看一看David Culter(NT內(nèi)核的最初設(shè)計(jì)者,奠定了Windows NT的基礎(chǔ))和Jim Allchin為本書(shū)寫(xiě)的序言就能知曉。作者之一David Solomon從事Windows NT內(nèi)部機(jī)理的培訓(xùn)和研討有10多年經(jīng)歷了,而且也在Microsoft內(nèi)部對(duì)員工進(jìn)行培訓(xùn)。我有幸參加了他2006年春天在北京的一次培訓(xùn)。而另一名作者M(jìn)ark Russinovich呢,www.sysinternals.com上這么多優(yōu)秀的工具皆出自他的手筆,現(xiàn)在已經(jīng)加入Microsoft了。有興趣的讀者,可以到網(wǎng)站上看一看Mark的blog,一些技術(shù)文章非常有意思。這一年多翻譯本書(shū)的過(guò)程,于我也是一個(gè)學(xué)習(xí)的過(guò)程。這些知識(shí)幫助我解決了在工作中遇到的許多難題,也讓我更好地理解了Windows操作系統(tǒng)。我經(jīng)常向同事和實(shí)習(xí)生們推薦這本書(shū),希望能幫助他們解決手頭的一些技術(shù)難題,以及更好地在Windows平臺(tái)上開(kāi)展工作。如果你的工作也需要緊密地接觸Windows,那么,不管是科研人員、開(kāi)發(fā)人員,還是系統(tǒng)管理員,都可以從這本書(shū)中獲益良多。如何更有效地發(fā)揮本書(shū)的作用呢?以我的感覺(jué)而言,這本書(shū)的敘述并不像教材那樣嚴(yán)謹(jǐn),也不像教材那樣按照學(xué)習(xí)的順序來(lái)組織內(nèi)容,它應(yīng)該是一本講述Windows系統(tǒng)內(nèi)部機(jī)理的實(shí)用參考書(shū)。所以,如果你沒(méi)有計(jì)算機(jī)科學(xué)的專(zhuān)業(yè)背景,我建議你配合學(xué)習(xí)一本講述操作系統(tǒng)原理的書(shū)籍。有了操作系統(tǒng)理論的基礎(chǔ)以后,再閱讀本書(shū)無(wú)疑會(huì)有更好的效果。另外,在閱讀過(guò)程中,若有條件,一定要?jiǎng)邮肿鲆蛔鰰?shū)中描述的實(shí)驗(yàn)。這些實(shí)驗(yàn)很容易做,你若能舉一反三,則掌控Windows就不在話(huà)下了。最后,借此機(jī)會(huì),感謝兩位作者寫(xiě)了這么一本有用的書(shū)以及一組實(shí)用工具。謝謝周筠編輯讓我翻譯這本書(shū),并容許我這么久才完稿。今年4月份她說(shuō)的一句話(huà)讓我感動(dòng),她說(shuō)“我不催你,我知道你很忙”,而實(shí)際上,原書(shū)的出版社正在催她,她是頂著壓力說(shuō)這句話(huà)的。謝謝微軟亞洲研究院高校關(guān)系經(jīng)理馬歆小姐,她在過(guò)去幾年中為推廣Windows在國(guó)內(nèi)高校的教學(xué)和科研做了大量幕后工作,包括組織國(guó)內(nèi)高校的操作系統(tǒng)教師編寫(xiě)了《Windows操作系統(tǒng)原理》一書(shū),正是在跟她的接觸和交流過(guò)程中,讓我更加意識(shí)到了這本書(shū)有多么重要。也要謝謝本書(shū)編輯方舟和陳元玉,他們配合我的翻譯進(jìn)度,使得我們的工作能以流水線方式進(jìn)行,他們的工作態(tài)度讓我感受到了從未有過(guò)的編輯對(duì)譯者的尊重。在翻譯過(guò)程中,我也盡可能地改正原著中的一些錯(cuò)誤,但我相信這本書(shū)還遠(yuǎn)沒(méi)有達(dá)到完美,尤其是,因翻譯而新引入的錯(cuò)誤更是在所難免。盡管我花了四個(gè)月的時(shí)間來(lái)復(fù)查一遍譯稿,但交稿之后還是能發(fā)現(xiàn)一些翻譯不妥之處,甚至錯(cuò)譯的句子,請(qǐng)讀者原諒。另外,本書(shū)正文之后列出了英漢習(xí)慣用語(yǔ)對(duì)照表,以方便閱讀。潘愛(ài)民2006年12月于北京引 言引 言《深入解析Windows操作系統(tǒng),第4版》的讀者對(duì)象是那些想要理解Microsoft Windows 2000、Windows XP和Microsoft Windows Server 2003操作系統(tǒng)的核心組件內(nèi)部工作機(jī)理的高級(jí)計(jì)算機(jī)專(zhuān)業(yè)人員(包括開(kāi)發(fā)人員和系統(tǒng)管理員)。開(kāi)發(fā)人員利用這些知識(shí),可以在構(gòu)建Windows平臺(tái)上的應(yīng)用程序時(shí)更好地理解各種設(shè)計(jì)決策背后的基本原理。這樣的知識(shí)也可以幫助開(kāi)發(fā)人員調(diào)試復(fù)雜的問(wèn)題。系統(tǒng)管理員也可以從這些信息中獲益,因?yàn)槔斫饬瞬僮飨到y(tǒng)背后的工作原理,可以有助于理解系統(tǒng)的性能行為,以及當(dāng)事情變?cè)銜r(shí)更易于診斷各種系統(tǒng)問(wèn)題。在閱讀了這本書(shū)以后,你應(yīng)該可以更好地理解Windows是如何工作的,以及它為什么有這樣那樣的表現(xiàn)。本書(shū)的結(jié)構(gòu)前兩章(“概念和工具”和“系統(tǒng)結(jié)構(gòu)”)奠定了本書(shū)后面用到的術(shù)語(yǔ)和概念的基礎(chǔ)。接下去的三章——“系統(tǒng)機(jī)制”、“管理機(jī)制”以及“啟動(dòng)和停機(jī)”——講述了系統(tǒng)中關(guān)鍵的底層機(jī)制。接下來(lái)的八章解釋了操作系統(tǒng)的核心組件:進(jìn)程、線程和作業(yè)、內(nèi)存管理、安全性、I/O系統(tǒng)、存儲(chǔ)管理、緩存管理器、文件系統(tǒng),以及網(wǎng)絡(luò),最后一章介紹了崩潰轉(zhuǎn)儲(chǔ)分析。本書(shū)的歷史本書(shū)以前的名稱(chēng)是Inside Windows NT(Microsoft Press,1992,中文版的名稱(chēng)是《Windows NT技術(shù)內(nèi)幕》),現(xiàn)在是第4版。第1版是由Helen Custer著的(在Microsoft Windows NT 3.1的最初發(fā)布以前出版)。Inside Windows NT是第一本關(guān)于Windows NT的書(shū)籍,它提供了有關(guān)Windows NT系統(tǒng)的體系結(jié)構(gòu)和設(shè)計(jì)方面的關(guān)鍵要點(diǎn)。Inside Windows NT,Second Edition(Microsoft Press, 1998)是由David Solomon著的。該書(shū)在內(nèi)容上做了更新,涵蓋了Windows NT 4.0,并且大大地提高了技術(shù)深度的層次。Inside Windows 2000,Third Edition(Microsoft Press,2000)是由David Solomon和Mark Russinovich合著的。第3版增加了許多新的話(huà)題,比如啟動(dòng)和停機(jī)、Windows服務(wù)的內(nèi)部機(jī)理、注冊(cè)表的內(nèi)部機(jī)理、文件系統(tǒng)驅(qū)動(dòng)程序、網(wǎng)絡(luò),以及Windows 2000中內(nèi)核的變化,其中,關(guān)于Windows 2000中內(nèi)核的變化,包含了Windows驅(qū)動(dòng)程序模型(WDM,Windows Driver Model)、即插即用、電源管理、Windows管理規(guī)范(WMI,Windows Management Instrumentation)、加密、作業(yè)對(duì)象和終端服務(wù)。第4版的變化這一最新的版本,現(xiàn)在稱(chēng)為“Microsoft Windows Internals(Fourth Edition)”,在內(nèi)容上做了更新,以覆蓋Windows XP和Windows Server 2003中所做的內(nèi)核變化,包括對(duì)于64位系統(tǒng)的支持。練習(xí)用的實(shí)驗(yàn)也相應(yīng)地做了更新,以反映出工具中的變化;新增加的實(shí)驗(yàn)用到了一些在第3版寫(xiě)作時(shí)尚未可用的新工具。由于從Windows 2000到后續(xù)版本之間的內(nèi)核變化相對(duì)較小(與“Windows NT 4.0和Windows 2000之間的變化”相比較而言),所以,本書(shū)中絕大部分內(nèi)容適用于Windows 2000、Windows XP和Windows Server 2003。因此,除非特別聲明,否則一切內(nèi)容都適用于這三個(gè)版本。練習(xí)實(shí)驗(yàn)即使沒(méi)有訪問(wèn)源代碼,你也可以通過(guò)一些工具(比如內(nèi)核調(diào)試器)來(lái)獲得許多有關(guān)Windows內(nèi)部機(jī)理的知識(shí)。每當(dāng)可以通過(guò)一個(gè)工具來(lái)揭示或演示W(wǎng)indows內(nèi)部行為的某一方面時(shí),本書(shū)中的“實(shí)驗(yàn)”輔助章節(jié)就會(huì)列出讓你自己試用該工具時(shí)遵從的步驟。這樣的實(shí)驗(yàn)遍布全書(shū),我們鼓勵(lì)你在閱讀本書(shū)時(shí)試一試這些實(shí)驗(yàn)——看一看Windows內(nèi)部是如何工作的,這比你僅僅讀一遍本書(shū)所得到的印象要深刻得多。本書(shū)沒(méi)有涵蓋的話(huà)題Windows是一個(gè)大而復(fù)雜的操作系統(tǒng)。本書(shū)并沒(méi)有涵蓋與Windows內(nèi)部機(jī)理相關(guān)的一切內(nèi)容,而是把焦點(diǎn)集中在基本的系統(tǒng)組件上。例如,本書(shū)沒(méi)有講述COM+(Windows分布式面向?qū)ο缶幊袒A(chǔ)設(shè)施),也沒(méi)有講述.NET框架(下一代托管代碼的應(yīng)用程序的基礎(chǔ))。因?yàn)檫@是一本講述內(nèi)部機(jī)理的書(shū)籍,不是一本用戶(hù)指南、程序設(shè)計(jì)或系統(tǒng)管理類(lèi)型的書(shū)籍,所以,本書(shū)沒(méi)有描述如何使用、編程或配置Windows。提醒和告誡因?yàn)楸緯?shū)講述的是Windows操作系統(tǒng)中未文檔化的內(nèi)部結(jié)構(gòu)和內(nèi)部操作的行為(比如內(nèi)核結(jié)構(gòu)和函數(shù)),所以,這些內(nèi)容有可能會(huì)在不同的發(fā)行版本中有所變化(外部的接口,比如Windows API,則不會(huì)受到不兼容變化的影響)。說(shuō)到“受版本變化的影響”,我們并不是指,本書(shū)講述的細(xì)節(jié)會(huì)在不同發(fā)行版本中一定有所變化,但是你不能認(rèn)為它們不會(huì)改變。任何使用了這些未文檔化接口的軟件都有可能在將來(lái) 的Windows版本上無(wú)法正常工作。更糟的是,在內(nèi)核模式下運(yùn)行并且用到了這些未文檔化接口的軟件(比如設(shè)備驅(qū)動(dòng)程序)在新的Windows發(fā)行版本中運(yùn)行時(shí)可能會(huì)導(dǎo)致系統(tǒng)崩潰。支持我們做了各種努力來(lái)確保本書(shū)的精確性。如果你遇到了任何問(wèn)題,或者有任何疑問(wèn),請(qǐng)參考下面列出的資源。來(lái)自作者的支持本書(shū)遠(yuǎn)未達(dá)到完美。毫無(wú)疑問(wèn),它包含一些不精確的地方;或者也有可能,我們忽略了一些本該講述的話(huà)題。如果你發(fā)現(xiàn)了任何你認(rèn)為不正確的地方,或者你相信我們應(yīng)該包含一些尚未涵蓋的材料,歡迎發(fā)送電子郵件到windowsinternals@sysinternals.com。本書(shū)的更新和修正將張貼在www.microsoft.com/technet/sysinternals/information.windowsinternals.mspx頁(yè)面上。來(lái)自出版商Microsoft Press的支持Microsoft也通過(guò)Web為本書(shū)提供修正內(nèi)容,地址如下:http://www.microsoft.com/learning/support你可以直接連接到Microsoft學(xué)習(xí)知識(shí)庫(kù)(Microsoft Learning Knowledge Base),針對(duì)你學(xué)習(xí)過(guò)程中可能碰到的問(wèn)題,輸入一個(gè)相關(guān)的查詢(xún)請(qǐng)求,Web地址是:http://www.microsoft.com/learning/support/search.asp。除了直接給作者們發(fā)送反饋信息以外,如果你對(duì)本書(shū)的表述或用途有任何建議、疑問(wèn)或者想法,可以通過(guò)以下任何一種方法將它們發(fā)送給Microsoft。通信地址:Microsoft PressAttn: Windows Internals EditorOne Microsoft WayRedmond, WA 98052-6399電子郵件地址:mspinput@microsoft.com請(qǐng)注意,通過(guò)上述地址并不提供產(chǎn)品支持。關(guān)于Microsoft Windows的支持信息,請(qǐng)?jiān)L問(wèn)www.microsoft.com/windows。你也可以在工作日的太平洋時(shí)間上午6點(diǎn)到下午6點(diǎn)打電話(huà)給(425) 635-7011,呼叫標(biāo)準(zhǔn)支持程序,或者搜索Microsoft的在線支持站點(diǎn):suppport.microssft.com/support。
編輯推薦
★是微軟官方權(quán)威參考書(shū),名著名譯!重量級(jí)專(zhuān)家Mark E.Russinovich, David A.Solomon所著的轟動(dòng)一時(shí)的巨著Windows Internals的第四版,徹底解析Windows Server 2003的內(nèi)部結(jié)構(gòu)?! 颳indows系統(tǒng)之父、微軟公司平臺(tái)開(kāi)發(fā)副總裁Jim Allchin撰文推薦! ★微軟公司Senior Distinguished Engineer、Windows NT 首席設(shè)計(jì)師David N. Cutler撰文推薦! “本書(shū)是有關(guān)Windows內(nèi)部機(jī)理核心的權(quán)威之作。如果你想要知道Windows內(nèi)部是如何工作的,那么,這就是你想要的書(shū)。……如果你跟我一樣,想要“深入淺出”地看一看Windows,那么,這本書(shū)正好是你的一個(gè)起點(diǎn)?!? ——Windows系統(tǒng)之父、Windows平臺(tái)開(kāi)發(fā)副總裁Jim Allchin “每一位認(rèn)真的操作系統(tǒng)開(kāi)發(fā)人員都應(yīng)該在他或她的案頭有這本書(shū)?!? ——微軟公司Senior Distinguished Engineer、Windows NT首席設(shè)計(jì)師David N. Cutler! ! 《深入解析:Windows操作系統(tǒng)》(第4版)是國(guó)內(nèi)知名譯者潘愛(ài)民先生譯作 Windows系統(tǒng)之父Jim Allchin親自撰文推薦! Windows NT首席設(shè)計(jì)師David N. Cutler親自撰文推薦! 深入解析Windows操作系統(tǒng)!徹底揭開(kāi)Windows技術(shù)內(nèi)幕! Csdn、博客堂、博客園、《程序員》雜志鼎力推薦!
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版