東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

說明書三農(nóng)書屋計(jì)算機(jī)書庫健康書屋中小學(xué)教輔考試寶典經(jīng)典名著電視說明書洗衣機(jī)說明書相機(jī)說明書健康教育公務(wù)員考試

首頁書籍教程健康書屋 → linux內(nèi)核分析及編程下載 pdf完整版

linux內(nèi)核分析及編程下載

linux內(nèi)核分析及編程下載pdf完整版

  • 大。41.1M
  • 語言:中文
  • 平臺:WinAll
  • 更新:2017-05-11 14:13
  • 等級:
  • 類型:健康書屋
  • 網(wǎng)站:暫無
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評論下載地址

LInux內(nèi)核分析及編程是一本計(jì)算機(jī)類書籍,對于想了解Linux開發(fā),以及從事Linux內(nèi)核編程的開發(fā)人員來說,本書是一本集大成之作,它既有講解透徹的原理,也有詳細(xì)實(shí)用的示例,更有作者多年從事實(shí)際開發(fā)工作的心得。歡迎大家前來下載!

LInux內(nèi)核分析及編程內(nèi)容簡介

本書作者在整理自己多年研發(fā)筆記的基礎(chǔ)上,以精心挑選的典型開發(fā)實(shí)例,向讀者詳細(xì)講述了Linux內(nèi)核源代碼的各部分結(jié)構(gòu)、原理及組成框架,主要分析了Linux最新版本(2.6.11)的內(nèi)核源代碼,幫助讀者深入理解Linux內(nèi)核,精通Linux內(nèi)核編程。全書分為20章,內(nèi)容包括進(jìn)程管理、進(jìn)程間通信、內(nèi)存管理、文件系統(tǒng)、I/O接口及資源管理、內(nèi)核的編譯及調(diào)試原理、網(wǎng)絡(luò)通信、內(nèi)核安全、USB驅(qū)動程序等。

對于想了解Linux開發(fā),以及從事Linux內(nèi)核編程的開發(fā)人員來說,本書是一本集大成之作,它既有講解透徹的原理,也有詳細(xì)實(shí)用的示例,更有作者多年從事實(shí)際開發(fā)工作的心得。本書主要針對從事Linux內(nèi)核編程的中高級讀者及軟件工程師,也很合適作為大學(xué)教材和參考書。

LInux內(nèi)核分析及編程目錄

第1章數(shù)據(jù)類型及鏈表1

1.1數(shù)據(jù)類型所占空間1

1.2有關(guān)移植性的其他問題3

1.2.1時(shí)間間隔3

1.2.2頁面大小3

1.2.3字節(jié)存儲順序3

1.2.4數(shù)據(jù)對齊4

1.3內(nèi)核通用鏈表4

1.3.1hlist哈希鏈表7

1.3.2RCU操作保護(hù)的鏈表8

1.4AT&T的匯編格式9

1.5內(nèi)核中的時(shí)間延遲11

第2章進(jìn)程及進(jìn)程調(diào)度13

2.1進(jìn)程結(jié)構(gòu)13

2.2進(jìn)程創(chuàng)建24

2.2.1對象緩存的分配24

2.2.2系統(tǒng)調(diào)用sys_fork25

2.3內(nèi)核線程26

2.4工作隊(duì)列27

2.4.1工作隊(duì)列的結(jié)構(gòu)及宏定義28

2.4.2工作隊(duì)列的建立29

2.5進(jìn)程調(diào)度33

2.5.1runqueue結(jié)構(gòu)34

2.5.2進(jìn)程調(diào)度初始化36

2.5.3負(fù)載平衡的啟動38

2.5.4負(fù)載平衡的方法42

2.5.5函數(shù)schedule分析46

2.5.6調(diào)度器的實(shí)時(shí)性能51

2.6Linux內(nèi)核搶占51

第3章內(nèi)核同步機(jī)制55

3.1內(nèi)核中的互斥機(jī)制55

3.1.1自旋鎖55

3.1.2原子操作59

3.1.3信號量60

3.2RCU64

3.2.1RCU原理介紹64

3.2.2RCU應(yīng)用實(shí)例66

3.2.3RCU相關(guān)數(shù)據(jù)結(jié)構(gòu)67

3.2.4內(nèi)核RCU機(jī)制的建立68

3.2.5RCU回調(diào)處理73

3.3內(nèi)核與用戶空間的通信機(jī)制74

3.3.1熱插拔操作74

3.3.2內(nèi)核發(fā)消息到用戶空間通信機(jī)制75

3.3.3內(nèi)核空間調(diào)用用戶空間程序78

第4章內(nèi)存管理81

4.1內(nèi)存地址類型和內(nèi)存保護(hù)82

4.1.1地址類型82

4.1.2內(nèi)存保護(hù)83

4.280386的段頁式管理機(jī)制84

4.2.1描述符及分段84

4.2.2物理內(nèi)存分頁機(jī)制85

4.3IA-64Linux地址空間劃分86

4.4進(jìn)程的內(nèi)存組織88

4.4.1內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)88

4.4.2VMA在/proc文件系統(tǒng)中的顯示90

4.5虛擬內(nèi)存管理91

4.5.1大容量對象緩存91

4.5.2內(nèi)存映射94

4.5.3物理內(nèi)存的反向映射110

4.5.4虛擬內(nèi)存的加鎖和保護(hù)113

4.6物理內(nèi)存管理114

4.6.1物理內(nèi)存的結(jié)構(gòu)114

4.6.2物理頁位圖116

4.6.3物理內(nèi)存的初始化過程117

4.6.4物理頁面的分配和回收121

4.6.5緩存及slab125

4.6.6緩存分配的應(yīng)用129

4.6.7分配緩存函數(shù)的分析129

4.6.8交換空間135

4.6.9請頁機(jī)制137

4.6.10守護(hù)進(jìn)程kswapd139

4.6.11內(nèi)存管理相關(guān)的高速緩存144

4.6.12內(nèi)存緩沖池144

4.6.13大塊內(nèi)存頁147

第5章虛擬文件系統(tǒng)149

5.1VFS的超級塊.dentry和節(jié)點(diǎn)結(jié)構(gòu)150

5.2與進(jìn)程聯(lián)系的文件系統(tǒng)相關(guān)結(jié)構(gòu)153

5.3系統(tǒng)有關(guān)操作函數(shù)集的結(jié)構(gòu)155

5.3.1super_operations155

5.3.2inode_operations156

5.3.3file_operations156

5.3.4dquot_operations157

5.4文件系統(tǒng)的建立過程157

5.5文件系統(tǒng)的注冊.安裝與卸載159

5.5.1文件系統(tǒng)的注冊159

5.5.2文件系統(tǒng)的安裝與卸載160

5.6文件系統(tǒng)的系統(tǒng)調(diào)用過程160

5.6.1系統(tǒng)調(diào)用open161

5.6.2read系統(tǒng)調(diào)用170

5.7文件系統(tǒng)的各種緩存172

5.7.1塊緩存buffer172

5.7.2inode緩存182

5.7.3目錄條目dentry緩存185

5.8緩存同步操作——sys_sync系統(tǒng)調(diào)用189

5.8.1多個(gè)節(jié)點(diǎn)同步回寫操作函數(shù)

5.8.1sync_inodes189

5.8.2單個(gè)節(jié)點(diǎn)同步回寫操作函數(shù)sync_inodes_sb190

5.8.3節(jié)點(diǎn)地址空間數(shù)據(jù)回寫操作函數(shù)194

5.8.4塊設(shè)備節(jié)點(diǎn)映射的數(shù)據(jù)同步回寫

5.8.4函數(shù)sync_blockdev200

5.9pdflush線程池203

5.9.1pdflush線程池的實(shí)現(xiàn)203

5.9.2pdflush線程使用實(shí)例

5.9.2——wakeup_bdflush206

5.10限額機(jī)制207

第6章EXT2文件系統(tǒng)208

6.1EXT2文件系統(tǒng)的幾個(gè)數(shù)據(jù)結(jié)構(gòu)210

6.1.1EXT2超級塊210

6.1.2EXT2超級塊信息結(jié)構(gòu)211

6.1.3超級塊的操作函數(shù)結(jié)構(gòu)212

6.1.4EXT2的索引節(jié)點(diǎn)inode212

6.1.5EXT2文件系統(tǒng)的節(jié)點(diǎn)信息結(jié)構(gòu)214

6.1.6節(jié)點(diǎn)操作函數(shù)結(jié)構(gòu)215

6.1.7文件操作函數(shù)結(jié)構(gòu)215

6.1.8EXT2文件系統(tǒng)的組描述符215

6.2EXT2文件系統(tǒng)建立過程215

6.3ext2_read_inode函數(shù)分析220

6.4ext2_write_inode函數(shù)分析221

6.5文件的讀寫223

6.6文件擴(kuò)展時(shí)的數(shù)據(jù)塊分配策略228

6.7EXT2的目錄項(xiàng)及文件的定位234

6.8鏈接文件237

第7章其他文件系統(tǒng)238

7.1ramfs內(nèi)存文件系統(tǒng)238

7.1.1ramfs文件系統(tǒng)模塊初始化238

7.1.2ramfs文件系統(tǒng)操作函數(shù)集240

7.1.3文件讀寫操作240

7.1.4目錄及節(jié)點(diǎn)操作函數(shù)集241

7.2/proc文件系統(tǒng)242

7.2.1/proc文件系統(tǒng)在調(diào)試中的作用243

7.2.2/proc文件系統(tǒng)實(shí)現(xiàn)分析245

7.2.3在/proc中讀寫設(shè)備信息示例250

7.3VFAT文件系統(tǒng)255

7.3.1FAT文件系統(tǒng)的組成255

7.3.2引導(dǎo)記錄區(qū)DBR及定義256

7.3.3FAT文件系統(tǒng)結(jié)構(gòu)定義260

7.3.4VFAT文件系統(tǒng)的注冊超級塊261

7.3.5超級塊操作函數(shù)集的實(shí)現(xiàn)264

7.3.6目錄操作函數(shù)集265

7.4Devfs文件系統(tǒng)270

7.5sysfs文件系統(tǒng)275

7.5.1內(nèi)核對象相關(guān)結(jié)構(gòu)276

7.5.2sysfs文件系統(tǒng)的建立過程277

7.5.3sysfs提供給對象模型的調(diào)用函數(shù)278

7.5.4sysfs建立bus子系統(tǒng)280

7.5.5bus子系統(tǒng)的接口函數(shù)282

7.5.6在sysfs中建立pci目錄示例283

第8章I/O端口資源管理288

8.1I/O資源的描述288

8.1.1內(nèi)存屏障289

8.1.2資源管理函數(shù)290

8.2中斷處理295

8.2.1硬件提供的中斷機(jī)制295

8.2.2Linux的中斷處理297

8.2.3中斷向量的設(shè)置和相關(guān)數(shù)據(jù)的

8.2.3初始化298

8.2.4中斷處理全過程299

8.2.5tasklet機(jī)制303

8.2.6中斷處理在/proc文件系統(tǒng)中的報(bào)告311

8.2.7并口中斷處理程序示例311

8.3DMA315

8.3.1DMA控制器硬件結(jié)構(gòu)315

8.3.2DMA通道使用的地址316

8.3.3DMA操作函數(shù)317

8.3.4DMA映射318

8.3.5DMA池321

8.3.6一個(gè)簡單的使用DMA例子324

8.4電源管理325

8.4.1ACPI規(guī)范介紹326

8.4.2ACPI的一些基本概念328

8.4.3ACPI的運(yùn)行329

8.4.4ACPI驅(qū)動程序分析332

8.4.5pci的ACPI電源管理的實(shí)現(xiàn)337

8.4.6APM電源管理模式341

第9章模塊機(jī)制348

9.1簡單模塊示例348

9.2內(nèi)核空間和用戶空間349

9.2.1處理器保護(hù)級349

9.2.2用戶空間和內(nèi)核空間權(quán)限350

9.2.3用戶空間和內(nèi)核空間范圍及函數(shù)

9.2.3參數(shù)傳遞350

9.2.4內(nèi)核態(tài)和用戶態(tài)之間數(shù)據(jù)傳遞352

9.3模塊的使用過程353

9.4實(shí)現(xiàn)機(jī)制354

9.4.1模塊在/proc文件系統(tǒng)中的顯示354

9.4.2模塊結(jié)構(gòu)354

9.4.3模塊數(shù)據(jù)宏操作356

9.4.4實(shí)現(xiàn)函數(shù)的分析359

9.5modutils介紹369

第10章設(shè)備驅(qū)動程序371

10.1設(shè)備文件及設(shè)備訪問方式372

10.1.1輪詢與中斷372

10.1.2直接內(nèi)存訪問(DMA)372

10.1.3設(shè)備驅(qū)動使用內(nèi)存372

10.1.4設(shè)備文件及接口372

10.2設(shè)備驅(qū)動程序模型374

10.2.1驅(qū)動模型中的描述結(jié)構(gòu)374

10.2.2驅(qū)動程序向新的模型上遷移383

10.2.3即插即用386

10.2.4文件系統(tǒng)中與設(shè)備驅(qū)動相關(guān)

10.2.4的結(jié)構(gòu)389

10.3字符設(shè)備操作過程390

10.4塊設(shè)備偽文件系統(tǒng)393

10.4.1塊設(shè)備文件系統(tǒng)初始化393

10.4.2文件操作函數(shù)集394

10.5通用硬盤GENHD398

10.6通用塊層403

10.6.1bio相關(guān)結(jié)構(gòu)404

10.6.2bio_vec池405

10.6.3碎片鏈表406

10.6.4請求及請求隊(duì)列結(jié)構(gòu)407

10.6.5通用的命令標(biāo)志請求410

10.6.6I/O調(diào)度器411

10.7塊設(shè)備的讀寫請求隊(duì)列及提交過程415

10.7.1初始化塊設(shè)備的請求隊(duì)列415

10.7.2塊設(shè)備讀寫請求的傳遞過程417

10.8IOCTL設(shè)備控制操作423

10.9編寫設(shè)備驅(qū)動程序的基本步驟425

10.9.1如何添加一個(gè)字符設(shè)備425

10.9.2如何添加一個(gè)塊設(shè)備425

第11章FLASH閃存及SD/MMC卡設(shè)備

第11章驅(qū)動程序427

11.1MTD內(nèi)存技術(shù)設(shè)備427

11.1.1MTD內(nèi)存技術(shù)設(shè)備層次結(jié)構(gòu)428

11.1.2設(shè)備層和原始設(shè)備層的函數(shù)

11.1.2調(diào)用關(guān)系430

11.1.3MTD相關(guān)結(jié)構(gòu)430

11.1.4MTD塊設(shè)備初始化432

11.1.5MTD塊設(shè)備的讀寫操作439

11.1.6MTD核心初始化442

11.1.7MTD字符設(shè)備443

11.1.8具體flash芯片的探測及映射444

11.1.9驅(qū)動程序?qū)嵗治?47

11.2SD/MMC卡塊設(shè)備驅(qū)動程序449

11.2.1MMC抽象設(shè)備層相關(guān)結(jié)構(gòu)449

11.2.2MC抽象設(shè)備層MMC塊設(shè)備

11.2.2驅(qū)動程序453

11.2.3具體MMC控制器驅(qū)動程序示例462

第12章Linux系統(tǒng)初始化468

12.1BootLoader468

12.1.1PC的BootLoader468

12.1.2嵌入式系統(tǒng)BootLoader473

12.2Linux內(nèi)核啟動過程478

第13章系統(tǒng)調(diào)用481

13.1設(shè)定0x80號中斷481

13.2系統(tǒng)調(diào)用現(xiàn)場保護(hù)482

13.3Linux系統(tǒng)調(diào)用的流程484

13.3.1系統(tǒng)調(diào)用過程484

13.3.2中斷INT0x80入口處理484

第14章Linux網(wǎng)絡(luò)系統(tǒng)分層結(jié)構(gòu)488

14.1Linux網(wǎng)絡(luò)系統(tǒng)分層結(jié)構(gòu)488

14.2數(shù)據(jù)包結(jié)構(gòu)489

14.2.1msghdr結(jié)構(gòu)489

14.2.2socket結(jié)構(gòu)490

14.2.3sk_buff結(jié)構(gòu)及管理490

14.2.4sock結(jié)構(gòu)495

14.3sockfs文件系統(tǒng)497

14.4利用socket通信499

14.4.1socket層500

14.4.2IP層收發(fā)數(shù)據(jù)包函數(shù)506

14.4.3網(wǎng)絡(luò)核心層513

14.5網(wǎng)卡驅(qū)動程序525

14.5.1NAPI525

14.5.28139CP網(wǎng)卡驅(qū)動程序526

14.6netlink533

14.6.1內(nèi)核netlink調(diào)用函數(shù)535

14.6.2示例536

第15章執(zhí)行文件的運(yùn)行過程544

15.1動態(tài)鏈接與靜態(tài)鏈接544

15.2位置無關(guān)代碼(PIC)的匯編

15.2語言編程548

15.3可執(zhí)行文件格式550

15.3.1a.out文件格式分析550

15.3.2COFF文件格式分析551

15.3.3ELF文件格式分析552

15.3.4符號的重定位557

15.3.5ELF文件加載過程558

15.4可執(zhí)行文件加載代碼分析559

第16章進(jìn)程間通信567

16.1管道567

16.2消息隊(duì)列575

16.2.1消息隊(duì)列結(jié)構(gòu)575

16.2.2消息隊(duì)列文件系統(tǒng)576

16.2.3消息隊(duì)列系統(tǒng)調(diào)用函數(shù)579

16.3共享內(nèi)存585

16.3.1共享內(nèi)存相關(guān)結(jié)構(gòu)586

16.3.2tmpfs文件系統(tǒng)587

16.3.3共享內(nèi)存系統(tǒng)調(diào)用593

16.4信號599

16.4.1信號相關(guān)的結(jié)構(gòu)600

16.4.2設(shè)置信號響應(yīng)601

16.4.3信號分發(fā)603

16.4.4信號響應(yīng)607

16.5用戶空間信號量操作610

16.5.1信號量相關(guān)結(jié)構(gòu)610

16.5.2系統(tǒng)調(diào)用函數(shù)的實(shí)現(xiàn)611

第17章Linux的安全策略618

17.1Linux常用安全技術(shù)618

17.1.1PAM機(jī)制618

17.1.2入侵檢測系統(tǒng)618

17.1.3加密文件系統(tǒng)619

17.1.4安全審計(jì)620

17.1.5基于ACL的自主訪問控制620

17.1.6強(qiáng)制訪問控制621

17.1.7防火墻621

17.2Linux能力機(jī)制621

17.3Flask安全體系結(jié)構(gòu)概述622

17.4SELinux安全策略配置語言624

17.4.1基本概念625

17.4.2Linux與SELinux在安全管理

17.4.2上的區(qū)別626

17.4.3安全模型626

17.4.4策略語言及配置樣例626

17.5SELinux的內(nèi)部結(jié)構(gòu)634

17.6SELinux的實(shí)現(xiàn)636

17.6.1任務(wù)的安全管理637

17.6.2AVC分析640

17.6.3security_compute_av函數(shù)644

17.7策略庫的結(jié)構(gòu)647

17.7.1sidtab結(jié)構(gòu)648

17.7.2symtab結(jié)構(gòu)649

17.7.3avtab結(jié)構(gòu)649

17.7.4class_datum結(jié)構(gòu)649

17.7.5role_datum結(jié)構(gòu)650

17.7.6user_datum結(jié)構(gòu)651

17.7.7role_tran結(jié)構(gòu)651

17.7.8cond_node結(jié)構(gòu)652

17.8安全審計(jì)的管理653

17.9sel_fs文件系統(tǒng)654

17.10防火墻660

17.10.1Netfilter框架661

17.10.2iptables管理工具662

17.10.3Netfilter例子663

第18章內(nèi)核配置與編譯664

18.1配置文件的生成664

18.2配置語言665

18.3主Makefile分析667

18.3.1主Makefile中的分析667

18.3.2嵌入式內(nèi)核的交叉編譯671

18.4Rule.make及子目錄編譯673

18.4.1編譯選項(xiàng)變化引起增量編譯673

18.4.2子目錄的編譯673

18.4.3Rule.make分析674

18.4.4驅(qū)動程序配置示例680

第19章Linux內(nèi)核調(diào)試683

19.1strace命令683

19.2oops消息分析683

19.3調(diào)試工具684

19.4printk打印調(diào)試688

19.4.1printk688

19.4.2如何記錄消息689

19.4.3sys_syslog系統(tǒng)調(diào)用690

19.4.4printk函數(shù)分析692

19.4.5控制臺694

19.4.6tty代碼分析695

19.4.7tty_register_ldisc函數(shù)701

19.5ptrace調(diào)試跟蹤702

19.5.1調(diào)試寄存器702

19.5.2TSS中的調(diào)度陷阱704

19.5.3INT3704

19.5.4程序的單步執(zhí)行705

19.5.5ptrace系統(tǒng)調(diào)用705

19.5.6系統(tǒng)調(diào)用跟蹤710

19.5.7調(diào)試陷阱處理711

19.5.8調(diào)試器運(yùn)行方法712

第20章USB總線驅(qū)動程序715

20.1USB的拓樸結(jié)構(gòu)715

20.2USB2.0協(xié)議717

20.2.1包標(biāo)志符及傳輸控制概述717

20.2.2總線枚舉718

20.2.3USB設(shè)備請求719

20.2.4描述符719

20.2.5OTG規(guī)范720

20.3USB總線驅(qū)動程序結(jié)構(gòu)722

20.3.1USB主機(jī)驅(qū)動程序的體系722

20.3.2USB驅(qū)動程序的編寫723

20.3.3設(shè)備結(jié)構(gòu)間的關(guān)系725

20.4USB驅(qū)動程序初始化727

20.5usbfs文件系統(tǒng)729

20.5.1usbfs文件系統(tǒng)初始化729

20.5.2usbfs文件操作731

20.6USB請求塊(URB)732

20.6.1URB結(jié)構(gòu)732

20.6.2URB的操作733

20.7同步消息處理735

20.7.1同步請求完成模型736

20.7.2控制與查詢737

20.8用主機(jī)控制器驅(qū)動層(HCD層)737

20.8.1USB總線的注冊與注銷738

20.8.2HCD操作函數(shù)739

20.8.3注冊根集線器741

20.9集線器Hub741

20.9.1Hub初始化742

20.9.2Hub設(shè)備的各種事件處理744

20.9.3ehci-hcd控制器752

20.10USB大存儲設(shè)備758

20.10.1Bulk-Only傳輸協(xié)議759

20.10.2SCSI體系結(jié)構(gòu)模型及命令描述塊761

20.10.3大存儲類主機(jī)驅(qū)動程序765

20.11USB從設(shè)備驅(qū)動程序(Gadget)779

20.11.1Gadget相關(guān)結(jié)構(gòu)781

20.11.2GadgetAPI783

20.11.3pxa2xx控制器786

20.11.4gadgetfs文件系統(tǒng)794

20.11.5大存儲設(shè)備驅(qū)動程序804

附錄ALinux系統(tǒng)調(diào)用819

主要參考文獻(xiàn)823

PC官方
安卓官方手機(jī)版
IOS官方手機(jī)版

linux內(nèi)核分析及編程下載截圖

下載地址

linux內(nèi)核分析及編程下載 pdf完整版

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)

本類軟件必備

報(bào)錯(cuò)

請簡要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式