內容簡介
本書介紹了Linux作業系統對軟體、網路、檔案系統、用戶、中斷及設備的管理機制以及Linux系統環境shell語言、Makefile的編寫。本書主要以Linux實踐為主,旨在幫助不了解Linux系統的讀者學會使用Linux作業系統,學會在Linux作業系統上搭建自己的嵌入式開發環境,從而為更深入的學習打下基礎。 本書可作為高等院校嵌入式技術專業以及電子信息類其他專業的教材,也可供中等職業技術院校使用。
圖書目錄
第1章 嵌入式Linux作業系統簡介 1
1.1 作業系統 1
1.1.1 作業系統的基本概念 1
1.1.2 作業系統的主要組成 3
1.2 嵌入式系統與通用PC系統的不同 5
1.3 嵌入式作業系統 6
1.4 嵌入式Linux基礎 8
1.4.1 Linux發展概述 8
1.4.2 Linux作為嵌入式作業系統的優勢 10
1.4.3 Linux發行版本 11
1.5 Linux系統安裝 12
1.5.1 檔案系統和硬碟分區的概念 12
1.5.2 安裝準備 14
1.5.3 安裝過程 15
1.6 安裝虛擬機工具 31
1.7 配置vim編輯環境 38
思考題 38
第2章 Linux作業系統的使用 39
2.1 認識Shell 39
2.2 Shell命令的格式 41
2.2.1 命令提示符 41
2.2.2 命令格式 41
2.3 Linux命令 42
2.3.1 用戶系統相關命令 42
2.3.2 檔案、目錄相關命令 47
2.3.3 壓縮打包相關命令 57
2.3.4 檔案比較命令diff 60
2.4 Linux環境變數 63
思考題 65
第3章 Linux軟體管理 66
3.1 Linux系統的軟體管理機制 66
3.1.1 常用軟體包管理工具簡介 66
3.1.2 軟體的安裝與卸載 70
3.1.3 靜態軟體包的管理 73
3.1.4 如何製作一個軟體包 77
3.2 APT高級軟體包管理工具 79
3.2.1 APT的運行機制 79
3.2.2 3個重要的配置檔案 81
3.2.3 apt—get工具集 82
3.2.4 apt—cache工具集 89
第4章 Linux用戶管理 95
4.1 什麼是用戶 95
4.1.1 用戶的屬性 95
4.1.2 用戶與組 96
4.1.3 相關的配置檔案 96
4.2 管理命令 98
4.2.1 創建用戶 98
4.2.2 刪除用戶 99
4.2.3 修改屬性 99
4.2.4 組管理 100
4.2.5 用戶間通信 101
4.3 磁碟配額 101
4.3.1 什麼是磁碟配額 101
4.3.2 相關命令 102
4.3.3 套用實例 104
第5章 Linux檔案系統 108
5.1 檔案和目錄 108
5.1.1 Linux檔案的分類 108
5.1.2 Linux目錄結構 109
5.2 檔案系統 110
5.3 檔案系統體系結構 111
5.4 使用BusyBox製作根檔案系統 113
5.4.1 配置與編譯BusyBox 113
5.4.2 製作initrd鏡像 114
思考題 118
第6章 Linux網路配置管理 119
6.1 網路基礎知識介紹 119
6.1.1 IP位址 119
6.1.2 子網掩碼 120
6.1.3 網關 120
6.1.4 DNS伺服器 121
6.2 Linux系統網路配置 121
6.2.1 ifconfig命令 122
6.2.2 dhclient命令 124
6.2.3 修改配置檔案來配置IP位址、網關、子網掩碼 125
6.2.4 配置DNS伺服器 126
6.3 Linux系統常用網路服務配置 127
6.3.1 TFTP服務 127
6.3.2 NFS服務 130
6.3.3 SSH服務 134
6.3.4 Samba服務 138
思考題 140
第7章 嵌入式Linux編程環境 141
7.1 Linux編輯器vi的使用 141
7.1.1 vi的工作模式 142
7.1.2 使用vi的基本流程 142
7.1.3 vi的模式按鈕說明 144
7.2 gcc編譯器 147
7.2.1 gcc編譯流程及編譯選項分析 147
7.2.2 gcc編譯選項分析 149
7.3 gdb調試器 151
7.3.1 gdb使用流程 152
7.3.2 gdb命令行參數 156
7.3.3 gdb基本命令 157
7.4 Make工程管理器 162
7.4.1 Makefile基本規則 162
7.4.2 Makefile假目標 167
7.4.3 Makefile變數 168
7.4.4 Makefile函式 170
思考題 174
第8章 Shell編程 175
8.1 認識Shell腳本 175
8.2 Shell腳本的基本語法 176
8.2.1 開頭 176
8.2.2 執行 176
8.2.3 注釋 177
8.2.4 變數 177
8.2.5 Shell程式和語句 183
8.2.6 Shell函式 195
8.2.7 Shell腳本調用 197
8.3 Shell俄羅斯方塊遊戲 198
8.3.1 方塊定義 198
8.3.2 方塊移動 203
8.3.3 隨機數 211
8.3.4 隨機方塊移動 215
8.3.5 隨機方塊降落 221
第9章 中斷及設備管理 228
9.1 什麼是中斷 228
9.2 嵌入式平台硬體中斷特點 229
9.3 Linux核心中斷機制概述 233
9.3.1 中斷處理系統結構 237
9.3.2 註冊中斷處理函式 238
9.3.3 中斷標誌flags 240
9.3.4 ISR上下文 241
9.4 設備及設備管理的功能 241
9.4.1 設備分類 241
9.4.2 設備管理 242
9.4.3 Linux字元設備 242
9.4.4 Linux塊設備 244
9.4.5 Linux網路接口 244
9.4.6 Linux設備檔案 245
思考題 247
文摘
著作權頁:
插圖:
2.μC/OS
μC/OS是一個典型的實時作業系統。該系統從1992年開始發展,目前流行的是第二個版本,即μC/OS Ⅱ。它的特點是開放原始碼,代碼結構清晰,注釋詳盡,組織有條理,可移植性好;可剪裁,可固化;搶占式核心,最多可以管理60個任務。該系統短小精悍,是研究和學習實時作業系統的首選。
3.Windows CE
Windows CE是微軟公司的產品,它是從整體上為資源有限的平台設計的多執行緒、完整優先權、多任務的作業系統。Windows CE採用模組化設計,並允許針對從掌上電腦到專用的工控電子設備進行定製。作業系統的基本核心需要至少200KB的ROM。從SEGA的DreamCast遊戲機到現在大部分的高價掌上電腦都採用了Windows CE。
隨著嵌人式作業系統領域日益激烈的競爭,微軟公司不得不應付來自Linux等免費系統的衝擊。微軟公司在Windows CE.Net 4.2版中,增加一項授權價僅3美元的精簡版本Windows CE.NetCore。Windows CE.Net Core具有基本的功能,包括實時0S核心(Real Time OS Kemel),新檔案系統,IPv4、IPv6、WLAN、藍牙等聯網功能,Windows Media Codec,.Net開發框架以及SQLServerce。微軟公司推出低價版本Windows CE.Net,主要是看好語音電話、WLAN的無線橋接器和個性化視聽設備的成長潛力。
4.VxWorks
Vxworks是WindRiver公司專門為實時嵌八式系統設計開發的作業系統軟體,為程式設計師提供了高效的實時任務調度、中斷管理,實時的系統資源以及實時的任務間通信。應用程式員可以將儘可能多的精力放在應用程式本身,而不必再去關心繫統資源的管理。該系統主要套用在單板機、數據網路(乙太網交換機、路由器)、通信方面等諸多方面。其核心功能如下。
(1)微核心Wind。
(2)任務間通信機制。
(3)網路支持。
(4)檔案系統和I/O管理。
(5)POSIX標準實時擴展。
(6)C++以及其他標準支持。
這些核心功能可以與WindRiver系統的其他附屬檔案和Tornad0合作夥伴的產品結合在一起使用。誰都不能否認這是一個非常優秀的賣時系統,但其昂貴的價格使不少廠商望而卻步。