· 多年嵌入式人才培養及項目研發經驗總結
· 數百家企業嵌入式研發崗位人才需求匯總
· 數十所嵌入式專業大學院校教學現狀調研
· 側重實踐及案例分析并輔以代碼加以講解
本書重點介紹linux內核工作原理以及學習方法。將linux內核的修煉之道總結為四個層次:“全面了解抓基本,興趣導向深鉆研,融入社區做貢獻,堅持堅持再堅持”。第一層次目的是對linux以及內核有個全面的認識和了解,掌握linux內核源代碼的分析方法。第二個層次討論了內核中系統初始化、系統調用、中斷處理、進程管理及調度、內存管理、文件系統以及設備驅動等主要部分,目的是希望讀者以興趣為導向,尋找一個子系統或模塊,對其代碼深入鉆研和分析。第三個層次介紹了內核開發與調試的一些基本信息,目的是希望讀者能夠融入到內核的開發社區,做出自己的貢獻。第四個層次濃縮為兩個字——堅持。
本書語言通俗易懂,內容覆蓋了內核的學習方法到內核設計與實現等各方面內容,能夠帶領讀者快速走入linux內核的世界,適合對linux內核學習茫然的初學者,也適合各類希望深入理解linux內核的讀者。
《Windows CE嵌入式開發標準教程(修訂版)》章節:
第1章 初識linux
1.1 linux史記
1.1.1 linux誕生記
1.1.2 泰坦尼克的狂潮
1.1.3 提前發生的革命
1.1.4 和平、愛情和linux
1.1.5 ubuntu 4.10
1.1.6 richard stallman的征婚啟事
1.1.7 一封公開信
1.1.8 首款android手機
1.1.9 linux信用卡
1.2 內核的版本
1.3 獲取內核源碼
1.4 linux發行版
1.4.1 軟件包管理器
1.4.2 流行的發行版
1.4.3 選擇linux發行版
第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 發布時的組織結構
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 尋找初始化函數
第4章 系統初始化
4.1 引導過程
4.2 內核初始化
4.2.1 start_kernel函數
4.2.2 reset_init函數
4.2.3 kernel_init函數
4.2.4 init_post函數
4.3 init進程
4.4 內核選項解析
4.4.1 內核選項
4.4.2 注冊內核選項
4.4.3 兩次解析
4.5 子系統的初始化
4.5.1 do_initcalls()函數
4.5.2 initcall.init節
4.5.3 分析示例
第5章 系統調用
5.1 系統調用概述
5.1.1 系統調用、posix、c庫、系統命令和內核函數
5.1.2 系統調用表
5.1.3 系統調用號
5.1.4 系統調用服務例程
5.1.5 如何使用系統調用
5.1.6 為什么需要系統調用
5.2 系統調用執行過程
5.3 系統調用示例
5.3.1 sys_dup
5.3.2 sys_reboot
5.4 系統調用的實現
5.4.1 如何實現一個新的系統調用
5.4.2 什么時候需要添加新的系統調用
第6章 中斷與中斷處理
第7章 進程管理
第8章 調度
第9章 內存管理
第10章 文件系統
第11章 設備驅動
第12章 內核開發基礎
第13章 調試