發表於2024-12-22
書[0名0]: | Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理([0第0]2版)|3767800 |
圖書定價: | 89元 |
圖書作者: | [親斤]設計團隊 |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2013/5/1 0:00:00 |
ISBN號: | 9787111421764 |
開本: | 16開 |
頁數: | 455 |
版次: | 2-1 |
內容簡介 |
《Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理([0第0]2版)》的[0第0]1版廣獲好[0評0],版[0[0權0]0]被中[0國0]颱灣和美[0國0]兩傢[0大0]型齣版社引進,[0第0]2版根據讀者的反饋和作者對操作係統的[親斤]研究成果對[0第0]1版進行瞭[0大0]幅[0優0]化和重寫,使其內容質量更上一層樓。本書在眾多關於Linux內核的書中[0獨0]樹一幟,它在世界範圍內[0首0]次提齣並闡述瞭操作係統設計的核心指導思想——主奴 [1機1] 製,這是所有操作係統研究者的一筆寶貴財富。它也是一本能真正引導我們較為容易地、[0極0]為透徹地理解Linux內核的經典之作,也可能是[0當0]前能從本質上指引我們去設計和開發擁有自主[0知0]識産[0[0權0]0]的操作係統的著作。 《Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理([0第0]2版)》的[0大0]特點是它的寫作方式和內容組織方式與同類書完全不同。它在深刻地分析瞭傳統講解方[0法0]的利弊之後,破舊立[親斤],從認[0知0][0學0]的角度開創瞭一種全[親斤]的方式。以操作係統的真實運行過程為主綫,結閤真實的內核源代碼、300餘幅精確的內核運行時序圖和具有點睛之妙的文字說明,對操作係統從開 [1機1] 加電到係統完全準備就緒,及運行用戶程序的整個過程進行瞭係統而完整地分析,深刻地揭示瞭其間每一個動作的設計意圖和實現原理,完美地再現瞭操作係統設計者的設計思路。閱讀本書就如同跟隨著操作係統設計者一起去思考,我們[0會0]在閱讀的過程中發現Linux內核設計的精妙,[0會0]發現原來處處都“暗藏玄 [1機1] ”,哪怕是一行很短的代碼。 《Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理([0第0]2版)》在所有細節上都力求完美。為瞭保證[0知0]識的準確性,操作係統運行過程中的每個動作都經過瞭嚴格的考證;為瞭讓我們真正理解Linux內核的原理,它突破傳統,以Linux的真實運行過程為主綫進行講解;為瞭做到真正易於理解,創[親斤]性地使用瞭圖解的方式,精心繪製瞭300餘幅分辨率600dpi的時序圖,圖中錶現的運行時結構和狀態與操作係統實際運行時的真實狀態完全吻閤;為瞭提高閱讀體驗,本書采用瞭[0[0雙0]0]色印刷,以便於我們更清楚地觀察每一幅圖中的細節。 |
目錄 |
《Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理([0第0]2版)》 前 言 [0第0]1章 從開 [1機1] 加電到執行 main函數之前的過程1 1.1 啓動BIOS,準備實模式下的中斷嚮量錶和中斷服務程序1 1.1.1 BIOS的啓動原理2 1.1.2 BIOS 在內存中加載中斷嚮量錶和中斷服務程序3 1.2 加載操作係統內核程序並為保護模式做準備5 1.2.1 加載部分內核代碼——引導程序(bootsect)5 1.2.2 加載[0第0]二部分內核代碼——setup7 1.2.3 加載[0第0]三部分內核代碼——system模塊13 1.3 開始嚮32位模式轉變,為main函數的調用做準備17 1.3.1 關中斷並將system移動到內存地址起始位置0x0000017 1.3.2 設置中斷描述符錶和全局描述符錶19 1.3.3 打開A20,實現32位尋址21 1.3.4 為保護模式下執行head.s做準備23 1.3.5 head.s開始執行26 1.4 本章小結44 [0第0]2章 設備環境初始化及激活進程045 2.1 設置根設備、硬盤46 2.2 規劃物理內存格局,設置緩衝區、虛擬盤、主內存46 2.3 設置虛擬盤空間並初始化48 2.4 內存管理結構mem_map初始化50 2.5 異常處理類中斷服務程序掛接51 2.6 初始化塊設備請求項結構57 2.7 與建立人 [1機1] 交互界麵相關的外設的中斷服務程序掛接59 2.7.1 對串行口進行設置59 2.7.2 對顯示器進行設置60 2.7.3 對鍵盤進行設置61 2.8 開 [1機1] 啓動時間設置63 2.9 初始化進程065 2.9.1 初始化進程068 2.9.2 設置時鍾中斷71 2.9.3 設置係統調用總入口71 2.10 初始化緩衝區管理結構73 2.11 初始化硬盤75 2.12 初始化軟盤77 2.13 開啓中斷78 2.14 進程0由0特[0[0權0]0]級翻轉到3特[0[0權0]0]級,成為真正的進程78 2.15 本章小結80 [0第0]3章 進程1的創建及執行81 3.1 進程1的創建81 3.1.1 進程0創建進程181 3.1.2 在task[64]中為進程1申請一個空閑位置並獲取進程號87 3.1.3 調用copy_process函數89 3.1.4 設置進程1的分頁管理94 3.1.5 進程1共享進程0的文件99 3.1.6 設置進程1在GDT中的錶項99 3.1.7 進程1處於就緒態100 3.2 內核次做進程調度103 3.3 輪轉到進程1執行107 3.3.1 進程1為安裝硬盤文件係統做準備109 3.3.2 進程1格式化虛擬盤並更換根設備為虛擬盤135 3.3.3 進程1在根設備上加載根文件係統138 3.4 本章小結151 [0第0]4章 進程2的創建及執行152 4.1 打開終端設備文件及復製文件句柄152 4.1.1 打開標準輸入設備文件152 4.1.2 打開標準輸齣、標準錯誤輸齣設備文件166 4.2 進程1創建進程2並切換到進程2執行169 4.3 加載shell程序178 4.3.1 關閉標準輸入設備文件,打開rc文件178 4.3.2 檢測shell文件181 4.3.3 為shell程序的執行做準備186 4.3.4 執行shell程序192 4.4 係統實現怠速196 4.4.1 創建update進程196 4.4.2 切換到shell進程執行198 4.4.3 重建shell204 4.5 本章小結205 [0第0]5章 文件操作206 5.1 安裝文件係統206 5.1.1 獲取外設的[0超0]級塊206 5.1.2 確定根文件係統的掛接點209 5.1.3 將[0超0]級塊與根文件係統掛接210 5.2 打開文件211 5.2.1 將進程的*filp[20]與file_table[64]掛接212 5.2.2 獲取文件i節點213 5.2.3 將文件i節點與file_table[64]掛接223 5.3 讀文件224 5.3.1 確定數據塊在外設中的位置224 5.3.2 將數據塊讀入緩衝塊228 5.3.3 將緩衝塊中的數據復製到進程空間228 5.4 [親斤]建文件230 5.4.1 查找文件230 5.4.2 [親斤]建文件i節點231 5.4.3 [親斤]建文件目錄項233 5.5 寫文件238 5.5.1 確定文件的寫入位置238 5.5.2 申請緩衝塊241 5.5.3 將指定的數據從進程空間復製到緩衝塊241 5.5.4 數據同步到外設的兩種方[0法0]242 5.6 修改文件245 5.6.1 重定位文件的[0當0]前操作指針246 5.6.2 修改文件246 5.7 關閉文件248 5.7.1 [0當0]前進程的filp與file_table[64]脫鈎248 5.7.2 文件i節點被釋放249 5.8 刪除文件250 5.8.1 對文件的刪除條件進行檢查251 5.8.2 進行具體的刪除工作252 5.9 本章小結255 [0第0]6章 用戶進程與內存管理256 6.1 綫性地址的保護256 6.1.1 進程綫性地址空間的格局256 6.1.2 段基址、段限長、GDT、LDT、特[0[0權0]0]級257 6.2 分頁260 6.2.1 綫性地址映射到物理地址260 6.2.2 進程執行時分頁261 6.2.3 進程共享頁麵267 6.2.4 內核分頁270 6.3 一個用戶進程從創建到退齣的完整過程273 6.3.1 創建str1進程273 6.3.2 str1進程加載的準備工作285 6.3.3 str1進程的運行、加載289 6.3.4 str1進程的退齣296 6.4 多個用戶進程同時運行299 6.4.1 進程調度299 6.4.2 頁寫保護303 6.5 本章小結309 [0第0]7章 緩衝區和多進程操作文件310 7.1 緩衝區的作用310 7.2 緩衝區的總體結構311 7.3 b_dev、b_blocknr及request的作用312 7.3.1 保證進程與緩衝塊數據交互的正確性312 7.3.2 讓數據在緩衝區中停留的時間盡可能長320 7.4 uptodate和dirt的作用325 7.4.1 b_uptodate的作用326 7.4.2 b_dirt的作用331 7.4.3 i_uptodate、i_dirt和s_dirt的作用334 7.5 count、 lock、wait、request的作用336 7.5.1 b_count的作用336 7.5.2 i_count的作用338 7.5.3 b_lock、*b_wait的作用341 7.5.4 i_lock、i_wait、s_lock、*s_wait的作用344 7.5.5 補充request的作用347 7.6 實例1:關於緩衝塊的進程等待隊列349 7.7 總體來看緩衝塊和請求項370 7.8 實例2:多進程操作文件的綜閤實例373 7.9 本章小結388 [0第0]8章 進程間通信389 8.1 管道 [1機1] 製389 8.1.1 管道的創建過程391 8.1.2 管道的操作396 8.2 信號 [1機1] 製410 8.2.1 信號的使用412 8.2.2 信號對進程執行狀態的影響422 8.3 本章小結431 [0第0]9章 操作係統的設計指導思想432 9.1 運行一個簡單的程序,看操作係統為程序運行做瞭哪些工作432 9.2 操作係統的設計指導思想——主奴 [1機1] 製434 9.2.1 主奴 [1機1] 製中的進程及進程創建 [1機1] 製435 9.2.2 操作係統的設計如何體現主奴 [1機1] 製436 9.3 實現主奴 [1機1] 製的三種關鍵技術438 9.3.1 保護和分頁438 9.3.2 特[0[0權0]0]級440 9.3.3 中斷441 9.4 建立主奴 [1機1] 製的決定性因素——先 [1機1] 443 9.5 軟件和硬件的關係444 9.5.1 非用戶進程——進程0、進程1、shell進程444 9.5.2 文件與數據存儲445 9.6 父子進程共享頁麵450 9.7 操作係統的全局中斷與進程的局部中斷——信號450 9.8 本章小結451 結束語452 “[親斤]設計團隊”簡介453 |
編輯推薦 |
[0暢0]銷書全[親斤]升級和[0大0]幅[0優0]化,[0第0]1版廣獲好[0評0],被翻譯為繁體中文和英文(美[0國0])。 |
包郵 Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理|3767800 下載 mobi pdf epub txt 電子書 格式 2024
包郵 Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理|3767800 下載 mobi epub pdf 電子書包郵 Linux內核設計的藝術:圖解Linux操作係統架構設計與實現原理|3767800 mobi epub pdf txt 電子書 格式下載 2024