出版時間:2010-11 出版社:電子工業(yè)出版社 作者:王雷 頁數(shù):235
前言
隨著計算機(jī)系統(tǒng)的廣泛應(yīng)用和普及,作為計算機(jī)系統(tǒng)軟件基礎(chǔ)的計算機(jī)操作系統(tǒng),受到了軟件行業(yè)技術(shù)人員的廣泛重視。隨著開放源代碼方式的興起,在操作系統(tǒng)方面除了Linux系統(tǒng)之外,2005年Sun公司的Solaris10系統(tǒng)也全部開放了源代碼。微軟公司也在2006年開放了Windows操作系統(tǒng)的部分源代碼,該系統(tǒng)命名為WRK(WindowsResearchKernel)。因此我們也有機(jī)會看到商業(yè)操作系統(tǒng)的代碼,并可以將它們與Linux系統(tǒng)進(jìn)行比較。作者曾在1999年負(fù)責(zé)一個將Linux移植新硬件平臺的項目,開始對Linux操作系統(tǒng)內(nèi)核有了比較深入的了解。2001年應(yīng)微軟亞洲研究院的邀請,參加了Windows2000及以后的WindowsServer2003的代碼分析工作。2006年微軟開放了WRK系統(tǒng),作者分析了內(nèi)存管理和線程切換部分,并設(shè)計了工作集和Continuation實驗。2006年應(yīng)Sun中國工程院邀請,參加了Solaris文件系統(tǒng)的分析工作。在這些工作的基礎(chǔ)上,作者一直想把這些操作系統(tǒng)放到一起進(jìn)行比較,定量地分析它們之間性能的差異,從而可以更深入地理解操作系統(tǒng)的設(shè)計。2007年,作者在北京航空航天大學(xué)為研究生開設(shè)了“操作系統(tǒng)結(jié)構(gòu)分析”課程,這幾年一直在進(jìn)行這幾個系統(tǒng)的比較工作。但是這項工作的難度超過作者的想象,因此本書成書比較倉促,很多運行結(jié)果作者也無法說明其中的原因,只好選擇了在一個單CPU機(jī)器上的運行結(jié)果進(jìn)行分析。如果讀者對此感興趣,可以來信共同探討。全書共分為5章:第1章概述,簡單介紹了Linux、WRK和Solaris的系統(tǒng)結(jié)構(gòu)和特點。第2章過程控制,介紹了三個操作系統(tǒng)中進(jìn)程與線程的數(shù)據(jù)結(jié)構(gòu)、創(chuàng)建過程、調(diào)度與切換過程及同步機(jī)制。第3章分析了三個操作系統(tǒng)的內(nèi)存地址布局、地址變換、頁錯誤處理、用戶與內(nèi)核內(nèi)存管理、物理內(nèi)存管理等方面。第4章描述了三個操作系統(tǒng)的文件系統(tǒng)模型、文件系統(tǒng)與文件的相關(guān)數(shù)據(jù)結(jié)構(gòu)、文件系統(tǒng)相關(guān)系統(tǒng)調(diào)用等。第5章介紹了一些常用的評測基準(zhǔn),對三個操作系統(tǒng)的系統(tǒng)調(diào)用、進(jìn)程創(chuàng)建、內(nèi)存訪問、頁錯誤處理、文件創(chuàng)建及讀/寫等進(jìn)行了測試,并根據(jù)三個操作系統(tǒng)的結(jié)構(gòu)特征對測試結(jié)果進(jìn)行了分析。
內(nèi)容概要
本書為北京市高等教育精品教材立項項目和北京航空航天大學(xué)精品課程建設(shè)成果。全書具體分析了Linux、WRK和Solaris三個操作系統(tǒng),并對它們的性能進(jìn)行了評測。書中沒有介紹操作系統(tǒng)的基本原理,而是以Linux、WRK和Solaris為實例,結(jié)合源代碼直接分析了Linux、WRK和Solaris的進(jìn)程管理、內(nèi)存管理和文件系統(tǒng)模塊。通過對LMbench等測試用例的裁剪,針對三個操作系統(tǒng)進(jìn)行了微觀和宏觀的性能評測。結(jié)合三個操作系統(tǒng)的實現(xiàn)細(xì)節(jié),分析了產(chǎn)生性能差異的原因。 本書適合作為高年級本科生、研究生操作系統(tǒng)課程的教材或參考書,也可以作為軟件專業(yè)人員分析操作系統(tǒng)源代碼的參考資料。
書籍目錄
第1章 概述 1.1 Linux 1.2 WRK 1.3 Solaris 1.4 本書的組織第2章 進(jìn)程管理 2.1 Linux進(jìn)程管理 2.1.1 進(jìn)程控制塊 2.1.2 Iinux的進(jìn)程創(chuàng)建 2.1.3 Iinux的進(jìn)程狀態(tài)變化圖 2.1.4 Linux進(jìn)程調(diào)度 2.1.5 Linux進(jìn)程切換 2.1.6 Linux的線程 2.2 windows進(jìn)程管理 2.2.1 WRK的進(jìn)程 2.2.2 WRK的線程 2.2.3 WRK進(jìn)程創(chuàng)建 2.2.4 WRK的線程調(diào)度 2.2.5 線程切換 2.2.6 WRK中的同步 2.3 Solaris進(jìn)程管理 2.3.1 Solaris進(jìn)程與線程 2.3.2 相關(guān)數(shù)據(jù)結(jié)構(gòu) 2.3.3 進(jìn)程創(chuàng)建 2.3.4 Solairs的線程調(diào)度 2.3.5 Solaris的進(jìn)程與線程切換 2.3.6 Solairs內(nèi)核同步機(jī)制第3章 存儲管理 3.1 Linux存儲管理 3.1.1 Linux進(jìn)程的虛存空間及劃分 3.1.2 Linux進(jìn)程用戶空間的管理 3.1.3 Linux的頁錯誤處理 3.1.4 Linux的物理內(nèi)存管理 3.1.5 交換機(jī)制 3.2 wRK內(nèi)存管理 3.2.1 32位地址空間的布局 3.2.2 32位地址轉(zhuǎn)換機(jī)制 3.2.3 體系結(jié)構(gòu)兼容性設(shè)計 3.2.4 用戶空間內(nèi)存分配方式 3.2.5 系統(tǒng)內(nèi)存分配 3.2.6 頁錯誤處理 3.2.7 工作集 3.2.8 物理內(nèi)存管理 3.3 solaris的內(nèi)存管理 3.3.1 虛擬內(nèi)存管理 3.3.2 虛地址到物理地址的變換 3.3.3 物理內(nèi)存 3.3.4 內(nèi)核內(nèi)存管理第4章 文件系統(tǒng) 4.1 Linux文件系統(tǒng) 4.1.1 主要數(shù)據(jù)結(jié)構(gòu) 4.1.2 VFS基本工作框架 4.1.3 Ext3結(jié)構(gòu)分析 4.1.4 Linux系統(tǒng)的文件操作 4.2 windows文件系統(tǒng) 4.2.1 WindowsFSD體系結(jié)構(gòu) 4.2.2 NTFS 4.3 solaris文件系統(tǒng) 4.3.1 Solaris文件系統(tǒng)框架 4.3.2 UFS文件系統(tǒng) 4.3.3 ZFS文件系統(tǒng)第5章 Linux、WRK和Solaris性能評測 5.1 測試基準(zhǔn)簡介 5.2 測試硬件設(shè)備 5.3 微觀測試 5.3.1 微觀測試程序 5.3.2 微觀評測方法及相關(guān)工具 5.3.3 微觀測試結(jié)果 5.4 綜合測試 5.5 小結(jié)參考文獻(xiàn)
章節(jié)摘錄
插圖:1995年以前,John Ousterhout開發(fā)的程序包能夠評測操作系統(tǒng)的性能。該程序包獨立了一系列OS-Kemel原語,能得到原語的部分性能。但該程序的測試結(jié)果非常粗略,不能通過它獲得硬件的性能特征。1995年,McVoy發(fā)布了專門進(jìn)行操作系統(tǒng)性能評測的軟件包LMbench。該軟件包提供一些精干的小程序來評測系統(tǒng)硬件和OS原語的性能。LMbench把操作系統(tǒng)分解為與硬件性能密切相關(guān)的原語,針對每個原語進(jìn)行詳細(xì)評測,測試結(jié)果反映了操作系統(tǒng)與硬件設(shè)備的關(guān)系。LMbench能夠針對不同的UNIX系統(tǒng)進(jìn)行系統(tǒng)級別的評測,可以測試包括文件讀寫、內(nèi)存操作、進(jìn)程創(chuàng)建銷毀開銷、網(wǎng)絡(luò)等性能。同時,為了保證LMbench的測量結(jié)果更為準(zhǔn)確,LMbench采用了兩種統(tǒng)計方法對測量值加以處理:一是LMbench保留的統(tǒng)計值(100-2n)%,即是將結(jié)果中的最好值和最差值的,n%去掉,在通常的情況下n=10;二是為保證測量的準(zhǔn)確性,LMbench將測量結(jié)果中顯著背離的情況控制在一定范圍內(nèi),使顯著背離的情況不超過1%。基于LMbench的工作,后來提出的hbench在思想和基準(zhǔn)測試代碼本身上發(fā)生了顯著的改變:包括LMbench中幾個bug修正(如bw-ile-rd和lat-ctx這兩個重要修正);擴(kuò)大了測試基準(zhǔn)的范圍(包括L1/L2高速緩存帶寬和更多的系統(tǒng)調(diào)用測試),以及在批量數(shù)據(jù)傳輸設(shè)計中可變的傳輸緩沖區(qū);更加靈活的數(shù)據(jù)采集與分析;所有的結(jié)果數(shù)據(jù)通過內(nèi)置或用戶定義的數(shù)據(jù)減少政策保存下來使能夠進(jìn)行離線分析;對數(shù)據(jù)進(jìn)行更加嚴(yán)格的統(tǒng)計處理;基準(zhǔn)重構(gòu)以維護(hù)內(nèi)部基準(zhǔn)一致性;可以動態(tài)調(diào)整基準(zhǔn)大小以克服時間分辨度低的問題;支持在一臺獨立于機(jī)器的框架中的硬件周期計數(shù)器和事件計數(shù)器(雖然目前只適用于英特爾奔騰和更高架構(gòu))等特點。
編輯推薦
《操作系統(tǒng)分析》:高等學(xué)校工程創(chuàng)新“十二五”規(guī)劃計算機(jī)教材
圖書封面
評論、評分、閱讀與下載