出版時(shí)間:2001-8 出版社:清華大學(xué) 作者:王學(xué)龍 頁數(shù):400 字?jǐn)?shù):632000
內(nèi)容概要
本書分4部分詳細(xì)介紹嵌入式Linux系統(tǒng)的設(shè)計(jì)及應(yīng)用實(shí)例。第1部分集中對(duì)Linux系統(tǒng)的內(nèi)核源代碼進(jìn)行詳細(xì)分析,重點(diǎn)放在與嵌入式系統(tǒng)有關(guān)的若干問題上。第2部分介紹如何在嵌入式Linux系統(tǒng)中編程,包括與VOIP應(yīng)用有關(guān)的GNU C++編程、多線程編程以及BASH和GCC編程。第3部分對(duì)如何修改源代碼,如何組建嵌入式Linux系統(tǒng)進(jìn)行實(shí)例分析,同時(shí)對(duì)控制和修改與系統(tǒng)有關(guān)的腳本進(jìn)行示范。最后設(shè)計(jì)了嵌入式Linux系統(tǒng)的文件系統(tǒng)。第4部分逐步介紹嵌入式Linux系統(tǒng)的一個(gè)應(yīng)用實(shí)例,即如何在嵌入式Linux系統(tǒng)中開發(fā)VOIP(Voice on IP)應(yīng)用程序,并且給出此應(yīng)用程序范例的源代碼。開發(fā)嵌入式Linux系統(tǒng)的新手以及Linux系統(tǒng)的高級(jí)用戶均可以本書作為參考書。
書籍目錄
第1部分 Linux內(nèi)核源代碼分析第1章 Linux進(jìn)程管理代碼分析1.1 基本概念1.2 進(jìn)程的狀態(tài)和標(biāo)志1.3 Linux中進(jìn)程間的狀態(tài)轉(zhuǎn)換1.3.1 進(jìn)程的創(chuàng)建1.3.2 進(jìn)程的調(diào)度1.3.3 進(jìn)程間通信1.3.4 進(jìn)程從運(yùn)行態(tài)到停止態(tài)的轉(zhuǎn)換1.3.5 進(jìn)程從停止態(tài)到運(yùn)行態(tài)的轉(zhuǎn)換1.3.6 進(jìn)程的終止1.4 小結(jié)第2章 內(nèi)存管理分析2.1 概述2.1.1 Linux內(nèi)存管理的基本特點(diǎn)2.1.2 Linux內(nèi)存管理的主要實(shí)現(xiàn)技術(shù)2.1.3 虛擬內(nèi)存模型2.1.4 頁面管理2.2 Linux內(nèi)存管理數(shù)據(jù)結(jié)構(gòu)2.2.1 32位虛擬地址2.2.2 Linux的多級(jí)頁表結(jié)構(gòu)2.2.3 頁表項(xiàng)的格式2.2.4 動(dòng)態(tài)地址映射2.2.5 用戶進(jìn)程的虛擬內(nèi)存結(jié)構(gòu)2.3 進(jìn)程內(nèi)存管理數(shù)據(jù)結(jié)構(gòu)的建立、維護(hù)及其系統(tǒng)調(diào)用2.3.1 進(jìn)程載入、創(chuàng)建及內(nèi)存管理數(shù)據(jù)結(jié)構(gòu)和鏈接建立2.3.2 缺頁中斷服務(wù)2.4 主要函數(shù)分析2.4.1 內(nèi)存管理的主要文件2.4.2 內(nèi)存映射文件2.5 小結(jié)第3章 虛擬文件系統(tǒng)3.1 基本概念3.2 VFS的數(shù)據(jù)結(jié)構(gòu)3.2.1 VFS的超級(jí)塊結(jié)構(gòu)3.2.2 VFS inode及其相關(guān)數(shù)據(jù)結(jié)構(gòu)3.3 高速級(jí)存的管理3.3.1 緩沖區(qū)高速緩存3.3.2 VFS inode高速緩存3.3.3 VFS目錄高速緩存3.4 VFS inode資源鏈3.4.1 資源鏈的組織及主要操作3.4.2 VFS inode的主要操作3.5 文件系統(tǒng)的管理3.6 文件系統(tǒng)的系統(tǒng)調(diào)用3.6.1 sys_onen系統(tǒng)調(diào)用3.6.2 sys_close()系統(tǒng)調(diào)用3.7 小結(jié)第4章 EXT2文件系統(tǒng)4.1 概述4.2 EXT2文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)4.2.1 EXT2文件系統(tǒng)的物理布局4.2.2 EXT2文件系統(tǒng)的超級(jí)塊結(jié)構(gòu)4.2.3 EXT2文件系統(tǒng)的inode結(jié)構(gòu)4.2.4 EXT2文件系統(tǒng)的組描述符4.3 文件管理4.3.1 系統(tǒng)打開文件表4.3.2 EXT2的目錄項(xiàng)4.3.3 文件的訪問4.3.4 數(shù)據(jù)塊的管理4.4 EXT2文件系統(tǒng)的系統(tǒng)調(diào)用4.4.1 sys_mkdir系統(tǒng)調(diào)用4.4.2 sys_rmdir系統(tǒng)調(diào)用4.5 小結(jié)第5章 Linux的網(wǎng)絡(luò)設(shè)備接口5.1 網(wǎng)絡(luò)設(shè)備概述5.2 網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)結(jié)構(gòu)5.3 網(wǎng)絡(luò)設(shè)備的初始化5.3.1 模塊初始化模式的分析5.3.2 啟動(dòng)初始化模式的分析5.4 網(wǎng)絡(luò)設(shè)備的打開和關(guān)閉5.5 數(shù)據(jù)包的傳輸和接收5.5.1 Socket緩沖區(qū)及相關(guān)操作5.5.2 數(shù)據(jù)包的傳輸5.5.3 數(shù)據(jù)包的接收5.6 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的開發(fā)5.6.1 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的開發(fā)步驟5.6.2 設(shè)備驅(qū)動(dòng)程序的開發(fā)實(shí)例5.7 小結(jié)第6章 系統(tǒng)調(diào)用的原理6.1 系統(tǒng)調(diào)用概述6.2 Linux系統(tǒng)調(diào)用流程6.2.1 Linux系統(tǒng)調(diào)用的中斷機(jī)制6.2.2 相關(guān)的數(shù)據(jù)結(jié)構(gòu)及函數(shù)6.2.3 Linux系統(tǒng)調(diào)用的流程6.3 系統(tǒng)調(diào)用的實(shí)例分析6.3.1 mlock系統(tǒng)調(diào)用簡介6.3.2 mlock所用到的主要數(shù)據(jù)結(jié)構(gòu)和重要常量6.3.3 mlock系統(tǒng)調(diào)用代碼分析6.4 系統(tǒng)調(diào)用的創(chuàng)建6.4.1 系統(tǒng)調(diào)用編程6.4.2 系統(tǒng)調(diào)用的連接和使用6.5 小結(jié)第2部分 Linux系統(tǒng)編程第7章 Bash編程7.1 Bash的編程步驟7.2 Bash中的變量7.2.1 特殊變量7.2.2 Bash中的引號(hào)7.3 Bash中的數(shù)值運(yùn)算7.4 Bash中的特殊語句7.4.1 條件語句7.4.2 循環(huán)語句7.4.3 移位語句7.5 在Bash中使用函數(shù)7.6 正則表達(dá)式7.6.1 句點(diǎn)的單字符匹配7.6.2 行首和行尾的匹配7.6.3 星號(hào)和反斜杠的使用7.6.4 括號(hào)匹配和指定次數(shù)匹配7.6.5 Bash腳本中常用的正則表達(dá)式7.7 Bash編程實(shí)例7.7.1 網(wǎng)絡(luò)檢測腳本7.7.2 備份腳本7.7.3 限制訪問腳本7.7.4 清除日志腳本7.8 小結(jié)第8章 GNU make管理項(xiàng)目與Gcc編程8.1 make管理項(xiàng)目簡介8.2 編寫Makefile的規(guī)則8.2.1 虛擬目標(biāo)8.2.2 Makefile的變量8.2.3 make的變量8.2.4 隱式規(guī)則8.2.5 模式規(guī)則8.3 make命令8.4 makefile實(shí)例分析8.5 Gcc的基本概念8.6 Gcc命令8.7 Gcc擴(kuò)展簡介8.8 Gcc編程實(shí)例分析8.8.1 串行口通信程序8.8.2 網(wǎng)絡(luò)通信程序8.9 小結(jié)第9章 GNU C++編程9.1 Gcc與GNU C++的比較9.2 GNU C++程序概述9.3 GNU C++的編譯和調(diào)試9.3.1 警告與錯(cuò)誤9.3.2 編譯選項(xiàng)9.3.3 調(diào)試技術(shù)9.4 GNU C++編程特點(diǎn)9.4.1 內(nèi)存管理的特點(diǎn)9.4.2 指針使用的特點(diǎn)9.4.3 異常處理的特點(diǎn)9.4.4 類對(duì)象復(fù)制的特點(diǎn)9.5 GNU C++程序?qū)嵗治?.5.1 接收變?cè)某绦蚴纠?.5.2 類對(duì)象復(fù)制程序示例9.5.3 多重繼承程序示例9.5.4 異常處理程序示例9.6 小結(jié)第10章 多線程編程10.1 Linux線程簡介10.1.1 線程的基本概念10.1.2 線程的實(shí)現(xiàn)和創(chuàng)建10.1.3 線程創(chuàng)建源代碼10.2 LinuxThreads線程庫10.2.1 pthread_create()10.2.2 pthread_join()10.2.3 pthread_self()10.2.4 pthread_detach()10.2.5 pthread_exit()10.2.6 pthread_cancel()10.3 線程間通信10.3.1 pthread_once()10.3.2 pthread_key_create()10.3.3 pthread_getspecific()10.3.4 pthread_setspecific()10.3.5 pthread_mutex_lock()10.3.6 pthread_mutex_unlock()10.3.7 pthread_cond_init()10.3.8 pthread_cond_wait()10.4 守護(hù)線程分析10.5 多線程編程實(shí)例分析10.5.1 X Window GUI示例程序10.5.2 TCP/IP服務(wù)器示例程序10.5.3 生產(chǎn)者和消費(fèi)者模型示例程序10.5.4 同步線程測試示例程序10.5.5 同步線程讀寫緩沖區(qū)示例程序10.6 小結(jié)第3部分 建立嵌入式Linux系統(tǒng)第11章 修改和編譯Linux內(nèi)核11.1 概述11.2 修改Linux內(nèi)核示例11.2.1 虛擬內(nèi)存11.2.2 實(shí)時(shí)調(diào)度11.3 編譯Linux內(nèi)核11.3.1 初始化環(huán)境11.3.2 配置核心11.3.3 編譯內(nèi)核11.3.4 應(yīng)用內(nèi)核11.4 小結(jié)第12章 嵌入式Linux系統(tǒng)中的腳本控制12.1 Linux啟動(dòng)和退出過程簡介12.2 自定義決定運(yùn)行級(jí)別的腳本12.3 特定運(yùn)行級(jí)別腳本12.4 自定義公共啟動(dòng)腳本12.5 自定義退出腳本12.6 小結(jié)第13章 組建嵌入式Linux系統(tǒng)的文件系統(tǒng)13.1 概述13.2 組建嵌入式Linux系統(tǒng)的文件系統(tǒng)腳本13.3 分析嵌入式Linux系統(tǒng)的文件系統(tǒng)13.4 小結(jié)第4部分 嵌入式Linux系統(tǒng)的應(yīng)用第14章 IP電話的實(shí)現(xiàn)原理14.1 IP電話應(yīng)用結(jié)構(gòu)14.2 H.323協(xié)議棧結(jié)構(gòu)及應(yīng)用14.3 H.323系統(tǒng)的組成14.4 H.323協(xié)議實(shí)體的功能14.4.1 終端功能14.4.2 網(wǎng)關(guān)功能14.4.3 網(wǎng)守功能14.4.4 多點(diǎn)通信端點(diǎn)的功能14.5 相關(guān)協(xié)議簡介14.5.1 RAS協(xié)議14.5.2 H.255.014.5.3 H.24514.5.4 RTP14.5.5 RTCP14.5.6 RSVP14.6 小結(jié)第15章 利用PPCBOOT引導(dǎo)系統(tǒng)15.1 開發(fā)步驟簡介15.2 開發(fā)模型15.3 修改PPCBOOT源代碼15.3.1 與主板有關(guān)的文件15.3.2 與CPU有關(guān)的文件15.3.3 頭文件15.3.4 公共函數(shù)文件15.3.5 網(wǎng)絡(luò)傳輸代碼文件15.3.6 Makefile文件15.4 PPCBoot的監(jiān)視界面15.5 小結(jié)第16章 建立開發(fā)平臺(tái)16.1 安裝CDK 1.216.2 設(shè)置目標(biāo)系統(tǒng)16.3 設(shè)置開發(fā)主機(jī)16.3.1 設(shè)置DHCP16.3.2 設(shè)置TFTP16.3.3 設(shè)置NFS16.4 測試目標(biāo)系統(tǒng)的內(nèi)核裝載與引導(dǎo)16.5 開發(fā)平臺(tái)的調(diào)試模型16.5.1 開發(fā)應(yīng)用16.5.2 調(diào)試應(yīng)用16.6 小結(jié)第17章 應(yīng)用軟件開發(fā)實(shí)例17.1 需求分析17.2 使用的協(xié)議棧和函數(shù)庫17.3 應(yīng)用軟件源代碼17.3.1 main.cxx17.3.2 main.h17.3.3 version.h17.3.4 Makefile17.4 小結(jié)參考文獻(xiàn)
圖書封面
評(píng)論、評(píng)分、閱讀與下載
嵌入式Linux系統(tǒng)設(shè)計(jì)與應(yīng)用 PDF格式下載