日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入解析Linux2.6內(nèi)核源碼(linux2.6源碼分析)

Linux是一種極其強大的操作系統(tǒng),它的核心是內(nèi)核。內(nèi)核是系統(tǒng)框架中重要的一部分,直接調(diào)用硬件設備,管理外部設備和進程的運行。因此,Linux內(nèi)核的學習與分析是Linux系統(tǒng)開發(fā)的關(guān)鍵部分。本文主要介紹Linux 2.6內(nèi)核源碼,并深入其核心結(jié)構(gòu)和原理,以幫助讀者理解Linux內(nèi)核的內(nèi)部機制。

創(chuàng)新互聯(lián)建站長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為延邊朝鮮族企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設,延邊朝鮮族網(wǎng)站改版等技術(shù)服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

一、Linux 2.6內(nèi)核的歷史

Linux 2.6內(nèi)核在2023年12月發(fā)布。它與Linux 2.4的區(qū)別在于,它具有更好的內(nèi)存管理和網(wǎng)絡性能,支持新的文件系統(tǒng)以及更好的硬件驅(qū)動程序。Linux 2.6內(nèi)核是Linus Torvalds、Andrew Morton和其他Linux社區(qū)成員共同開發(fā)的,他們從3.0.0到3.7.1之間共同維護了這個版本的內(nèi)核。

二、Linux 2.6內(nèi)核架構(gòu)

Linux 2.6內(nèi)核由許多不同的模塊組成,其中核心模塊包括進程管理、文件系統(tǒng)、網(wǎng)絡驅(qū)動和設備驅(qū)動。這些模塊連接到內(nèi)核,通過系統(tǒng)調(diào)用和其他核心功能進行通信。下面將分別介紹這幾個模塊的作用和實現(xiàn)方法。

1.進程管理

進程管理模塊是Linux 2.6內(nèi)核中最基本的模塊之一。它的主要作用是確保應用程序能夠運行,并與其他進程協(xié)調(diào)。在Linux內(nèi)核中,每個進程都有一個唯一的ID,其中0號進程(init)是所有其他進程的父進程。當應用程序啟動時,它將被分配一個新的進程ID,并在虛擬內(nèi)存中分配資源,如堆??臻g和代碼段。

在Linux內(nèi)核中,進程管理器使用調(diào)度程序?qū)M程進行排隊,并決定哪個進程將適當?shù)剡\行。當一個進程已經(jīng)完成了它的任務并退出時,可以通過取回資源來回收內(nèi)存和協(xié)議棧。不僅如此,Linux內(nèi)核中的進程管理器還允許跨進程通信,通過IPC機制和套接字API等工具實現(xiàn)。

2.文件系統(tǒng)

在用戶空間的文件操作被轉(zhuǎn)化為系統(tǒng)調(diào)用,這些調(diào)用然后被處理為Linux內(nèi)核中的文件系統(tǒng)I/O。Linux內(nèi)核支持許多不同的文件系統(tǒng),包括ext4、Fat16/32和NTFS等。每個文件系統(tǒng)有一個不同的掛載點,例如,根據(jù)文件系統(tǒng)的類型和選項,可以將USB存儲設備掛載到“/mnt/u”目錄中。

Linux內(nèi)核中的文件系統(tǒng)模塊還負責文件鎖定和同步等重要任務。文件鎖定使多個進程能夠訪問相同的文件,而不會產(chǎn)生競爭條件。同步是確保對文件的訪問是原子性的,并提供了文件系統(tǒng)的一致性和可靠性保證。

3.網(wǎng)絡驅(qū)動

網(wǎng)絡驅(qū)動是定義網(wǎng)絡接口和讓Linux系統(tǒng)通過網(wǎng)絡進行通信的工具。在Linux內(nèi)核中,網(wǎng)絡驅(qū)動為套接字API(Sockets API)提供底層支持,Sockets API是一種通用的網(wǎng)絡編程接口,可以使應用程序可以從網(wǎng)絡上讀取或發(fā)送數(shù)據(jù)。

Linux內(nèi)核中的網(wǎng)絡驅(qū)動與許多不同的協(xié)議套件兼容,包括TCP/IP、IPX/SPX和AppleTalk。Linux還支持幾種流行的網(wǎng)絡協(xié)議,如SSH、FTP、HTTP和TP等,同時也支持防火墻和網(wǎng)絡地址轉(zhuǎn)換等功能,以保障網(wǎng)絡安全性。

4.設備驅(qū)動

Linux系統(tǒng)中的設備驅(qū)動程序有很多種,包括磁盤驅(qū)動程序、USB驅(qū)動程序、鍵盤驅(qū)動程序和鼠標驅(qū)動程序等,它們連接到與計算機系統(tǒng)關(guān)聯(lián)的設備。Linux 2.6內(nèi)核支持各種設備驅(qū)動程序,并提供一個靈活的架構(gòu),以便任意的設備可以連接和使用。

通常情況下,設備驅(qū)動程序代碼易于編寫,但它們必須與Linux內(nèi)核密切配合,確保數(shù)據(jù)的正確傳輸并提供良好的性能。設備驅(qū)動程序也負責減少系統(tǒng)丟失數(shù)據(jù)的概率,例如,當系統(tǒng)宕機時,保存數(shù)據(jù)的一致性。

三、Linux 2.6內(nèi)核的開發(fā)者

Linux 2.6內(nèi)核的開發(fā)是一個大型團隊的工作。Linus Torvalds是這個團隊的核心人員,他是Linux操作系統(tǒng)的創(chuàng)始人。除了他之外,還有一些其他的開發(fā)者,他們在為內(nèi)核中的各種問題提交補丁或其他貢獻。這些開發(fā)者經(jīng)常每天都會提交代碼和補丁,以確保內(nèi)核正常運行。

除了Linux社區(qū)內(nèi)的貢獻者,還有一些公司也參與了Linux 2.6內(nèi)核的開發(fā)。這些公司如Intel、RedHat、IBM、Oracle等,它們貢獻了許多優(yōu)秀的代碼并受到社區(qū)的認可。

在程序開發(fā)過程中,Linux內(nèi)核的大量代碼貢獻者必須不斷地維護代碼,保持代碼的高效性和穩(wěn)定性。該項目維護者通過ReviewBoard等工具來實現(xiàn)代碼審核,以確保代碼的質(zhì)量和可維護性。

四、

Linux 2.6內(nèi)核是Linux整個操作系統(tǒng)中最重要的部分,通過它,Linux系統(tǒng)可以與硬件設備進行溝通,用戶應用程序可以正確地運行和操作。本文對Linux 2.6內(nèi)核的架構(gòu)和模塊進行了深入分析,為讀者提供了一個更詳細和全面的了解。在未來的開發(fā)過程中,開發(fā)者和貢獻者們將繼續(xù)致力于改進內(nèi)核的性能和功能,使它成為一個強大、高效和安全的操作系統(tǒng)內(nèi)核。

成都網(wǎng)站建設公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設、網(wǎng)站制作、網(wǎng)頁設計及定制高端網(wǎng)站建設服務!

Linux系統(tǒng)移植的目錄

第1篇 系統(tǒng)移植基礎篇

第1章 linux內(nèi)核介紹 2

1.1 系統(tǒng)調(diào)用接口 2

1.1.1 linux系統(tǒng)調(diào)用 2

1.1.2 用戶編程接口 2

1.1.3 系統(tǒng)調(diào)用與服務例程的對應關(guān)系 3

1.1.4 系統(tǒng)調(diào)用過程 3

1.1.5 系統(tǒng)調(diào)用傳遞的參數(shù) 4

1.2 進程管理 4

1.2.1 進程 4

1.2.2 進程描述符 5

1.2.3 進程狀態(tài) 6

1.2.4 進程調(diào)度 6

1.2.5 進程地址空間 8

1.3 內(nèi)存管理 10

1.3.1 內(nèi)存管理技術(shù) 10

1.3.2 內(nèi)存區(qū)管理 12

1.3.3 內(nèi)核中獲取內(nèi)存的幾種方式 13

1.4 虛擬文件系統(tǒng) 14

1.4.1 虛擬文件系統(tǒng)作用 14

.1.4.2 文件系統(tǒng)的注冊 15

1.4.3 文件系統(tǒng)的安裝和卸載 15

1.5 設備驅(qū)動程序 17

1.5.1 字逗余符設備驅(qū)動程序 17

1.5.2 塊設備驅(qū)動程序 18

1.5.3 網(wǎng)絡設備驅(qū)動程序 21

1.5.4 內(nèi)存與i/o操作 22

1.6 小結(jié) 23

第2章 嵌入式linux開發(fā)環(huán)境搭建 24

2.1 虛擬機及l(fā)inux安裝 24

2.1.1 虛擬機的安裝 24

2.1.2 單獨分區(qū)安裝系統(tǒng) 30

2.1.3 虛擬機和主機通信設置 31

2.1.4 vmware tools工具安裝 33

2.1.5 虛擬機與主機共享文件 35

2.1.6 虛擬機與主機文件傳輸 36

2.2 交叉編譯工具 38

2.2.1 交叉編譯工具安裝 38

2.2.2 交中改叉編譯器測試 43

2.3 超級終端和minicom 44

2.3.1 超級終端軟件的安裝 44

2.3.2 minicom使用 45

2.3.3 securecrt使用 48

2.4 內(nèi)核、文件系統(tǒng)加載工具 48

2.4.1 燒寫bootloader 48

2.4.2 內(nèi)核和文件系統(tǒng)下載 52

2.4.3 應用程序和文件傳輸 54

2.5 在開發(fā)中使用網(wǎng)絡文件系統(tǒng)(nfs) 56

2.5.1 虛擬機設置 56

2.5.2 虛擬機的ip地址設置 56

2.5.3 驗證網(wǎng)絡連接 59

2.5.4 設置共享目錄 59

2.5.5 啟動nfs服務 60

2.5.6 修改共享配置后 61

2.5.7 掛載nfs 61

2.5.8 雙網(wǎng)卡掛載nfs 61

2.6 小結(jié) 62

第2篇 系統(tǒng)移植技術(shù)篇

第3章 bootloader移植 64

3.1 bootloader介紹 64

3.1.1 bootloader與嵌入式linux系統(tǒng)的關(guān)系 64

3.1.2 bootloader基本概念 64

3.1.3 bootloader啟動過程 66

3.2 bootloader之u-boot 67

3.2.1 u-boot優(yōu)點 67

3.2.2 u-boot的主要功能 68

3.2.3 u-boot目錄結(jié)構(gòu) 68

3.3 u-boot移植過程 69

3.3.1 環(huán)境配置 69

3.3.2 修改cpu/arm920t/start.s 70

3.3.4 具體平臺相關(guān)修改 79

3.3.5 其他部分修山培滾改 81

3.3.6 u-boot的編譯 84

3.4 bootloader之vivi 85

3.4.1 vivi簡介 85

3.4.2 vivi配置與編譯 85

3.4.3 代碼分析 88

3.5 vivi的運行 88

3.5.1 bootloader啟動的階段一 89

3.5.2 bootloader啟動的階段二 95

3.6 小結(jié) 95

第4章 linux內(nèi)核裁剪與移植 96

4.1 linux內(nèi)核結(jié)構(gòu) 96

4.1.1 內(nèi)核的主要組成部分 96

4.1.2 內(nèi)核源碼目錄介紹 97

4.2 內(nèi)核配置選項 99

4.2.1 一般選項 99

4.2.2 內(nèi)核模塊加載方式支持選項 100

4.2.3 系統(tǒng)調(diào)用、類型、特性、啟動相關(guān)選項 101

4.2.4 網(wǎng)絡協(xié)議支持相關(guān)選項 102

4.2.5 設備驅(qū)動支持相關(guān)選項 102

4.2.6 文件系統(tǒng)類型支持相關(guān)選項 103

4.2.7 安全相關(guān)選項 104

4.2.8 其他選項 104

4.3 內(nèi)核裁剪及編譯 105

4.3.1 安裝內(nèi)核源代碼 105

4.3.2 檢查編譯環(huán)境設置 105

4.3.3 配置內(nèi)核 106

4.3.4 編譯內(nèi)核 115

4.4 內(nèi)核映像文件移植到arm板 116

4.4.1 移植準備 116

4.4.2 燒寫系統(tǒng) 118

4.5 內(nèi)核升級 121

4.5.1 準備升級內(nèi)核文件 121

4.5.2 移植過程 122

4.6 小結(jié) 125

第5章 嵌入式文件系統(tǒng)制作 126

5.1 文件系統(tǒng)選擇 126

5.1.1 flash硬件方案比較 126

5.1.2 嵌入式文件系統(tǒng)的分層結(jié)構(gòu) 127

5.2 基于flash的文件系統(tǒng) 127

5.2.1 jffs文件系統(tǒng)(journalling flash filesystem) 128

5.2.2 yaffs文件系統(tǒng)(yet another flash file system) 130

5.2.3 cramfs文件系統(tǒng)(compressed rom file system) 133

5.2.4 romfs文件系統(tǒng)(rom file system) 134

5.3 基于ram的文件系統(tǒng) 135

5.4 文件系統(tǒng)的制作 135

5.4.1 制作ramdisk文件系統(tǒng) 136

5.4.2 制作yaffs2文件系統(tǒng) 144

5.4.3 制作jffs2文件系統(tǒng) 150

5.4.4 其他文件系統(tǒng)制作 152

5.5 小結(jié) 153

第3篇 系統(tǒng)移植與驅(qū)動篇

第6章 lcd驅(qū)動移植 156

6.1 認識lcd相關(guān)硬件原理 156

6.1.1 lcd概述 156

6.1.2 lcd控制器 157

6.1.3 lcd控制器方塊圖 157

6.1.4 lcd控制器操作 158

6.1.5 lcd控制寄存器 163

6.2 lcd參數(shù)設置 166

6.3 內(nèi)核lcd驅(qū)動機制 167

6.3.1 framebuffer概述 167

6.3.2 framebuffer 設備驅(qū)動的結(jié)構(gòu) 167

6.4 linux 2.6.25的lcd驅(qū)動源碼分析 171

6.4.1 lcd驅(qū)動開發(fā)的主要工作 171

6.4.2 s3c2410fb_init()函數(shù)分析 172

6.4.3 s3c2410fb_probe()函數(shù)分析 173

6.4.4 s3c2410fb_remove()函數(shù)分析 178

6.5 移植內(nèi)核中的lcd驅(qū)動 179

6.5.1 lcd硬件電路圖 179

6.5.2 修改lcd源碼 179

6.5.3 配置內(nèi)核 184

6.6 小結(jié) 187

第7章 觸摸屏驅(qū)動移植 188

7.1 觸摸屏概述 188

7.1.1 觸摸屏工作原理 188

7.1.2 觸摸屏的主要類型 188

7.2 s3c2440 adc接口使用 191

7.2.1 s3c2440觸摸屏接口概述 191

7.2.2 s3c2440觸摸屏接口操作 192

7.3 2.6內(nèi)核觸摸屏驅(qū)動源碼分析(s3c2410_ts.c源碼分析) 196

7.4 linux內(nèi)核輸入子系統(tǒng)介紹 201

7.4.1 input子系統(tǒng)概述 202

7.4.2 輸入設備結(jié)構(gòu)體 202

7.4.3 輸入鏈路的創(chuàng)建過程 205

7.4.4 使用input子系統(tǒng) 206

7.4.5 編寫輸入設備驅(qū)動需要完成的工作 208

7.5 觸摸屏驅(qū)動移植和內(nèi)核編譯 209

7.5.1 修改初始化源碼 209

7.5.2 修改硬件驅(qū)動源碼s3c2440_ts.c 211

7.5.3 修改kconfig和makefile 213

7.5.4 配置編譯內(nèi)核 214

7.5.5 觸摸屏測試程序設計 215

7.6 小結(jié) 216

第8章 u設備驅(qū)動移植 217

8.1 u協(xié)議 217

8.1.1 u協(xié)議的系統(tǒng)主要組成部分 217

8.1.2 總線物理拓撲結(jié)構(gòu) 219

8.1.3 u設備、配置、接口、端點 219

8.1.4 u設備狀態(tài) 222

8.1.5 u枚舉過程 223

8.1.6 u請求塊(urb) 226

8.2 u主機驅(qū)動 230

8.2.1 u主機驅(qū)動結(jié)構(gòu)和功能 230

8.2.2 主機控制器驅(qū)動(u_hcd) 231

8.2.3 ohci主機控制器驅(qū)動 233

8.2.4 s3c24xx ohci主機控制器驅(qū)動實例 234

8.3 u設備驅(qū)動 237

8.3.1 u骨架程序分析 237

8.3.2 u驅(qū)動移植的時鐘設置 241

8.4 u鼠標鍵盤驅(qū)動 242

8.4.1 u鼠標驅(qū)動代碼分析 242

8.4.2 u鍵盤驅(qū)動代碼分析 245

8.4.3 內(nèi)核中添加u鼠標鍵盤驅(qū)動 248

8.5 u盤驅(qū)動 249

8.5.1 內(nèi)核配置 249

8.5.2 移植和測試 250

8.6 小結(jié) 252

第9章 網(wǎng)卡驅(qū)動程序移植 253

9.1 以太網(wǎng)概述 253

9.1.1 以太網(wǎng)連接 253

9.1.2 以太網(wǎng)技術(shù)概述 254

9.1.3 以太網(wǎng)的幀結(jié)構(gòu) 256

9.2 網(wǎng)絡設備驅(qū)動程序體系結(jié)構(gòu) 258

9.2.1 嵌入式linux網(wǎng)絡驅(qū)動程序介紹 258

9.2.2 linux網(wǎng)絡設備驅(qū)動的體系結(jié)構(gòu) 259

9.2.3 網(wǎng)絡設備驅(qū)動程序編寫方法 259

9.2.4 網(wǎng)絡設備驅(qū)動程序應用實例 261

9.3 net_device 數(shù)據(jù)結(jié)構(gòu) 262

9.3.1 全局信息 262

9.3.2 硬件信息 263

9.3.3 接口信息 263

9.3.4 設備方法 266

9.3.5 公用成員 268

9.4 dm9000網(wǎng)卡概述 268

9.4.1 dm9000網(wǎng)卡總體介紹 269

9.4.2 dm9000網(wǎng)卡的特點 269

9.4.3 內(nèi)部寄存器 270

9.4.4 功能描述 274

9.5 dm9000網(wǎng)卡驅(qū)動程序移植 275

9.5.1 dm9000網(wǎng)卡連接 275

9.5.2 驅(qū)動分析——硬件的數(shù)據(jù)結(jié)構(gòu) 276

9.5.3 驅(qū)動分析——數(shù)據(jù)讀寫函數(shù) 277

9.5.4 驅(qū)動分析——重置網(wǎng)卡 277

9.5.5 驅(qū)動分析——初始化網(wǎng)卡 277

9.5.6 驅(qū)動分析——打開和關(guān)閉網(wǎng)卡 282

9.5.7 驅(qū)動分析——數(shù)據(jù)包的發(fā)送與接收 283

9.5.8 dm9000網(wǎng)卡驅(qū)動程序移植 285

9.6 小結(jié) 288

第10章 音頻設備驅(qū)動程序移植 289

10.1 音頻設備接口 289

10.1.1 pcm(脈沖編碼調(diào)制)接口 289

10.1.2 iis(inter-ic sound)接口 289

10.1.3 ac97(audio codec 1997)接口 289

10.1.4 linux音頻設備驅(qū)動框架 290

10.2 linux音頻設備驅(qū)動——oss驅(qū)動框架 291

10.2.1 oss驅(qū)動架構(gòu)硬件 291

10.2.2 oss驅(qū)動架構(gòu)代碼 291

10.2.3 oss初始化函數(shù)oss_init() 293

10.2.4 oss釋放函數(shù)oss_cleanup() 294

10.2.5 打開設備文件函數(shù)sound_open() 295

10.2.6 錄音函數(shù)sound_read() 296

10.2.7 播放函數(shù)sound_write() 297

10.2.8 控制函數(shù)sound_ioctl() 297

10.3 linux音頻設備驅(qū)動——alsa驅(qū)動框架 298

10.3.1 card和組件 299

10.3.2 pcm設備 303

10.3.3 控制接口 306

10.3.4 ac97 api音頻接口 308

10.4 音頻設備應用程序編寫 312

10.4.1 dsp接口編程 312

10.4.2 mixer接口編程 315

10.4.3 alsa應用程序編程 316

10.5 音頻設備驅(qū)動移植 318

10.5.1 添加uda1341結(jié)構(gòu)體 318

10.5.2 修改錄音通道 319

10.5.3 內(nèi)核中添加uda1341驅(qū)動支持 320

10.5.4 移植新內(nèi)核并進行測試 321

10.6 音頻播放程序madplay的移植 322

10.6.1 準備移植需要的源文件 322

10.6.2 交叉編譯 322

10.6.3 移植和測試 323

10.6.4 編譯中可能遇到的問題 324

10.7 小結(jié) 324

第11章 sd卡驅(qū)動移植 325

11.1 sd卡簡介 325

11.1.1 sd卡系統(tǒng)概念 325

11.1.2 sd卡寄存器 325

11.1.3 sd功能描述 326

11.2 sd卡驅(qū)動程序分析 329

11.2.1 host驅(qū)動部分 330

11.2.2 core驅(qū)動部分 333

11.2.3 card驅(qū)動部分 337

11.3 sd卡移植步驟 339

11.3.1 添加延時和中斷 339

11.3.2 配置內(nèi)核 340

11.3.3 燒寫新內(nèi)核 341

11.4 小結(jié) 342

第12章 nandflash驅(qū)動移植 343

12.1 nandflash介紹 343

12.1.1 nandflash命令介紹 343

12.1.2 nandflash控制器 344

12.2 nandflash驅(qū)動介紹 345

12.2.1 nand芯片結(jié)構(gòu) 345

12.2.2 nandflash驅(qū)動分析 346

12.3 nandflash驅(qū)動移植 351

12.3.1 內(nèi)核的修改 351

12.3.2 內(nèi)核的配置和編譯 353

12.4 小結(jié) 353

第4篇 系統(tǒng)移植高級篇

第13章 minigui與移植 356

13.1 minigui在上位機中的安裝 356

13.1.1 安裝需要的安裝文件 356

13.1.2 minigui的運行模式 357

13.1.3 編譯并安裝minigui 357

13.1.4 編譯安裝minigui需要的圖片支持庫 360

13.1.5 編譯minigui應用程序例子 360

13.2 eclipse開發(fā)minigui程序 361

13.2.1 linux下安裝eclipse介紹 361

13.2.2 使用eclipse編譯minigui程序 363

13.2.3 設置外部工具 367

13.2.4 運行程序 368

13.3 vc++6.0開發(fā)minigui程序 368

13.3.1 安裝windows開發(fā)庫 368

13.3.2 建立新工程 369

13.3.3 添加文件和設置工程 370

13.3.4 編譯和運行程序 371

13.3.5 minigui程序編程風格舉例 372

13.4 minigui的交叉編譯和移植 374

13.4.1 交叉編譯minigui 375

13.4.2 移植minigui程序 376

13.5 小結(jié) 378

第14章 qt開發(fā)與qtopia移植 379

14.1 qt安裝與編程 379

14.1.1 下載安裝qt 379

14.1.2 qt編程 380

14.1.3 使用qmake生成makefile 382

14.2 qtopia core在x86平臺上的安裝和應用 383

14.2.1 qtopia core安裝準備 383

14.2.2 編譯qtopia core 384

14.2.3 qtopia在x86平臺上的應用開發(fā) 385

14.3 qtopia core在嵌入式linux上的移植 388

14.3.1 qtopia core移植準備 389

14.3.2 交叉編譯qtopia core 389

14.3.3 編譯內(nèi)核 392

14.3.4 應用程序開發(fā) 392

14.3.5 應用程序移植 395

14.4 小結(jié) 395

第15章 嵌入式數(shù)據(jù)庫berkeley db移植 396

15.1 數(shù)據(jù)庫的基本概念 396

15.1.1 利用文檔和源代碼 396

15.1.2 創(chuàng)建環(huán)境句柄 396

15.1.3 創(chuàng)建數(shù)據(jù)庫句柄 397

15.1.4 打開數(shù)據(jù)庫 398

15.1.5 dbt結(jié)構(gòu) 398

15.1.6 存取數(shù)據(jù) 399

15.1.7 關(guān)閉數(shù)據(jù)庫 400

15.2 berkeley db數(shù)據(jù)庫安裝 400

15.2.1 安裝成c庫 400

15.2.2 安裝成c++庫 401

15.2.3 交叉編譯安erkeley db 401

15.3 使用berkeley db數(shù)據(jù)庫 403

15.3.1 代碼分析 403

15.3.2 編譯運行程序 406

15.4 移植berkeley db數(shù)據(jù)庫 407

15.4.1 數(shù)據(jù)庫設計 407

15.4.2 編寫應用程序 407

15.4.3 調(diào)試和交叉編譯應用程序 409

15.4.4 數(shù)據(jù)庫的移植和測試 410

15.5 小結(jié) 410

第16章 嵌入式數(shù)據(jù)庫sqlite移植 411

16.1 sqlite支持的sql語句 411

16.1.1 數(shù)據(jù)定義語句 411

16.1.2 數(shù)據(jù)操作語句 412

16.2 sqlite數(shù)據(jù)庫編譯、安裝和使用 412

16.2.1 安裝sqlite 413

16.2.2 利用sql語句操作sqlite數(shù)據(jù)庫 413

16.2.3 利用c接口訪問sqlite數(shù)據(jù)庫 414

16.3 移植sqlite 417

16.3.1 交叉編譯sqlite 417

16.3.2 交叉編譯應用程序 418

16.4 移植sqlite數(shù)據(jù)庫 418

16.4.1 文件移植 419

16.4.2 運行應用程序 419

16.4.3 測試sqlite3 419

16.5 小結(jié) 421

第17章 嵌入式web服務器boa移植 422

17.1 boa介紹 422

17.1.1 boa的功能 422

17.1.2 boa流程分析 423

17.1.3 boa配置信息 426

17.2 boa編譯和html頁面測試 428

17.2.1 編譯boa源代碼 428

17.2.2 設置boa配置信息 429

17.2.3 測試boa 429

17.3 cgi腳本測試 431

17.3.1 編寫測試代碼 431

17.3.2 編譯測試程序 431

17.3.3 測試cgi腳本 431

17.4 boa交叉編譯與移植 431

17.4.1 交叉編譯boa 432

17.4.2 準備測試程序 432

17.4.3 配置boa 432

17.4.4 測試 433

17.5 boa與sqlite結(jié)合 433

17.5.1 通過cgi程序訪問sqlite 434

17.5.2 編譯和測試 436

17.6 小結(jié) 437

第18章 嵌入式web服務器thttpd移植 438

18.1 thttpd介紹 438

18.1.1 web服務器比較 438

18.1.2 thttpd的特點 438

18.1.3 thttpd核心代碼分析 439

18.2 thttpd編譯和html頁面測試 442

18.2.1 配置文件介紹 442

18.2.2 thttpd編譯 443

18.2.3 運行和測試thttpd 443

18.3 cgi腳本測試 446

18.3.1 編寫測試代碼 446

18.3.2 編譯測試程序 447

18.3.3 測試cgi腳本 447

18.4 thttpd交叉編譯與移植 447

18.4.1 交叉編譯thttpd 447

18.4.2 交叉編譯cgi程序 448

18.4.3 移植thttpd 448

18.4.4 測試 449

18.5 thttpd與嵌入式數(shù)據(jù)庫結(jié)合 450

18.5.1 通過cgi程序訪問sqlite 450

18.5.2 編譯和測試 452

18.6 小結(jié) 453

第19章 jvm及其移植 454

19.1 jvm介紹 454

19.1.1 jvm原理 454

19.1.2 jvm支持的數(shù)據(jù)類型 455

19.1.3 jvm指令系統(tǒng) 456

19.1.4 jvm寄存器 456

19.1.5 jvm棧結(jié)構(gòu) 456

19.1.6 jvm碎片回收堆 459

19.1.7 jvm異常拋出和異常捕獲 459

19.2 類裝載 460

19.2.1 裝載類的結(jié)構(gòu)體 460

19.2.2 裝載類的操作 461

19.3 垃圾回收 463

19.3.1 mark-and-sweep回收算法 464

19.3.2 分代回收算法 465

19.3.3 增量收集 466

19.4 解析器 466

19.4.1 函數(shù)interpret() 466

19.4.2 函數(shù)fastinterpret() 467

19.4.3 函數(shù)slowinterpret () 469

19.5 java編程淺析 470

19.5.1 java程序命令 470

19.5.2 java構(gòu)造函數(shù) 470

19.5.3 java主函數(shù) 470

19.5.4 java程序編譯與運行 471

19.6 kvm執(zhí)行過程 471

19.6.1 kvm啟動過程 471

19.6.2 kvm用到的計數(shù)器清零 474

19.6.3 kvm初始化內(nèi)存管理 475

19.6.4 kvm中的哈希表初始化 476

19.6.5 kvm中的事件初始化 477

19.6.6 kvm中的資源釋放 477

19.7 pc機安裝jvm 477

19.7.1 jvm在windows上的安裝 478

19.7.2 jvm在linux上的安裝 479

19.8 kvm移植和測試 480

19.8.1 sdk安裝和環(huán)境變量設置 480

19.8.2 修改makefile和代碼 480

19.8.3 kvm編譯 481

19.8.4 測試 481

19.8.5 移植 483

19.9 小結(jié) 485

第20章 voip技術(shù)與linphone編譯 486

20.1 voip介紹 486

20.1.1 voip基本原理 486

20.1.2 voip的基本傳輸過程 487

20.1.3 voip的優(yōu)勢 487

20.1.4 voip的實現(xiàn)方式 487

20.1.5 voip的關(guān)鍵技術(shù) 488

20.2 osip協(xié)議概述 488

20.3 osip狀態(tài)機 489

20.3.1 ict(invite client (outgoing) transaction)狀態(tài)機 489

20.3.2 nict(non-invite client (outgoing) transaction)狀態(tài)機 498

20.3.3 ist(invite server (incoming) transaction)狀態(tài)機 499

20.3.4 nist(non-invite server (incoming) transaction)狀態(tài)機 500

20.4 osip解析器 500

20.4.1 初始化解析類型函數(shù)osip_body_init() 500

20.4.2 釋放函數(shù)osip_body_free() 501

20.4.3 字符串到body類型轉(zhuǎn)換函數(shù)osip_body_parse() 501

20.4.4 body類型到字符串類型轉(zhuǎn)換函數(shù)osip_body_to_str() 502

20.4.5 克隆函數(shù)osip_body_clone() 504

20.4.6 osip解析器分類 505

20.5 osip事務層 506

20.6 sip建立會話的過程 508

20.7 rtp協(xié)議 510

20.7.1 rtp基本概念 510

20.7.2 發(fā)送rtp 511

20.7.3 接收rtp 513

20.8 linphone編譯與測試 515

20.8.1 編譯linphone需要的軟件包 516

20.8.2 x86平臺上編譯和安裝 516

20.8.3 linphone測試 519

20.8.4 進一步的測試和開發(fā) 523

20.9 linphone交叉編譯 523

20.9.1 linphone的交叉編譯 523

20.9.2 linphone的測試 526

20.10 小結(jié) 527

linux的源代碼

有的,你安裝系統(tǒng)后源碼統(tǒng)一巖碼和放到了一個目錄里

/usr/src就是源碼模謹?shù)姆胖媚夸?/p>

比如說Linux kernel 2.6.18-92.e15的目錄就粗盯是

/usr/src/linux-2.6.18-92.e15

www.kernel.org

里有l(wèi)inux的內(nèi)核源代碼,人家編譯內(nèi)核都要去那里下載最新的內(nèi)核代碼。至于Linux下其他軟件的源代碼,你可以去相關(guān)的地址下載。更好巧汪使用google.com,英文的,不要用中文的百度或谷歌。還有很多人寫了關(guān)于閱讀linux源代碼的書,比如趙炯寫的一本分析早期內(nèi)核1.01的。

ps文件是postscript語言格式的文件,圓寬返在Linux下,可以用ps2pdf轉(zhuǎn)換成pdf文件,也可以用GhostView、橘饑GSview或者RoPS直接打開。

學習linux有很多種方法,我以前看過一遍文章,不過上面的書我都沒讀過,你自己看吧。

哦,趙炯博士的主頁:

他那本完全注釋linux源代碼:

呵呵,我不知道你下載的是什么,我上面這個地址可是pdf文件,你看后綴就知道了。

源代碼我只知道是編程用的,像學網(wǎng)絡賀老的就用不到了,具體在哪找我也說為太清楚禪野升脊胡,我本人就特好LINUX,我學的是網(wǎng)絡,至于方法,鳥哥的私房菜不錯,你可以去看看?。。?/p>

這里有很多源代碼瞎凱,只升森要你吵神畝能消化

linux2.6源碼分析的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux2.6源碼分析,深入解析Linux 2.6內(nèi)核源碼,Linux系統(tǒng)移植的目錄,linux的源代碼的信息別忘了在本站進行查找喔。

創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務領域的服務供應商,業(yè)務涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務、云計算服務、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設,咨詢熱線:028-86922220


網(wǎng)站欄目:深入解析Linux2.6內(nèi)核源碼(linux2.6源碼分析)
文章來源:http://www.dlmjj.cn/article/dhcpdss.html