linux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)是一本linux內(nèi)核學(xué)習(xí)指導(dǎo)書,由高劍林編著。本書從工業(yè)需求角度出發(fā),注重效率和實(shí)用性,是幫助內(nèi)核研發(fā)及調(diào)試、驅(qū)動(dòng)開發(fā)等領(lǐng)域工程師正確認(rèn)識(shí)并高效利用Linux內(nèi)核的難得佳作。全書將整個(gè)內(nèi)核分為基礎(chǔ)層和應(yīng)用層,內(nèi)核中的內(nèi)存管理、任務(wù)調(diào)度和中斷異常處理歸為基礎(chǔ)部分,而文件系統(tǒng),設(shè)備管理和驅(qū)動(dòng)歸為應(yīng)用部分,這種劃分大大減少了閱讀內(nèi)核的難度,非常適合所有的linux系統(tǒng)愛好者和從業(yè)人員下載閱讀。
內(nèi)容介紹
《linux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)》出發(fā)點(diǎn)和寫作方式可謂獨(dú)辟蹊徑,將Linux內(nèi)核分為兩個(gè)維度,一是基礎(chǔ)部分和應(yīng)用部分,二是內(nèi)核架構(gòu)和內(nèi)核實(shí)現(xiàn),將兩個(gè)維有機(jī)統(tǒng)一,深入分析了Linux內(nèi)核的文件系統(tǒng)、設(shè)備驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理。全書在邏輯上分為三部分:第一部分(第1~2章)首先將內(nèi)核層劃分為基礎(chǔ)層和應(yīng)用層,講解了基礎(chǔ)層包含的服務(wù)和數(shù)據(jù)結(jié)構(gòu),以及應(yīng)用層包含的各種功能,然后對(duì)文件系統(tǒng)的架構(gòu)進(jìn)行了提綱挈領(lǐng)的介紹,為讀者學(xué)習(xí)后面的知識(shí)打下基礎(chǔ);第二部分(第3~9章)從設(shè)備到總線到驅(qū)動(dòng),逐步深入,剖析了設(shè)備的總體架構(gòu)、為設(shè)備服務(wù)的特殊文件系統(tǒng)sysfs、字符設(shè)備和input設(shè)備、platform總線、serio總線、PCI總線、塊設(shè)備的實(shí)現(xiàn)原理和工作機(jī)制;第三部分(第10~13章)對(duì)文件系統(tǒng)的讀寫機(jī)制進(jìn)行了深入分析,最后通過一個(gè)真實(shí)文件系統(tǒng)ext2,復(fù)習(xí)本書所有知識(shí)點(diǎn)。
linux內(nèi)核探秘章節(jié)目錄
前言 第1章 內(nèi)核的基礎(chǔ)層和應(yīng)用層 1.1 內(nèi)核基礎(chǔ)層提供的服務(wù) 1.1.1 內(nèi)核中使用內(nèi)存 1.1.2 內(nèi)核中的任務(wù)調(diào)度 1.1.3 軟中斷和tasklet 1.1.4 工作隊(duì)列 1.1.5 自旋鎖 1.1.6 內(nèi)核信號(hào)量 1.1.7 原子變量 1.2 內(nèi)核基礎(chǔ)層的數(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)核應(yīng)用層 1.4 從Linux內(nèi)核源碼結(jié)構(gòu)縱覽內(nèi)核 1.5 內(nèi)核學(xué)習(xí)和應(yīng)用的四個(gè)階段 1.6 本章小結(jié) 第2章 文件系統(tǒng) 2.1 文件系統(tǒng)的基本概念 2.1.1 什么是VFS 2.1.2 超級(jí)塊super_block 2.1.3 目錄項(xiàng)dentry 2.1.4 索引節(jié)點(diǎn)inode 2.1.5 文件 2.2 文件系統(tǒng)的架構(gòu) 2.2.1 超級(jí)塊作用分析 2.2.2 dentry作用分析 2.2.3 inode作用分析 2.2.4 文件作用分析 2.3 從代碼層次深入分析文件系統(tǒng) 2.3.1 一個(gè)最簡(jiǎn)單的文件系統(tǒng)aufs 2.3.2 文件系統(tǒng)如何管理目錄和文件 2.3.3 文件系統(tǒng)的掛載過程 2.3.4 文件打開的代碼分析 2.4 本章小結(jié) 第3章 設(shè)備的概念和總體架構(gòu) 3.1 設(shè)備的配置表 3.2 訪問設(shè)備寄存器和設(shè)備內(nèi)存 3.3 設(shè)備中斷和DMA 3.4 總線對(duì)設(shè)備的掃描 3.5 設(shè)備驅(qū)動(dòng)管理 3.6 本章小結(jié) 第4章 為設(shè)備服務(wù)的特殊文件系統(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實(shí)例:總線的注冊(cè) 4.5 本章小結(jié) 第5章 字符設(shè)備和input設(shè)備 5.1 文件如何變成設(shè)備 5.1.1 init_special_inode函數(shù) 5.1.2 def_chr_fops結(jié)構(gòu) 5.2 input設(shè)備的注冊(cè) 5.2.1 主從設(shè)備號(hào) 5.2.2 把input設(shè)備注冊(cè)到系統(tǒng) 5.2.3 設(shè)備區(qū)間的登記 5.2.4 注冊(cè)字符設(shè)備 5.2.5 打開input設(shè)備 5.3 input設(shè)備架構(gòu) 5.3.1 注冊(cè)input設(shè)備的驅(qū)動(dòng) 5.3.2 匹配input管理的設(shè)備和驅(qū)動(dòng) 5.3.3 注冊(cè)input設(shè)備 5.4 本章小結(jié) 第6章 platform總線 6.1 從驅(qū)動(dòng)發(fā)現(xiàn)設(shè)備的過程 6.1.1 驅(qū)動(dòng)的初始化 6.1.2 注冊(cè)驅(qū)動(dòng) 6.1.3 為總線增加一個(gè)驅(qū)動(dòng) 6.1.4 驅(qū)動(dòng)加載 6.1.5 遍歷總線上已經(jīng)掛載的設(shè)備 6.2 從設(shè)備找到驅(qū)動(dòng)的過程 6.2.1 注冊(cè)設(shè)備和總線類型 6.2.2 注冊(cè)設(shè)備的資源 6.2.3 增加一個(gè)設(shè)備對(duì)象 6.3 本章小結(jié) 第7章 serio總線 7.1 什么是總線適配器 7.2 向serio總線注冊(cè)設(shè)備 7.2.1 注冊(cè)端口登記事件 7.2.2 遍歷總線的驅(qū)動(dòng) 7.2.3 注冊(cè)input設(shè)備 7.3 虛擬鍵盤驅(qū)動(dòng) 7.3.1 鍵盤驅(qū)動(dòng)的初始化 7.3.2 與設(shè)備建立連接 7.3.3 啟動(dòng)鍵盤設(shè)備 7.3.4 輸入設(shè)備和主機(jī)系統(tǒng)之間的事件 7.4 鍵盤中斷 7.4.1 q40kbd設(shè)備的中斷處理 7.4.2 serio總線的中斷處理 7.4.3 驅(qū)動(dòng)提供的中斷處理 7.5 本章小結(jié) 第8章 PCI總線 8.1 深入理解PCI總線 8.1.1 PCI設(shè)備工作原理 8.1.2 PCI總線域 8.1.3 PCI資源管理 8.1.4 PCI配置空間讀取和設(shè)置 8.2 PCI設(shè)備掃描過程 8.2.1 掃描0號(hào)總線 8.2.2 掃描總線上的PCI設(shè)備 8.2.3 掃描多功能設(shè)備 8.2.4 掃描單個(gè)設(shè)備 8.2.5 掃描設(shè)備信息 8.3 本章小結(jié) 第9章 塊設(shè)備 9.1 塊設(shè)備的架構(gòu) 9.1.1 塊設(shè)備、磁盤對(duì)象和隊(duì)列 9.1.2 塊設(shè)備和通用磁盤對(duì)象的綁定 9.1.3 塊設(shè)備的隊(duì)列和隊(duì)列處理函數(shù) 9.2 塊設(shè)備創(chuàng)建的過程分析 9.2.1 nbd驅(qū)動(dòng)的初始化 9.2.2 為通用磁盤對(duì)象創(chuàng)建隊(duì)列成員 9.2.3 將通用磁盤對(duì)象加入系統(tǒng) 9.3 塊設(shè)備文件系統(tǒng) 9.3.1 塊設(shè)備文件系統(tǒng)的初始化 9.3.2 塊設(shè)備文件系統(tǒng)的設(shè)計(jì)思路 9.4 塊設(shè)備的打開流程 9.4.1 獲取塊設(shè)備對(duì)象 9.4.2 執(zhí)行塊設(shè)備的打開流程 9.5 本章小結(jié) 第10章 文件系統(tǒng)讀寫 10.1 page cache機(jī)制 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 文件預(yù)讀 10.3 文件鎖 10.4 文件讀過程代碼分析 10.5 讀過程返回 10.6 文件寫過程代碼分析 10.7 本章小結(jié) 第11章 通用塊層和scsi層 11.1 塊設(shè)備隊(duì)列 11.1.1 scsi塊設(shè)備隊(duì)列處理函數(shù) 11.1.2 電梯算法和對(duì)象 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插入隊(duì)列的過程分析 11.5.2 I/O出隊(duì)列的過程分析 11.5.3 I/O返回路徑 11.6 本章小結(jié) 第12章 內(nèi)核回寫機(jī)制 12.1 內(nèi)核的觸發(fā)條件 12.2 內(nèi)核回寫控制參數(shù) 12.3 定時(shí)器觸發(fā)回寫 12.3.1 啟動(dòng)定時(shí)器 12.3.2 執(zhí)行回寫操作 12.3.3 檢查需要回寫的頁(yè)面 12.3.4 回寫超級(jí)塊內(nèi)的inode 12.4 平衡寫 12.4.1 檢查直接回寫的條件 12.4.2 回寫系統(tǒng)臟頁(yè)面的條件 12.4.3 檢查計(jì)算機(jī)模式 12.5 本章小結(jié) 第13章 一個(gè)真實(shí)文件系統(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、如果打不開本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
- 102j331地溝及蓋板圖集
- 212j201平屋面建筑構(gòu)造圖集 pdf電子版
- 3機(jī)械設(shè)計(jì)手冊(cè)軟件版 v3.0破解版 附安裝教程
- 4欄桿圖集15j403-1 pdf電子版
- 5建筑電氣工程施工質(zhì)量驗(yàn)收規(guī)范gb50303-2015 pdf電子版
- 6421頁(yè)pdf完整版
- 7高效能人士的七個(gè)習(xí)慣(30周年紀(jì)念版) pdf+epub高清版
- 816j914-1公用建筑衛(wèi)生間圖集 pdf電子版
- 905s502室外給水管道附屬構(gòu)筑物圖集
- 10工程地質(zhì)手冊(cè)第五版pdf高清電子版
熱門推薦
網(wǎng)易新聞電腦版 v113.987.37M / 簡(jiǎn)體中文
有柿電腦版 v11.8.9121.22M / 簡(jiǎn)體中文
網(wǎng)易云閱讀電腦版 v6.7.226.41M / 簡(jiǎn)體中文
京東讀書電腦版 v1.13.4官方版2.13M / 簡(jiǎn)體中文
吉利博瑞用戶手冊(cè) pdf高清版57.89M / 簡(jiǎn)體中文
未公開的Oracle數(shù)據(jù)庫(kù)秘密 迪貝斯pdf掃描版34.69M / 簡(jiǎn)體中文
PHP語(yǔ)言精粹電子書 pdf掃描版25.72M / 簡(jiǎn)體中文
linux常用命令大全 chm版1.48M / 簡(jiǎn)體中文
Scala程序設(shè)計(jì)第二版 pdf高清完整版15.83M / 簡(jiǎn)體中文
C++多核高級(jí)編程 修斯pdf掃描版57.21M / 簡(jiǎn)體中文