- 論壇徽章:
- 0
|
《Solaris內(nèi)核結(jié)構(gòu)》的最佳伴侶\r\n學(xué)習(xí)和使用Solaris 10 的得力助手\r\n\r\n本書是《Solaris內(nèi)核結(jié)構(gòu)第2版》的配套出版物,這兩本書合起來提供了Solaris及OpenSolaris操作環(huán)境的最優(yōu)秀、最全面的介紹!禨olaris內(nèi)核結(jié)構(gòu) 第2版》深入探索了Solaris操作系統(tǒng)的內(nèi)部原理和體系結(jié)構(gòu);本書闡釋了大量實用工具的使用,為內(nèi)核開發(fā)人員、系統(tǒng)程序員和系統(tǒng)管理員提供了全面而深入的指南。 \r\n本書全面介紹了Solaris 10和OpenSolaris中的強大工具,包括Solaris動態(tài)跟蹤工具DTrace和模塊調(diào)試器MDB。通過閱讀本書,讀者將學(xué)會:分析內(nèi)核和應(yīng)用程序的CPU利用率,掌握進程級資源的使用和分析,理解并分析磁盤IO行為以及系統(tǒng)和應(yīng)用程序級的內(nèi)存使用、網(wǎng)絡(luò)性能,監(jiān)視、分析以及收集內(nèi)核數(shù)據(jù)等。\r\n 本書適合使用Solaris操作系統(tǒng)的各類技術(shù)人員閱讀。\r\n\r\n《Solaris 性能和工具》提供了在Solaris 10和Open Solaris中捆綁的強有力工具的全面完整的介紹,包括Solaris動態(tài)跟蹤工具,DTrace,和模塊化調(diào)試器,MDB。它提供了理解性能和行為的系統(tǒng)性方法,包括:\r\n 分析內(nèi)核和應(yīng)用程序的CPU利用率,包括讀取和理解硬件計數(shù)器\r\n 進程級資源使用和概要描述\r\n 磁盤IO行為和分析\r\n 系統(tǒng)和應(yīng)用程序級的內(nèi)存使用\r\n 網(wǎng)絡(luò)性能\r\n 內(nèi)核監(jiān)視和概要描述,收集內(nèi)核統(tǒng)計數(shù)據(jù)\r\n 使用內(nèi)核提供者和聚集\r\n MDB命令和完整的MDB指南\r\n《Solaris 內(nèi)核結(jié)構(gòu)》兩本書是任何使用Solaris 10和Open Solaris的人的出色參考。\r\n專家評論\r\n\r\n“本書對Solaris(以及Open Solaris)操作環(huán)境做了最佳且最全面的講解。任何水平的Solaris使用者,都別忘了把本書及其配套書籍《Solaris性能與工具》加入個人收藏。利用Solaris中的先進觀測工具(比如DTrace),你常常會發(fā)現(xiàn)自己正身處未知的領(lǐng)域,而本書則為我們提供了快速了解這些系統(tǒng)和深入研究Solaris體系結(jié)構(gòu)(及OpenSolaris)的絕妙方式!盶r\n ——Jarod Jenson, Aeysis總系統(tǒng)架構(gòu)師\r\n\r\n“如果你想深入了解Solaris操作系統(tǒng)內(nèi)核和體系結(jié)構(gòu),那么本書絕對是必需品。作為一名長年研究UNIX系統(tǒng)的資深工程師,我認為本書第1版為內(nèi)核開發(fā)者、系統(tǒng)程序員和系統(tǒng)管理員提供了最全面的資料;而第2版及其配套書籍《Solaris性能與工具》更是必不可少的參考資料,其中含有很多關(guān)于Solaris及其基礎(chǔ)子系統(tǒng)(包括那些可用于觀察和分析任何正在運行Solaris 10或OpenSolaris的系統(tǒng)的工具及方法)的實用講解! \r\n ——Marc Strahl, UNIX系統(tǒng)高級工程師\r\n\r\n關(guān)于作者\r\n\r\n如果Richard McDougall生活在100年以前,他會打開第一輛四沖程內(nèi)燃機驅(qū)動的車輛的蓋子,探索新技術(shù)以作出改進。他會尋找簡單的辦法解決復(fù)雜的問題,幫助創(chuàng)業(yè)者們理解技術(shù)是如何從他們的新經(jīng)驗中獲得最大化收益的。現(xiàn)在,Richard用技術(shù)來滿足他的好奇心。他是Sun公司的杰出工程師,專注于操作系統(tǒng)技術(shù)和系統(tǒng)性能。\r\n\r\nJim Mauro是Sun公司“性能、體系結(jié)構(gòu)和應(yīng)用工程組”的資深Staff工程師,他最近的工作集中在Opteron平臺上的Solaris性能,特別是在文件系統(tǒng)和磁盤原始IO性能領(lǐng)域。Jim的興趣包括操作系統(tǒng)調(diào)度和線程支持、多線程應(yīng)用程序、文件系統(tǒng)和操作系統(tǒng)觀察工具。興趣之外,他還熱衷于讀書和音樂—聽唱盤是Jim的首選,并且他仍在購買和播放12英寸的乙烯基唱片。他與妻子和兩個兒子住在新澤西。在寫作和工作之余,Jim會處理他的家人在使用家庭網(wǎng)絡(luò)和打印機時遇到的麻煩。\r\n\r\nBrendan Gregg是Solaris咨詢師和在澳大利亞和亞洲為Sun公司講授課程的講師。他同時也是OpenSolaris的撰稿人和社區(qū)領(lǐng)導(dǎo)者,他編寫了無數(shù)的軟件包,包括DTraceToolkit。他愛好多種體育運動,在悉尼的家中訓(xùn)練擊劍。 \r\n原 序\r\n過去十年來,人們對操作系統(tǒng)普遍有一種誤解,認為它已經(jīng)是一個已完成、已解決的問題,雖然操作系統(tǒng)仍能引起人們的興趣。產(chǎn)生這種想法的原因是多方面的,但其中最大的因素可能只是因為操作系統(tǒng)沒有被理解;在很大程度上它們不是作為透明系統(tǒng),而是作為專有的黑盒子發(fā)布的,甚至無法滿足人們簡單的好奇心。這與理解操作系統(tǒng)是格格不入的;如果某項事物不能被分解,即它的內(nèi)部工作機制是隱藏的,那么它的復(fù)雜結(jié)構(gòu)和工程上的細微差別將很難被理解。對于軟件系統(tǒng)尤其如此,它們甚至不能在傳統(tǒng)的意義上被分解。盡管軟件的象征意義是信息而不是機器,但一個封閉的軟件系統(tǒng)就像一個工程化的系統(tǒng)一樣不易被理解。\r\n\r\n這就是Solaris大約在2000年時的狀況,它確實沒有被很好地理解。它的內(nèi)部結(jié)構(gòu)和工作機制僅僅在令人費解的注釋或者舊的USENIX論文中公開描述過,它的行為對于當時的工具是不透明的,源代碼深藏于“密室”之中。從2000年開始,情況開始(可能是慢慢地)好轉(zhuǎn)—這部分歸功于Jim Mauro和Richard McDougall的《Solaris內(nèi)核結(jié)構(gòu)第1版》所開創(chuàng)的先河。Jim和Richard面臨極大的挑戰(zhàn)—描述一個如此復(fù)雜的系統(tǒng),而事實上卻沒有一個人真正理解它的全部。在寫作過程中,Jim和Richard認識到一本書根本不能完全涵蓋它。盡管內(nèi)容一再壓縮(例如不包括網(wǎng)絡(luò)部分),《Solaris內(nèi)核結(jié)構(gòu)第1版》仍然厚達600頁以上。\r\n\r\n《Solaris內(nèi)核結(jié)構(gòu)》的出版標志著過去十年的前五年是加速變化的開始,使用和理解Solaris的障礙已經(jīng)被清除。Solaris成為自由軟件,它的工程師們開始通過新的媒體(如博客)廣泛談?wù)撍膶崿F(xiàn),最重要的是,Solaris本身在2005年6月成為開源軟件,成為第一個從專有轉(zhuǎn)變?yōu)殚_放的操作系統(tǒng)。同時,Solaris的機制變得更加有趣,幾項革命性的新技術(shù)在Solaris 10中首次亮相。這些技術(shù)動搖了很多人的懷疑,并證明了操作系統(tǒng)仍然保持活力。當然,仍有一些困難的、重要的問題有待解決。\r\n\r\n如果將2000年看作是Solaris變化的開始,2005年就可以看作是這一開始的終結(jié)。到2005年末,曾經(jīng)看起來已完成的專有產(chǎn)品已轉(zhuǎn)化為一個令人激動的、開源的系統(tǒng),系統(tǒng)的潛能使其更具有活力。恰巧《Solaris內(nèi)核結(jié)構(gòu)第2版》迎來了這些變化。面對一項異常艱巨的任務(wù),即如何反映五年來的大規(guī)模的工程變化,Jim和Richard做出一個重要決定—他們邀請那些設(shè)計子系統(tǒng)和編寫代碼的工程師給予幫助,其中的一些章節(jié)完全是由這些工程師們在自己所設(shè)計的子系統(tǒng)的基礎(chǔ)上編寫的。得益于此,《Solaris內(nèi)核結(jié)構(gòu)第2版》成為一部得到極大擴展且具有高度權(quán)威性的專著—同時很好地保持了社區(qū)開發(fā)和寫作這一新的Solaris時代精神。\r\n\r\n就我個人而言,我很高興看到Jim和Richard使用了DTrace,Mike Shapiro、Adam Leventhal和我在Solaris 10中開發(fā)了這項技術(shù)。Mike、Adam和我都曾是操作系統(tǒng)課的助教,我們有過一個非公開的目標,即開發(fā)一個教學(xué)工具以徹底改變操作系統(tǒng)的教學(xué)方式。因此,我鼓勵讀者不僅僅是要讀《Solaris內(nèi)核結(jié)構(gòu)》,還要下載Solaris,在臺式機、筆記本或虛擬機上運行它,并使用DTrace在自己的機器上親自看看Jim和Richard描述的概念!\r\n\r\n不管你是學(xué)生還是專業(yè)技術(shù)人員,是因為課程、工作還是因為好奇來讀此書,我都很高興大家能閱讀這本Solaris內(nèi)部機制的指南。享受這一過程,并記住Solaris并不是一件已終止的工作,而是一項不斷發(fā)展的技術(shù)。如果讀者有興趣加速這一發(fā)展,或者僅僅是對于使用或理解Solaris有問題,請加入我們在http://www.opensolaris.org的很多社區(qū)。歡迎您的到來!\r\n\r\n\r\nBryan Cantrill\r\n舊金山,加州\r\n2006年6月 \r\n前 言\r\n本書是《Solaris內(nèi)核結(jié)構(gòu)第2版》的配套出版物,歡迎大家閱讀這兩本書!禨olaris內(nèi)核結(jié)構(gòu)第1版》出版已近五年,在此期間,我們有機會與很多Solaris用戶、軟件開發(fā)者、系統(tǒng)管理員、數(shù)據(jù)庫管理員、性能分析師,甚至偶爾的內(nèi)核黑客進行溝通。我們對所有的反饋表示感謝,而且,基于讀者的意見,我們對這一版的格式和內(nèi)容專門做了修改。讀下去就會知道兩本書有哪些不同。我們期待與Solaris社區(qū)繼續(xù)交流。\r\n\r\n關(guān)于這兩本書\r\n\r\n這兩本書討論的是Sun的Solaris操作系統(tǒng)—特別是SunOS內(nèi)核。Solaris的其他組成部分,如桌面的窗口系統(tǒng),不在本書討論范圍內(nèi)!禨olaris內(nèi)核結(jié)構(gòu)第1版》涵蓋了Solaris 2.5.1、2.6和Solaris 7,F(xiàn)在這兩本書重點介紹Solaris 10,包括Solaris 8和Solaris 9的更新信息。\r\n\r\n在《Solaris內(nèi)核結(jié)構(gòu)第1版》中,我們不僅想要描述使Solaris內(nèi)核運轉(zhuǎn)的內(nèi)部組成單元,而且還提供實用的指導(dǎo)。該書的第2版也同樣如此,并更加強調(diào)使用捆綁的(在某些情況下是非捆綁的)工具和實用程序,以用于檢查和探測一個運行中的系統(tǒng)。我們能夠使用觀察工具說明更多的內(nèi)核內(nèi)部工作,在很大程度上得力于加入到Solaris 10中的革命性和創(chuàng)新性的技術(shù)—DTrace這一動態(tài)的內(nèi)核跟蹤框架。DTrace是Solaris 10中的多項新技術(shù)之一,在這兩本書中有大量應(yīng)用。\r\n\r\n在《Solaris內(nèi)核結(jié)構(gòu)第2版》寫作過程中,我們得到幾位朋友和同事的幫助,他們大都從事Solaris內(nèi)核工作,他們的專業(yè)技術(shù)和指導(dǎo)為這兩本書的質(zhì)量和內(nèi)容做出了巨大貢獻。我們自己也不斷地擴展主題,演示dtrace(1)、mdb(1)、kstat(1)以及其他捆綁工具的使用。因此,我們很早就決定要介紹這些工具,一些章節(jié)為讀者提供了有關(guān)這些工具和實用程序所需要的背景信息。自此,使用工具對性能和系統(tǒng)行為進行分析發(fā)展成為一整章。\r\n\r\n本書臨近結(jié)稿時,我們遇到了一個小問題—書的厚度。書太厚了,這給書的出版和印刷帶來了一些問題。與出版商討論后,我們決定將書分為兩冊。\r\n\r\n《Solaris內(nèi)核結(jié)構(gòu)第2版》。這是對第1版的更新,包含大量新材料。包括所有主要的內(nèi)核子系統(tǒng):虛擬內(nèi)存系統(tǒng)(VM)、進程與線程、內(nèi)核調(diào)度程序與調(diào)度類、文件系統(tǒng)與虛擬文件系統(tǒng)(VFS)框架,以及核心內(nèi)核工具。還包括新的Solaris資源管理工具,關(guān)于網(wǎng)絡(luò)的新的一章。Solaris 8和Solaris 9中的新特性安排在正文中恰當?shù)牡胤健r\n\r\n《Solaris性能與工具》中描述的用于性能和分析工作的實用程序和工具的例子也會在《Solaris內(nèi)核結(jié)構(gòu)》中使用。\r\n\r\n《Solaris性能與工具》。描述了Solaris 10中捆綁的實用程序和工具:dtrace(1)、mdb(1)、kstat(1)等。有些章節(jié)詳細描述了如何使用這些工具分析Solaris系統(tǒng)性能和行為。\r\n\r\n這兩本書可以搭配使用,并可與位于http://www.opensolaris.org的Solaris源代碼配合使用。對Solaris 8之前的某個版本感興趣的讀者應(yīng)該繼續(xù)使用《Solaris內(nèi)核結(jié)構(gòu)第1版》作為參考。\r\n\r\n面向的讀者群\r\n\r\n我們相信這兩本書將為工作在Solaris操作系統(tǒng)上的各類技術(shù)人員提供有用的參考。\r\n\r\n應(yīng)用程序開發(fā)者能夠在這兩本書中找到應(yīng)用編程界面之后的Solaris操作系統(tǒng)如何實現(xiàn)函數(shù)的信息。這些信息幫助開發(fā)者在開發(fā)Solaris應(yīng)用程序時,理解每個界面的性能、可擴展性和實現(xiàn)細節(jié)。系統(tǒng)概覽和關(guān)于調(diào)度、進程間通信、文件系統(tǒng)等對這類讀者來說是最有用的章節(jié)。\r\n\r\n設(shè)備驅(qū)動和內(nèi)核模塊開發(fā)者(負責開發(fā)驅(qū)動程序、STREAMS模塊、可裝入系統(tǒng)調(diào)用,等等),能夠在這里找到Solaris操作系統(tǒng)的總體體系結(jié)構(gòu)和實現(xiàn)理論。這兩本書的Solaris 內(nèi)核框架和實用程序部分(特別是鎖和同步原語涉及的章)尤其有用。\r\n\r\n系統(tǒng)管理員、系統(tǒng)分析師、數(shù)據(jù)庫管理員和企業(yè)資源規(guī)劃(ERP)經(jīng)理(負責性能調(diào)優(yōu)和負載規(guī)劃),能夠?qū)W到主要的Solaris 子系統(tǒng)的行為特征。文件系統(tǒng)緩存和內(nèi)存管理各章提供了大量Solaris在實際環(huán)境中行為的信息。Solaris可調(diào)參數(shù)后面的算法在兩本書中進行了深入討論。\r\n\r\n技術(shù)支持人員(負責診斷、調(diào)試和支持Solaris)將發(fā)現(xiàn)大量關(guān)于Solaris實現(xiàn)細節(jié)的信息。每一章中提供的主要的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)流程圖可幫助調(diào)試和操作Solaris系統(tǒng)。\r\n\r\n想知道更多關(guān)于Solaris內(nèi)核工作的系統(tǒng)用戶,將在每一章的開頭找到高層次的概述。\r\n\r\n除了技術(shù)用戶社區(qū)之外,在學(xué)術(shù)界研究操作系統(tǒng)的人員將發(fā)現(xiàn)本書內(nèi)容是很好的參考。Solaris操作系統(tǒng)是一個健壯、功能豐富且大量發(fā)行的操作系統(tǒng),適用于不同的工作負載,從單處理器臺式機到具有大量內(nèi)存和輸入/輸出配置的龐大多處理器系統(tǒng)。Solaris操作系統(tǒng)為商業(yè)數(shù)據(jù)處理、Web服務(wù)、網(wǎng)絡(luò)服務(wù)和科學(xué)計算負載提供的健壯性和可擴展性在業(yè)界是首屈一指的。研究這一操作系統(tǒng)可以學(xué)到很多知識。\r\n\r\nOpenSolaris\r\n\r\n在2005年6月,Sun公司推出了OpenSolaris,由開放源代碼構(gòu)建的全功能的Solaris操作系統(tǒng)版本。作為OpenSolaris第一步的一部分,Solaris源代碼通過一個開放許可供公開使用。這對這兩本書有幾個明顯的好處。我們可以在適當?shù)臅r候?qū)olaris源代碼直接包含在書中,同樣可以指向全部的源代碼清單。\r\n\r\n通過OpenSolaris(一個世界范圍的開發(fā)者社區(qū))可以訪問Solaris源代碼,開發(fā)者能夠為他們感興趣的操作系統(tǒng)的任何組成部分做出貢獻。源代碼的可訪問性使我們能夠組織這兩本書的結(jié)構(gòu),交叉引用特定的源代碼文件(可以具體到源代碼樹的行號)。\r\n\r\nOpenSolaris代表了技術(shù)專家世界的一個意義深遠的里程碑;一個世界級、成熟、健壯且功能豐富的操作系統(tǒng)現(xiàn)在向所有希望使用Solaris的人敞開了大門,人們可以探討它并為它的發(fā)展做出貢獻。\r\n\r\n訪問OpenSolaris網(wǎng)站可以學(xué)到更多的關(guān)于OpenSolaris的知識:\r\n\r\nhttp://www.opensolaris.org\r\n\r\nOpenSolaris源代碼可以在http://cvs.opensolaris.org/source獲得。這兩本書中對源代碼的引用是相對于上面的開始位置的。\r\n\r\n書的組織\r\n\r\n我們將《Solaris內(nèi)核結(jié)構(gòu)》分為幾個邏輯部分,將內(nèi)容相關(guān)的章節(jié)組織在同一部分。我們的目標是提供一種積木式的方法,后面可以基于前面的內(nèi)容深入。然而,對于熟悉操作系統(tǒng)設(shè)計和實現(xiàn)的特定讀者而言,各個部分和章節(jié)可以根據(jù)需要單獨使用。 更新和相關(guān)材料\r\n\r\n作為這兩本書的補充,我們建立了一個網(wǎng)站,內(nèi)容包括更新的材料、我們引用的工具和指向相關(guān)材料的鏈接。我們會定期更新網(wǎng)站(http://www.solarisinternals.com),及時反映這兩本書和將來在Solaris內(nèi)核方面的工作信息。網(wǎng)站會增加一個關(guān)于這兩本書的FAQ論壇,以及關(guān)于Solaris內(nèi)核結(jié)構(gòu)、性能和行為的一般問題。如果在這兩本書中發(fā)現(xiàn)了錯誤,我們會把勘誤表放到網(wǎng)站上去。\r\n\r\n作者的話\r\n\r\n時間和精力上的巨大投入再一次為作者帶來了好的回報。Sun的Solaris內(nèi)核開發(fā)組、Solaris用戶社區(qū)和第一版讀者的支持使我們極其欣慰。我們相信,從為Solaris用戶提供有價值的信息的角度說,我們在第2版中會更加成功。在協(xié)作過程中,我們確實豐富了我們的知識,而且,我們期待讀者的反饋。 \r\n\r\n\r\n樣章下載\r\nhttp://bsd.yarshure.com/solaris.rar\n\n[ 本帖最后由 yarshure 于 2007-6-15 10:38 編輯 ] |
|