· 多年嵌入式人才培養及項目研發經驗總結
· 數百家企業嵌入式研發崗位人才需求匯總
· 數十所嵌入式專業大學院校教學現狀調研
· 側重實踐及案例分析并輔以代碼加以講解
本書介紹了操作系統的幾大組成部分,并以linux操作系統為例說明了各功能的實現。
全書共分10章,內容包括嵌入式linux操作系統概念,linux系統安裝與使用,操作系統的存儲管理、進程管理、文件管理、設備管理等幾個核心模塊,其中涉及對linux內核代碼的部分分析介紹。在本書最后一章,綜合介紹了開發嵌入式linux系統的全過程,包括建立開發環境、編譯bootloader、編譯內核、部署根文件系統等全過程。
本書可作為高職高專院!扒度胧讲僮飨到y”課程的教材,也可供嵌入式linux愛好者參考使用。...
第1章 嵌入式linux操作系統簡介
1.1 操作系統
1.2 嵌入式系統
1.3 嵌入式操作系統
1.4 嵌入式linux基礎
1.4.1 linux發展概述
1.4.2 linux作為嵌入式操作系統的優勢
1.4.3 linux發行版本
1.4.4 如何學習linux
1.5 linux安裝
1.5.1 基本概念
1.5.2 硬件需求
1.5.3 安裝準備
1.5.4 安裝過程
1.6 linux文件及文件系統
1.6.1 文件類型及文件屬性
1.6.2 文件系統類型介紹
1.6.3 linux目錄結構
思考題
第2章 linux操作系統使用與系統配置
2.1 linux基本命令
2.1.1 用戶系統相關命令
2.1.2 文件目錄相關命令
2.1.3 壓縮打包相關命令
2.1.4 比較合并文件相關命令
2.1.5 網絡相關命令
2.2 linux系統服務
2.2.1 獨立運行的服務
2.2.2 xinetd設定的服務
2.2.3 設定服務命令的常用方法
思考題
第3章 嵌入式linux編程環境
3.1 linux編輯器vi的使用
3.1.1 vi的模式
3.1.2 vi的基本流程
3.1.3 vi各模式的功能鍵
3.2 gcc編譯器
3.2.1 gcc編譯流程解析
3.2.2 gcc編譯選項分析
3.3 gdb調試器
3.3.1 gdb使用流程
3.3.2 gdb基本命令
3.4 make工程管理器
3.4.1 makefile基本結構
3.4.2 makefile變量
3.4.3 makefile規則
3.4.4 make管理器的使用
3.5 使用autotools
3.5.1 autotools使用流程
3.5.2 使用autotools所生成的makefile
思考題
第4章 存儲管理
4.1 進程虛存空間的管理
4.1.1 進程的虛存區域
4.1.2 虛存空間的映射和虛存區域的建立
4.2 內存空間/地址類型
4.3 分頁機制與mmu
4.4 高速緩存
4.5 內存區域zone
4.6 獲得內存頁面
4.7 slab分配器
4.8 kmalloc
4.9 高端內存
4.10 虛擬內存的申請和釋放
思考題
第5章 操作系統進程
5.1 進程的基本概念
5.2 linux系統進程
5.2.1 linux進程基礎
5.2.2 進程描述符
5.2.3 進程的狀態與轉換
5.2.4 進程隊列指針
5.2.5 進程隊列的全局變量
5.3 linux進程的創建
5.4 linux進程相關的系統調用
5.4.1 execve()系統調用
5.4.2 wait()系統調用
5.4.3 exit()系統調用
5.5 linux的進程調度
5.6 實時linux
思考題
第6章 進程間通信
6.1 什么是進程間通信
6.2 互斥與同步
6.3 信號量
6.3.1 什么是信號量
6.3.2 信號量的內核實現
6.3.3 信號量的使用
6.4 共享內存
6.4.1 什么是共享內存
6.4.2 共享內存的內核實現
6.4.3 共享內存的使用
6.5 消息隊列
6.5.1 什么是消息隊列
6.5.2 消息隊列的內核實現
6.5.3 消息隊列的使用
6.6 管道
6.6.1 什么是管道
6.6.2 管道的內核實現
6.6.3 管道的讀寫規則
思考題
第7章 中斷與系統調用
7.1 什么是中斷
7.2 嵌入式平臺硬件中斷特點
7.3 linux內核中斷機制概述
7.4 編寫中斷處理程序isr
7.4.1 中斷處理系統結構
7.4.2 注冊中斷處理函數
7.4.3 中斷標志flags
7.4.4 isr上下文
7.5 tasklet機制
7.6 上半部和下半部
7.6.1 上半部和下半部的設計
7.6.2 中斷處理程序的不可重入性
7.7 工作隊列
7.8 系統調用
7.8.1 初始化系統調用
7.8.2 system_call函數
7.8.3 參數的傳遞與驗證
思考題
第8章 文件管理
8.1 磁盤的物理組織
8.2 文件和目錄
8.2.1 文件的分類
8.2.2 目錄
8.2.3 文件系統
8.3 虛擬文件系統
8.3.1 虛擬文件系統概述
8.3.2 vfs超級塊
8.3.3 文件控制塊
8.3.4 vfs的目錄項
8.3.5 文件對象
8.3.6 主要數據結構間的關系
8.4 文件系統注冊與卸載
8.4.1 和文件系統相關的數據結構
8.4.2 文件系統類型注冊函數
8.4.3 掛載文件系統
8.4.4 文件系統卸載
思考題
第9章 設備管理
9.1 設備及設備管理的功能
9.1.1 設備分類
9.1.2 設備管理
9.2 i/o內核子系統
9.2.1 i/o系統的基本功能
9.2.2 i/o空間
9.2.3 i/o控制方式
9.3 linux設備驅動程序
9.3.1 設備管理
9.3.2 linux字符設備
9.3.3 linux塊設備
9.3.4 linux網絡接口
9.3.5 linux設備文件
9.3.6 linux設備注冊與注銷
9.3.7 操作i/o端口
9.3.8 linux邏輯i/o與設備驅動程序的接口
思考題
第10章 嵌入式linux的構建
10.1 嵌入式開發環境的搭建
10.1.1 嵌入式交叉編譯環境的搭建
10.1.2 超級終端和minicom配置及使用
10.1.3 下載映像到開發板
10.1.4 編譯嵌入式linux內核
10.1.5 linux內核目錄結構
10.1.6 制作文件系統
10.2 bootloader介紹
10.2.1 u-boot概述
10.2.2 u-boot的常用命令
10.3 嵌入式linux根文件系統構建
10.3.1 根文件系統目錄結構
10.3.2 fhs目錄結構
10.3.3 文件存放規則
思考題
參考文獻