注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux內(nèi)核修煉之道

Linux內(nèi)核修煉之道

Linux內(nèi)核修煉之道

定 價:¥49.00

作 者: 華清遠見嵌入式培訓(xùn)中心 編著
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: LINUX

ISBN: 9787115225856 出版時間: 2010-07-01 包裝: 平裝
開本: 16開 頁數(shù): 350 字數(shù):  

內(nèi)容簡介

  《Linux內(nèi)核修煉之道》重點介紹Linux內(nèi)核工作原理以及學(xué)習(xí)方法。將Linux內(nèi)核的修煉之道總結(jié)為四個層次:“全面了解抓基本,興趣導(dǎo)向深鉆研,融入社區(qū)做貢獻,堅持堅持再堅持”。第一層次目的是對Linux以及內(nèi)核有個全面的認識和了解,掌握Linux內(nèi)核源代碼的分析方法。第二個層次討論了內(nèi)核中系統(tǒng)初始化、系統(tǒng)調(diào)用、中斷處理、進程管理及調(diào)度、內(nèi)存管理、文件系統(tǒng)以及設(shè)備驅(qū)動等主要部分,目的是希望讀者以興趣為導(dǎo)向,尋找一個子系統(tǒng)或模塊,對其代碼深入鉆研和分析。第三個層次介紹了內(nèi)核開發(fā)與調(diào)試的一些基本信息,目的是希望讀者能夠融入到內(nèi)核的開發(fā)社區(qū),做出自己的貢獻。第四個層次濃縮為兩個字——堅持?!禠inux內(nèi)核修煉之道》語言通俗易懂,內(nèi)容覆蓋了內(nèi)核的學(xué)習(xí)方法到內(nèi)核設(shè)計與實現(xiàn)等各方面內(nèi)容,能夠帶領(lǐng)讀者快速走入Linux內(nèi)核的世界,適合對Linux內(nèi)核學(xué)習(xí)茫然的初學(xué)者,也適合各類希望深入理解Linux內(nèi)核的讀者。

作者簡介

  任橋偉,華清遠見資深講師,6年嵌入式系統(tǒng)軟硬件開發(fā)經(jīng)驗,資深研發(fā)工程師、項目經(jīng)理、CSDN專家。熟悉嵌入式系統(tǒng)軟硬件設(shè)計的全過程,多年來始終專注于嵌入式Linux內(nèi)核研究和設(shè)備驅(qū)動的開發(fā),精通嵌入式Linux操作系統(tǒng),尤其擅長Linux系統(tǒng)內(nèi)核及設(shè)備驅(qū)動開發(fā)。作為資深PM,曾指導(dǎo)完成多個大型嵌入式項目的軟硬件設(shè)計,涉及通信、網(wǎng)絡(luò)、控制等領(lǐng)域。著有《Linux內(nèi)核修煉之道》、《Linux那些事》等備受網(wǎng)友關(guān)注的專業(yè)圖書,目前致力于嵌入式Linux內(nèi)核技術(shù)的普及推廣和人才培養(yǎng)。

圖書目錄

第1章 初識Linux
1.1 Linux史記
1.1.1 Linux誕生記
1.1.2 泰坦尼克的狂潮
1.1.3 提前發(fā)生的革命
1.1.4 和平、愛情和Linux
1.1.5 Ubuntu4.1 0
1.1.6 Richard Stallman的征婚啟事
1.1.7 一封公開信
1.1.8 首款A(yù)ndroid手機
1.1.9 Linux信用卡
1.2 內(nèi)核的版本
1.3 獲取內(nèi)核源碼
1.4 Linux發(fā)行版
1.4.1 軟件包管理器
1.4.2 流行的發(fā)行版
1.4.3 選擇Linux發(fā)行版
第2章 配置與編譯內(nèi)核
2.1 配置內(nèi)核
2.1.1 幾種配置方式
2.1.2.config文件
2.1.3 配置選項詳解
2.2 編譯內(nèi)核
2.2.1 準備工作
2.2.2 如何為內(nèi)核打補丁
2.2.3 編譯步驟
2.2.4 文檔的編譯
2.2.5 編譯小技巧
2.3 自由軟件的編譯與安裝
2.3.1 發(fā)布時的組織結(jié)構(gòu)
2.3.2 配置
2.3.3 編譯
2.3.4 安裝
第3章 瀏覽內(nèi)核源代碼
3.1 內(nèi)核學(xué)習(xí)的技術(shù)基礎(chǔ)
3.2 內(nèi)核體系結(jié)構(gòu)
3.3 內(nèi)核源碼目錄結(jié)構(gòu)
3.4 瀏覽代碼的工具
3.4.1 Source Insight
3.4.2 Vim+Cscope
3.4.3 LXR
3.5 內(nèi)核代碼的特點
3.5.1 GCC擴展
3.5.2 內(nèi)嵌匯編
3.6 內(nèi)核中的鏈表
3.7 Kconfig和Makefile
3.7.1 Kconfig結(jié)構(gòu)
3.7.2 利用Kconfig和Makefile尋找目標(biāo)代碼
3.8 代碼分析示例
3.8.1 分析README
3.8.2 分析Kconfig和Makefile
3.8.3 尋找初始化函數(shù)
第4章 系統(tǒng)初始化
4.1 引導(dǎo)過程
4.2 內(nèi)核初始化
4.2.1 start_kernel函數(shù)
4.2.2 reset_init函數(shù)
4.2.3 kernel_init函數(shù)
4.2.4 init_post函數(shù)
4.3 init進程
4.4 內(nèi)核選項解析
4.4.1 內(nèi)核選項
4.4.2 注冊內(nèi)核選項
4.4.3 兩次解析
4.5 子系統(tǒng)的初始化
4.5.1 do_initcalls()函數(shù)
4.5.2.initcall.init節(jié)
4.5.3 分析示例
第5章 系統(tǒng)調(diào)用
5.1 系統(tǒng)調(diào)用概述
5.1.1 系統(tǒng)調(diào)用、POSIX、C庫、系統(tǒng)命令和內(nèi)核函數(shù)
5.1.2 系統(tǒng)調(diào)用表
5.1.3 系統(tǒng)調(diào)用號
5.1.4 系統(tǒng)調(diào)用服務(wù)例程
5.1.5 如何使用系統(tǒng)調(diào)用
5.1.6 為什么需要系統(tǒng)調(diào)用
5.2 系統(tǒng)調(diào)用執(zhí)行過程
5.3 系統(tǒng)調(diào)用示例
5.3.1 sys_dup
5.3.2 sys_reboot
5.4 系統(tǒng)調(diào)用的實現(xiàn)
5.4.1 如何實現(xiàn)一個新的系統(tǒng)調(diào)用
5.4.2 什么時候需要添加新的系統(tǒng)調(diào)用
第6章 中斷與中斷處理
6.1 概述
6.1.1 中斷分類
6.1.2 PIC vs APIC
6.1.3 中斷號vs中斷向量
6.1.4 中斷描述符表
6.1.5 門
6.1.6 中斷服務(wù)程序
6.2 重要數(shù)據(jù)結(jié)構(gòu)
6.2.1 中斷描述符irq_desc
6.2.2 中斷控制器描述符ir_chip
6.2.3 中斷服務(wù)程序描述符irqaction
6.3 中斷子系統(tǒng)初始化
6.3.1 中斷描述符表的初始化
6.3.2 中斷請求隊列的初始化
6.4 中斷或異常處理
6.4.1 中斷控制器的工作
6.4.2 CPU的工作
6.4.3 內(nèi)核對中斷的處理
6.4.4 內(nèi)核對異常的處理
6.5 中斷API
6.5.1 注冊和釋放
6.5.2 激活和禁止
6.5.3 其他API函數(shù)
6.6 通用IRQ層
6.6.1 GenIRQ的起源及發(fā)展
6.6.2 GenlRQ的抽象層次
6.7 多處理器系統(tǒng)中的中斷處理
6.7.1 處理器間中斷
6.7.2 中斷親和力
6.7.3 中斷負載均衡
6.8 中斷的下半部
6.8.1 下半部的實現(xiàn)機制
6.8.2 下半部機制的選擇
第7章 進程管理
7.1 概述
7.1.1 進程vs程序
7.1.2 進程vs線程
7.1.3 進程描述符
7.1.4 進程狀態(tài)
7.1.5 進程標(biāo)識符
7.1.6 進程間關(guān)系
7.1.7 進程0與進程1
7.1.8 進程的內(nèi)核棧
7.1.9 獲取當(dāng)前進程
’7.2 進程創(chuàng)建
7.2.1 fork()、vfork()與clone()
7.2.2 do_fork()
7.2.3 copy-process()
7.2.4 內(nèi)核線程
7.3 進程退出
7.3.1 do-exit()
7.3.2 僵死進程
7.3.3 孤兒進程
7.4 后臺進程
第8章 調(diào)度
8.1 概述
8.1.1 調(diào)度策略
8.1.2 進程調(diào)度的目標(biāo)
8.1.3 進程的nice值
8.1.4 優(yōu)先級
8.1.5 時間片
8.2 進程調(diào)度器的發(fā)展歷史
8.2.1 Linux2.4.的調(diào)度器
8.2.2 O(1)調(diào)度器
8.2.3 SD調(diào)度器
8.2.4 RSDL調(diào)度器
8.2.5 CFS調(diào)度器
8.3 O(1)調(diào)度器
8.3.1 運行隊列
8.3.2 優(yōu)先級數(shù)組
8.3.3 計算時間片
8.3.4 平均休眠時間
8.3.5 判斷交互性
8.3.6 計算優(yōu)先級
8.3.7 休眠和喚醒
8.3.8 schedule()
8.3.9 負載均衡
8.3.1 O軟實時調(diào)度
8.4.CF’S調(diào)度器
8.4.1 完全公平與進程的權(quán)重
8.4.2 模塊化
8.4.3 調(diào)度實體
8.4.4 CFS運行隊列
8.4.5 虛擬運行時間
8.4.6 CFS調(diào)度類
8.4.7 schedule
8.4.8 組調(diào)度
8.5 進程搶占與切換
8.5.1 用戶搶占
8.5.2 內(nèi)核搶占
8.5.3 進程切換
第9章 內(nèi)存管理
9.1 內(nèi)存概述
9.1.1 地址空間
9.1.2 分頁
9.2 內(nèi)核的內(nèi)存分配
9.2.1 內(nèi)存結(jié)構(gòu)
9.2.2 BUDDY頁面管理
9.2.3 SLAB內(nèi)存管理
9.2.4. SLUB/SLOB內(nèi)存管理
9.2.5 vmalloc內(nèi)存分配
9.2.6 高端內(nèi)存映射
9.3 進程地址空間
9.3.1 內(nèi)存描述符
9.3.2 內(nèi)存映射
9.3.3 多級頁表結(jié)構(gòu)
9.3.4 缺頁錯誤處理
9.4 頁面緩存
9.4.1 頁面緩存管理
9.4.2 Swap內(nèi)存交換
9.4.3 kswapd和pdflush
9.5 內(nèi)存工具匯總
9.5.1 用proc接口查看內(nèi)存信息
9.5.2 系統(tǒng)命令工具
第10章 文件系統(tǒng)
10.1 概述
10.1.1 文件
10.1.2 文件系統(tǒng)
10.1.3 虛擬文件系統(tǒng)
10.2 VFS的數(shù)據(jù)結(jié)構(gòu)
10.2.1 超級塊
10.2.2 索引節(jié)點
10.2.3 目錄項
10.2.4 文件
10.2.5 與文件系統(tǒng)相關(guān)的數(shù)據(jù)結(jié)構(gòu)
10.2.6 與進程相關(guān)的數(shù)據(jù)結(jié)構(gòu)
10.2.7 路徑查找輔助結(jié)構(gòu)
10.3 VFS的緩存機制
10.3.1 索引節(jié)點緩存
10.3.2 目錄項緩存
10.3.3 緩沖區(qū)緩存
10.4 文件系統(tǒng)的注冊與安裝
10.4.1 文件系統(tǒng)的注冊
10.4.2 文件系統(tǒng)的安裝
10.4.3 inotify的注冊和安裝
10.5 inotify機制
10.5.1 inotify數(shù)據(jù)結(jié)構(gòu)
10.5.2 inotify矽鉤子函數(shù)
10.5.3 inotify用戶接口
10.5.4 應(yīng)用示例
10.5.5 inotify玲工具
第11章 設(shè)備驅(qū)動
11.1 概述
11.2 模塊機制與“Hello”World!
11.3 設(shè)備模型
11.3.1 設(shè)備模型的經(jīng)濟基礎(chǔ)
11.3.2 設(shè)備模型的上層建筑
11.3.3 類(Class)與類設(shè)備(class_device)
11.4 sysfs文件系統(tǒng)
11.4.1 sysfs與/sys
11.4.2 sysfs目錄項sysfs_dirent
11.4.3 sysfs目錄和屬性
11.5 spec、datasheet與內(nèi)核源代碼
11.6 USB子系統(tǒng)與IJSB驅(qū)動
11.6.1 USBB簡史
11.6.2 USB協(xié)議基礎(chǔ)
11.6.3 USB子系統(tǒng)與sysfs
11.6.4 內(nèi)核中的USB
11.6.5 USB設(shè)備某礎(chǔ)
11.6.6 USBurb
11.6.7 OTG簡介
11.6.8 USB驅(qū)動程序
第12章 內(nèi)核開發(fā)基礎(chǔ)
12.1 相關(guān)資源
12.1.1 內(nèi)核文檔
12.1.2 經(jīng)典書籍
12.1 _3內(nèi)核社區(qū)
12.1.4 其他網(wǎng)絡(luò)資源
12.2 編碼風(fēng)格
12.3 內(nèi)核API
12.4 內(nèi)核中的Makefile
12.5 如何添加自己的驅(qū)動程序
12.6 如何提交補丁
12.7 學(xué)會使用Git
第13章 調(diào)試
13.1 內(nèi)核調(diào)試配置選項
13.2 二分法與printk()
13.2.1 二分查找法的基本原理
13.2.2 printk()
13.3 獲取內(nèi)核信息
13.3.1 syslog和dmesg
13.3.2 /proc
13.3.3 /sys
13.3.4 ioctl
13.4 oops
13.5 調(diào)試工具
13.5.1 gdb
13.5.2 kgdb
13.5.3 kdb
13.5.4 kprobes
13.5.5 systemtap
13.5.6 kdump
13.5.7 硬件工具
13.6 “神奇”的SysRq
13.7 使用模擬器與虛擬機

本目錄推薦

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