注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)

Linux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)

Linux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)

定 價(jià):¥59.00

作 者: 高劍林 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 操作系統(tǒng) 計(jì)算機(jī)與互聯(lián)網(wǎng)

ISBN: 9787111445852 出版時(shí)間: 2013-12-01 包裝: 平裝
開本: 16開 頁數(shù): 232 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Linux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)》從工業(yè)需求角度出發(fā),注重效率和實(shí)用性,是幫助內(nèi)核研發(fā)及調(diào)試、驅(qū)動(dòng)開發(fā)等領(lǐng)域工程師正確認(rèn)識(shí)并高效利用Linux內(nèi)核的難得佳作!作者是騰訊公司資深的Linux內(nèi)核專家和存儲(chǔ)系統(tǒng)專家,在該領(lǐng)域工作和研究的10余年間,面試了數(shù)百位Linux內(nèi)核工程師,深知學(xué)習(xí)Linux內(nèi)核過程中經(jīng)常遇到的困惑,以及在工作中容易犯的錯(cuò)誤?;谶@些原因作者撰寫了本書。本書出發(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)原理?!禠inux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動(dòng)的架構(gòu)與設(shè)計(jì)》在邏輯上分為三部分:第一部分(第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)。

作者簡(jiǎn)介

  高劍林,資深Linux內(nèi)核專家、存儲(chǔ)系統(tǒng)專家、嵌入式系統(tǒng)專家。先后就職于華為、UT斯達(dá)康、賽門鐵克等公司,從事路由器設(shè)備研發(fā)、軟件開發(fā)和存儲(chǔ)系統(tǒng)研究相關(guān)的工作10余年,經(jīng)驗(yàn)非常豐富?,F(xiàn)就職于騰訊,負(fù)責(zé)存儲(chǔ)系統(tǒng)的開發(fā)和研究。

圖書目錄

前 言
第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 檢查需要回寫的頁面
12.3.4 回寫超級(jí)塊內(nèi)的inode
12.4 平衡寫
12.4.1 檢查直接回寫的條件
12.4.2 回寫系統(tǒng)臟頁面的條件
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é)  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)