linux內(nèi)核探秘:深入解析文件系統(tǒng)和設備驅(qū)動的架構(gòu)與設計是一本linux內(nèi)核學習指導書,由高劍林編著。本書從工業(yè)需求角度出發(fā),注重效率和實用性,是幫助內(nèi)核研發(fā)及調(diào)試、驅(qū)動開發(fā)等領域工程師正確認識并高效利用Linux內(nèi)核的難得佳作。全書將整個內(nèi)核分為基礎層和應用層,內(nèi)核中的內(nèi)存管理、任務調(diào)度和中斷異常處理歸為基礎部分,而文件系統(tǒng),設備管理和驅(qū)動歸為應用部分,這種劃分大大減少了閱讀內(nèi)核的難度,非常適合所有的linux系統(tǒng)愛好者和從業(yè)人員下載閱讀。
內(nèi)容介紹
《linux內(nèi)核探秘:深入解析文件系統(tǒng)和設備驅(qū)動的架構(gòu)與設計》出發(fā)點和寫作方式可謂獨辟蹊徑,將Linux內(nèi)核分為兩個維度,一是基礎部分和應用部分,二是內(nèi)核架構(gòu)和內(nèi)核實現(xiàn),將兩個維有機統(tǒng)一,深入分析了Linux內(nèi)核的文件系統(tǒng)、設備驅(qū)動的架構(gòu)設計與實現(xiàn)原理。全書在邏輯上分為三部分:第一部分(第1~2章)首先將內(nèi)核層劃分為基礎層和應用層,講解了基礎層包含的服務和數(shù)據(jù)結(jié)構(gòu),以及應用層包含的各種功能,然后對文件系統(tǒng)的架構(gòu)進行了提綱挈領的介紹,為讀者學習后面的知識打下基礎;第二部分(第3~9章)從設備到總線到驅(qū)動,逐步深入,剖析了設備的總體架構(gòu)、為設備服務的特殊文件系統(tǒng)sysfs、字符設備和input設備、platform總線、serio總線、PCI總線、塊設備的實現(xiàn)原理和工作機制;第三部分(第10~13章)對文件系統(tǒng)的讀寫機制進行了深入分析,最后通過一個真實文件系統(tǒng)ext2,復習本書所有知識點。
linux內(nèi)核探秘章節(jié)目錄
前言 第1章 內(nèi)核的基礎層和應用層 1.1 內(nèi)核基礎層提供的服務 1.1.1 內(nèi)核中使用內(nèi)存 1.1.2 內(nèi)核中的任務調(diào)度 1.1.3 軟中斷和tasklet 1.1.4 工作隊列 1.1.5 自旋鎖 1.1.6 內(nèi)核信號量 1.1.7 原子變量 1.2 內(nèi)核基礎層的數(shù)據(jù)結(jié)構(gòu) 1.2.1 雙向鏈表 1.2.2 hash鏈表 1.2.3 單向鏈表 1.2.4 紅黑樹 1.2.5 radix樹 1.3 內(nèi)核應用層 1.4 從Linux內(nèi)核源碼結(jié)構(gòu)縱覽內(nèi)核 1.5 內(nèi)核學習和應用的四個階段 1.6 本章小結(jié) 第2章 文件系統(tǒng) 2.1 文件系統(tǒng)的基本概念 2.1.1 什么是VFS 2.1.2 超級塊super_block 2.1.3 目錄項dentry 2.1.4 索引節(jié)點inode 2.1.5 文件 2.2 文件系統(tǒng)的架構(gòu) 2.2.1 超級塊作用分析 2.2.2 dentry作用分析 2.2.3 inode作用分析 2.2.4 文件作用分析 2.3 從代碼層次深入分析文件系統(tǒng) 2.3.1 一個最簡單的文件系統(tǒng)aufs 2.3.2 文件系統(tǒng)如何管理目錄和文件 2.3.3 文件系統(tǒng)的掛載過程 2.3.4 文件打開的代碼分析 2.4 本章小結(jié) 第3章 設備的概念和總體架構(gòu) 3.1 設備的配置表 3.2 訪問設備寄存器和設備內(nèi)存 3.3 設備中斷和DMA 3.4 總線對設備的掃描 3.5 設備驅(qū)動管理 3.6 本章小結(jié) 第4章 為設備服務的特殊文件系統(tǒng)sysfs 4.1 文件和目錄的創(chuàng)建 4.1.1 sysfs文件系統(tǒng)的初始化 4.1.2 sysfs文件系統(tǒng)目錄的創(chuàng)建 4.1.3 普通文件的創(chuàng)建 4.2 sysfs文件的打開操作 4.2.1 real_lookup函數(shù)詳解 4.2.2 為文件創(chuàng)建inode結(jié)構(gòu) 4.2.3 為dentry結(jié)構(gòu)綁定屬性 4.2.4 調(diào)用文件系統(tǒng)中的open函數(shù) 4.3 sysfs文件的讀寫 4.3.1 讀文件的過程分析 4.3.2 寫文件的過程分析 4.4 kobject結(jié)構(gòu) 4.4.1 kobject和kset的關(guān)系 4.4.2 kobject實例:總線的注冊 4.5 本章小結(jié) 第5章 字符設備和input設備 5.1 文件如何變成設備 5.1.1 init_special_inode函數(shù) 5.1.2 def_chr_fops結(jié)構(gòu) 5.2 input設備的注冊 5.2.1 主從設備號 5.2.2 把input設備注冊到系統(tǒng) 5.2.3 設備區(qū)間的登記 5.2.4 注冊字符設備 5.2.5 打開input設備 5.3 input設備架構(gòu) 5.3.1 注冊input設備的驅(qū)動 5.3.2 匹配input管理的設備和驅(qū)動 5.3.3 注冊input設備 5.4 本章小結(jié) 第6章 platform總線 6.1 從驅(qū)動發(fā)現(xiàn)設備的過程 6.1.1 驅(qū)動的初始化 6.1.2 注冊驅(qū)動 6.1.3 為總線增加一個驅(qū)動 6.1.4 驅(qū)動加載 6.1.5 遍歷總線上已經(jīng)掛載的設備 6.2 從設備找到驅(qū)動的過程 6.2.1 注冊設備和總線類型 6.2.2 注冊設備的資源 6.2.3 增加一個設備對象 6.3 本章小結(jié) 第7章 serio總線 7.1 什么是總線適配器 7.2 向serio總線注冊設備 7.2.1 注冊端口登記事件 7.2.2 遍歷總線的驅(qū)動 7.2.3 注冊input設備 7.3 虛擬鍵盤驅(qū)動 7.3.1 鍵盤驅(qū)動的初始化 7.3.2 與設備建立連接 7.3.3 啟動鍵盤設備 7.3.4 輸入設備和主機系統(tǒng)之間的事件 7.4 鍵盤中斷 7.4.1 q40kbd設備的中斷處理 7.4.2 serio總線的中斷處理 7.4.3 驅(qū)動提供的中斷處理 7.5 本章小結(jié) 第8章 PCI總線 8.1 深入理解PCI總線 8.1.1 PCI設備工作原理 8.1.2 PCI總線域 8.1.3 PCI資源管理 8.1.4 PCI配置空間讀取和設置 8.2 PCI設備掃描過程 8.2.1 掃描0號總線 8.2.2 掃描總線上的PCI設備 8.2.3 掃描多功能設備 8.2.4 掃描單個設備 8.2.5 掃描設備信息 8.3 本章小結(jié) 第9章 塊設備 9.1 塊設備的架構(gòu) 9.1.1 塊設備、磁盤對象和隊列 9.1.2 塊設備和通用磁盤對象的綁定 9.1.3 塊設備的隊列和隊列處理函數(shù) 9.2 塊設備創(chuàng)建的過程分析 9.2.1 nbd驅(qū)動的初始化 9.2.2 為通用磁盤對象創(chuàng)建隊列成員 9.2.3 將通用磁盤對象加入系統(tǒng) 9.3 塊設備文件系統(tǒng) 9.3.1 塊設備文件系統(tǒng)的初始化 9.3.2 塊設備文件系統(tǒng)的設計思路 9.4 塊設備的打開流程 9.4.1 獲取塊設備對象 9.4.2 執(zhí)行塊設備的打開流程 9.5 本章小結(jié) 第10章 文件系統(tǒng)讀寫 10.1 page cache機制 10.1.1 buffer I/O和direct I/O 10.1.2 buffer head和塊緩存 10.1.3 page cache的管理 10.1.4 page cache的狀態(tài) 10.2 文件預讀 10.3 文件鎖 10.4 文件讀過程代碼分析 10.5 讀過程返回 10.6 文件寫過程代碼分析 10.7 本章小結(jié) 第11章 通用塊層和scsi層 11.1 塊設備隊列 11.1.1 scsi塊設備隊列處理函數(shù) 11.1.2 電梯算法和對象 11.2 硬盤HBA抽象層 11.3 I/O的順序控制 11.4 I/O調(diào)度算法 11.4.1 noop調(diào)度算法 11.4.2 deadline調(diào)度算法 11.5 I/O的處理過程 11.5.1 I/O插入隊列的過程分析 11.5.2 I/O出隊列的過程分析 11.5.3 I/O返回路徑 11.6 本章小結(jié) 第12章 內(nèi)核回寫機制 12.1 內(nèi)核的觸發(fā)條件 12.2 內(nèi)核回寫控制參數(shù) 12.3 定時器觸發(fā)回寫 12.3.1 啟動定時器 12.3.2 執(zhí)行回寫操作 12.3.3 檢查需要回寫的頁面 12.3.4 回寫超級塊內(nèi)的inode 12.4 平衡寫 12.4.1 檢查直接回寫的條件 12.4.2 回寫系統(tǒng)臟頁面的條件 12.4.3 檢查計算機模式 12.5 本章小結(jié) 第13章 一個真實文件系統(tǒng)ext2 13.1 ext2的硬盤布局 13.2 ext2文件系統(tǒng)目錄樹 13.3 ext2文件內(nèi)容管理 13.4 ext2文件系統(tǒng)讀寫 13.5 本章小結(jié)
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請務必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問題? 點此報錯
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 有柿電腦版 v11.5.684.06M / 簡體中文
- 得間免費小說電腦版 v5.2.7.172.56M / 簡體中文
- 網(wǎng)易新聞電腦版 v112.697.63M / 簡體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡體中文
- 吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
- 京東讀書電腦版 v1.13.4官方版1.98M / 簡體中文
- linux常用命令大全 chm版1.48M / 簡體中文
- 本草綱目 5.34M / 簡體中文
- docker入門實戰(zhàn) pdf完整版1.38M / 簡體中文
- C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡體中文