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

Linux內核修煉之道

Linux內核修煉之道

定 價:¥49.00

作 者: 華清遠見嵌入式培訓中心 編著
出版社: 人民郵電出版社
叢編項:
標 簽: LINUX

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

內容簡介

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

作者簡介

  任橋偉,華清遠見資深講師,6年嵌入式系統(tǒng)軟硬件開發(fā)經(jīng)驗,資深研發(fā)工程師、項目經(jīng)理、CSDN專家。熟悉嵌入式系統(tǒng)軟硬件設計的全過程,多年來始終專注于嵌入式Linux內核研究和設備驅動的開發(fā),精通嵌入式Linux操作系統(tǒng),尤其擅長Linux系統(tǒng)內核及設備驅動開發(fā)。作為資深PM,曾指導完成多個大型嵌入式項目的軟硬件設計,涉及通信、網(wǎng)絡、控制等領域。著有《Linux內核修煉之道》、《Linux那些事》等備受網(wǎng)友關注的專業(yè)圖書,目前致力于嵌入式Linux內核技術的普及推廣和人才培養(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 首款Android手機
1.1.9 Linux信用卡
1.2 內核的版本
1.3 獲取內核源碼
1.4 Linux發(fā)行版
1.4.1 軟件包管理器
1.4.2 流行的發(fā)行版
1.4.3 選擇Linux發(fā)行版
第2章 配置與編譯內核
2.1 配置內核
2.1.1 幾種配置方式
2.1.2.config文件
2.1.3 配置選項詳解
2.2 編譯內核
2.2.1 準備工作
2.2.2 如何為內核打補丁
2.2.3 編譯步驟
2.2.4 文檔的編譯
2.2.5 編譯小技巧
2.3 自由軟件的編譯與安裝
2.3.1 發(fā)布時的組織結構
2.3.2 配置
2.3.3 編譯
2.3.4 安裝
第3章 瀏覽內核源代碼
3.1 內核學習的技術基礎
3.2 內核體系結構
3.3 內核源碼目錄結構
3.4 瀏覽代碼的工具
3.4.1 Source Insight
3.4.2 Vim+Cscope
3.4.3 LXR
3.5 內核代碼的特點
3.5.1 GCC擴展
3.5.2 內嵌匯編
3.6 內核中的鏈表
3.7 Kconfig和Makefile
3.7.1 Kconfig結構
3.7.2 利用Kconfig和Makefile尋找目標代碼
3.8 代碼分析示例
3.8.1 分析README
3.8.2 分析Kconfig和Makefile
3.8.3 尋找初始化函數(shù)
第4章 系統(tǒng)初始化
4.1 引導過程
4.2 內核初始化
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 內核選項解析
4.4.1 內核選項
4.4.2 注冊內核選項
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)調用
5.1 系統(tǒng)調用概述
5.1.1 系統(tǒng)調用、POSIX、C庫、系統(tǒng)命令和內核函數(shù)
5.1.2 系統(tǒng)調用表
5.1.3 系統(tǒng)調用號
5.1.4 系統(tǒng)調用服務例程
5.1.5 如何使用系統(tǒng)調用
5.1.6 為什么需要系統(tǒng)調用
5.2 系統(tǒng)調用執(zhí)行過程
5.3 系統(tǒng)調用示例
5.3.1 sys_dup
5.3.2 sys_reboot
5.4 系統(tǒng)調用的實現(xiàn)
5.4.1 如何實現(xiàn)一個新的系統(tǒng)調用
5.4.2 什么時候需要添加新的系統(tǒng)調用
第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 中斷服務程序
6.2 重要數(shù)據(jù)結構
6.2.1 中斷描述符irq_desc
6.2.2 中斷控制器描述符ir_chip
6.2.3 中斷服務程序描述符irqaction
6.3 中斷子系統(tǒng)初始化
6.3.1 中斷描述符表的初始化
6.3.2 中斷請求隊列的初始化
6.4 中斷或異常處理
6.4.1 中斷控制器的工作
6.4.2 CPU的工作
6.4.3 內核對中斷的處理
6.4.4 內核對異常的處理
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 進程標識符
7.1.6 進程間關系
7.1.7 進程0與進程1
7.1.8 進程的內核棧
7.1.9 獲取當前進程
’7.2 進程創(chuàng)建
7.2.1 fork()、vfork()與clone()
7.2.2 do_fork()
7.2.3 copy-process()
7.2.4 內核線程
7.3 進程退出
7.3.1 do-exit()
7.3.2 僵死進程
7.3.3 孤兒進程
7.4 后臺進程
第8章 調度
8.1 概述
8.1.1 調度策略
8.1.2 進程調度的目標
8.1.3 進程的nice值
8.1.4 優(yōu)先級
8.1.5 時間片
8.2 進程調度器的發(fā)展歷史
8.2.1 Linux2.4.的調度器
8.2.2 O(1)調度器
8.2.3 SD調度器
8.2.4 RSDL調度器
8.2.5 CFS調度器
8.3 O(1)調度器
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軟實時調度
8.4.CF’S調度器
8.4.1 完全公平與進程的權重
8.4.2 模塊化
8.4.3 調度實體
8.4.4 CFS運行隊列
8.4.5 虛擬運行時間
8.4.6 CFS調度類
8.4.7 schedule
8.4.8 組調度
8.5 進程搶占與切換
8.5.1 用戶搶占
8.5.2 內核搶占
8.5.3 進程切換
第9章 內存管理
9.1 內存概述
9.1.1 地址空間
9.1.2 分頁
9.2 內核的內存分配
9.2.1 內存結構
9.2.2 BUDDY頁面管理
9.2.3 SLAB內存管理
9.2.4. SLUB/SLOB內存管理
9.2.5 vmalloc內存分配
9.2.6 高端內存映射
9.3 進程地址空間
9.3.1 內存描述符
9.3.2 內存映射
9.3.3 多級頁表結構
9.3.4 缺頁錯誤處理
9.4 頁面緩存
9.4.1 頁面緩存管理
9.4.2 Swap內存交換
9.4.3 kswapd和pdflush
9.5 內存工具匯總
9.5.1 用proc接口查看內存信息
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ù)結構
10.2.1 超級塊
10.2.2 索引節(jié)點
10.2.3 目錄項
10.2.4 文件
10.2.5 與文件系統(tǒng)相關的數(shù)據(jù)結構
10.2.6 與進程相關的數(shù)據(jù)結構
10.2.7 路徑查找輔助結構
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ù)結構
10.5.2 inotify矽鉤子函數(shù)
10.5.3 inotify用戶接口
10.5.4 應用示例
10.5.5 inotify玲工具
第11章 設備驅動
11.1 概述
11.2 模塊機制與“Hello”World!
11.3 設備模型
11.3.1 設備模型的經(jīng)濟基礎
11.3.2 設備模型的上層建筑
11.3.3 類(Class)與類設備(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與內核源代碼
11.6 USB子系統(tǒng)與IJSB驅動
11.6.1 USBB簡史
11.6.2 USB協(xié)議基礎
11.6.3 USB子系統(tǒng)與sysfs
11.6.4 內核中的USB
11.6.5 USB設備某礎
11.6.6 USBurb
11.6.7 OTG簡介
11.6.8 USB驅動程序
第12章 內核開發(fā)基礎
12.1 相關資源
12.1.1 內核文檔
12.1.2 經(jīng)典書籍
12.1 _3內核社區(qū)
12.1.4 其他網(wǎng)絡資源
12.2 編碼風格
12.3 內核API
12.4 內核中的Makefile
12.5 如何添加自己的驅動程序
12.6 如何提交補丁
12.7 學會使用Git
第13章 調試
13.1 內核調試配置選項
13.2 二分法與printk()
13.2.1 二分查找法的基本原理
13.2.2 printk()
13.3 獲取內核信息
13.3.1 syslog和dmesg
13.3.2 /proc
13.3.3 /sys
13.3.4 ioctl
13.4 oops
13.5 調試工具
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) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號