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

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

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

定 價(jià):¥49.00

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

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115225856 出版時(shí)間: 2010-07-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 350 字?jǐn)?shù):  

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

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

作者簡(jiǎn)介

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

圖書(shū)目錄

第1章 初識(shí)Linux
1.1 Linux史記
1.1.1 Linux誕生記
1.1.2 泰坦尼克的狂潮
1.1.3 提前發(fā)生的革命
1.1.4 和平、愛(ài)情和Linux
1.1.5 Ubuntu4.1 0
1.1.6 Richard Stallman的征婚啟事
1.1.7 一封公開(kāi)信
1.1.8 首款A(yù)ndroid手機(jī)
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 配置選項(xiàng)詳解
2.2 編譯內(nèi)核
2.2.1 準(zhǔn)備工作
2.2.2 如何為內(nèi)核打補(bǔ)丁
2.2.3 編譯步驟
2.2.4 文檔的編譯
2.2.5 編譯小技巧
2.3 自由軟件的編譯與安裝
2.3.1 發(fā)布時(shí)的組織結(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)核代碼的特點(diǎn)
3.5.1 GCC擴(kuò)展
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)過(guò)程
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進(jìn)程
4.4 內(nèi)核選項(xiàng)解析
4.4.1 內(nèi)核選項(xiàng)
4.4.2 注冊(cè)內(nèi)核選項(xiàng)
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庫(kù)、系統(tǒng)命令和內(nèi)核函數(shù)
5.1.2 系統(tǒng)調(diào)用表
5.1.3 系統(tǒng)調(diào)用號(hà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í)行過(guò)程
5.3 系統(tǒng)調(diào)用示例
5.3.1 sys_dup
5.3.2 sys_reboot
5.4 系統(tǒng)調(diào)用的實(shí)現(xiàn)
5.4.1 如何實(shí)現(xiàn)一個(gè)新的系統(tǒng)調(diào)用
5.4.2 什么時(shí)候需要添加新的系統(tǒng)調(diào)用
第6章 中斷與中斷處理
6.1 概述
6.1.1 中斷分類
6.1.2 PIC vs APIC
6.1.3 中斷號(hào)vs中斷向量
6.1.4 中斷描述符表
6.1.5 門(mén)
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 中斷請(qǐng)求隊(duì)列的初始化
6.4 中斷或異常處理
6.4.1 中斷控制器的工作
6.4.2 CPU的工作
6.4.3 內(nèi)核對(duì)中斷的處理
6.4.4 內(nèi)核對(duì)異常的處理
6.5 中斷API
6.5.1 注冊(cè)和釋放
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 中斷負(fù)載均衡
6.8 中斷的下半部
6.8.1 下半部的實(shí)現(xiàn)機(jī)制
6.8.2 下半部機(jī)制的選擇
第7章 進(jìn)程管理
7.1 概述
7.1.1 進(jìn)程vs程序
7.1.2 進(jìn)程vs線程
7.1.3 進(jìn)程描述符
7.1.4 進(jìn)程狀態(tài)
7.1.5 進(jìn)程標(biāo)識(shí)符
7.1.6 進(jìn)程間關(guān)系
7.1.7 進(jìn)程0與進(jìn)程1
7.1.8 進(jìn)程的內(nèi)核棧
7.1.9 獲取當(dāng)前進(jìn)程
’7.2 進(jìn)程創(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 進(jìn)程退出
7.3.1 do-exit()
7.3.2 僵死進(jìn)程
7.3.3 孤兒進(jìn)程
7.4 后臺(tái)進(jìn)程
第8章 調(diào)度
8.1 概述
8.1.1 調(diào)度策略
8.1.2 進(jìn)程調(diào)度的目標(biāo)
8.1.3 進(jìn)程的nice值
8.1.4 優(yōu)先級(jí)
8.1.5 時(shí)間片
8.2 進(jìn)程調(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 運(yùn)行隊(duì)列
8.3.2 優(yōu)先級(jí)數(shù)組
8.3.3 計(jì)算時(shí)間片
8.3.4 平均休眠時(shí)間
8.3.5 判斷交互性
8.3.6 計(jì)算優(yōu)先級(jí)
8.3.7 休眠和喚醒
8.3.8 schedule()
8.3.9 負(fù)載均衡
8.3.1 O軟實(shí)時(shí)調(diào)度
8.4.CF’S調(diào)度器
8.4.1 完全公平與進(jìn)程的權(quán)重
8.4.2 模塊化
8.4.3 調(diào)度實(shí)體
8.4.4 CFS運(yùn)行隊(duì)列
8.4.5 虛擬運(yùn)行時(shí)間
8.4.6 CFS調(diào)度類
8.4.7 schedule
8.4.8 組調(diào)度
8.5 進(jìn)程搶占與切換
8.5.1 用戶搶占
8.5.2 內(nèi)核搶占
8.5.3 進(jìn)程切換
第9章 內(nèi)存管理
9.1 內(nèi)存概述
9.1.1 地址空間
9.1.2 分頁(yè)
9.2 內(nèi)核的內(nèi)存分配
9.2.1 內(nèi)存結(jié)構(gòu)
9.2.2 BUDDY頁(yè)面管理
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 進(jìn)程地址空間
9.3.1 內(nèi)存描述符
9.3.2 內(nèi)存映射
9.3.3 多級(jí)頁(yè)表結(jié)構(gòu)
9.3.4 缺頁(yè)錯(cuò)誤處理
9.4 頁(yè)面緩存
9.4.1 頁(yè)面緩存管理
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 超級(jí)塊
10.2.2 索引節(jié)點(diǎn)
10.2.3 目錄項(xiàng)
10.2.4 文件
10.2.5 與文件系統(tǒng)相關(guān)的數(shù)據(jù)結(jié)構(gòu)
10.2.6 與進(jìn)程相關(guān)的數(shù)據(jù)結(jié)構(gòu)
10.2.7 路徑查找輔助結(jié)構(gòu)
10.3 VFS的緩存機(jī)制
10.3.1 索引節(jié)點(diǎn)緩存
10.3.2 目錄項(xiàng)緩存
10.3.3 緩沖區(qū)緩存
10.4 文件系統(tǒng)的注冊(cè)與安裝
10.4.1 文件系統(tǒng)的注冊(cè)
10.4.2 文件系統(tǒng)的安裝
10.4.3 inotify的注冊(cè)和安裝
10.5 inotify機(jī)制
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ū)動(dòng)
11.1 概述
11.2 模塊機(jī)制與“Hello”World!
11.3 設(shè)備模型
11.3.1 設(shè)備模型的經(jīng)濟(jì)基礎(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目錄項(xiàng)sysfs_dirent
11.4.3 sysfs目錄和屬性
11.5 spec、datasheet與內(nèi)核源代碼
11.6 USB子系統(tǒng)與IJSB驅(qū)動(dòng)
11.6.1 USBB簡(jiǎn)史
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簡(jiǎn)介
11.6.8 USB驅(qū)動(dòng)程序
第12章 內(nèi)核開(kāi)發(fā)基礎(chǔ)
12.1 相關(guān)資源
12.1.1 內(nèi)核文檔
12.1.2 經(jīng)典書(shū)籍
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ū)動(dòng)程序
12.6 如何提交補(bǔ)丁
12.7 學(xué)會(huì)使用Git
第13章 調(diào)試
13.1 內(nèi)核調(diào)試配置選項(xiàng)
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 使用模擬器與虛擬機(jī)

本目錄推薦

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