注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)精通Linux內(nèi)核開發(fā)

精通Linux內(nèi)核開發(fā)

精通Linux內(nèi)核開發(fā)

定 價(jià):¥89.90

作 者: [印度] 拉古·巴拉德瓦杰 著,白浩文,文平波 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115566041 出版時(shí)間: 2021-09-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 288 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《精通Linux內(nèi)核開發(fā)》介紹了Linux內(nèi)核、內(nèi)核的內(nèi)部編排與設(shè)計(jì),以及內(nèi)核的各個(gè)核心子系統(tǒng)等知識(shí)。本書分為11章,具體內(nèi)容包括:進(jìn)程、地址空間和線程;進(jìn)程調(diào)度器;信號(hào)管理;內(nèi)存管理和分配器;文件系統(tǒng)和文件I/O;進(jìn)程間通信;虛擬內(nèi)存管理;內(nèi)核同步和鎖;中斷和延遲工作;時(shí)鐘和時(shí)間管理;模塊管理?!毒↙inux內(nèi)核開發(fā)》篇幅短小精悍,通過大量代碼輔助介紹Linux內(nèi)核的相關(guān)開發(fā)工作。通過學(xué)習(xí)本書,讀者可以深入理解Linux內(nèi)核的核心服務(wù)與機(jī)制,了解這個(gè)集中了集體智慧的Linux內(nèi)核在保持其良好設(shè)計(jì)的同時(shí),是如何保持其優(yōu)雅特性的?!毒↙inux內(nèi)核開發(fā)》適合Linux內(nèi)核開發(fā)人員、底層開發(fā)人員閱讀,還適合希望深入理解Linux內(nèi)核及其各組成部分的系統(tǒng)開發(fā)人員學(xué)習(xí)。高校軟件工程專業(yè)的學(xué)生也可以將本書當(dāng)作了解Linux內(nèi)核設(shè)計(jì)原理的參考指南。

作者簡(jiǎn)介

  Raghu Bharadwaj是Linux內(nèi)核領(lǐng)域的顧問、貢獻(xiàn)者兼企業(yè)培訓(xùn)師,具有近20年的從業(yè)經(jīng)驗(yàn)。他是一個(gè)狂熱的內(nèi)核愛好者,自20世紀(jì)90年代后期以來就一直密切關(guān)注Linux內(nèi)核的發(fā)展。他還是TECH VEDA公司的創(chuàng)辦人,該公司以技術(shù)支持、內(nèi)核貢獻(xiàn)和培訓(xùn)的形式,專門從事與Linux內(nèi)核有關(guān)的工程和技能服務(wù)。他對(duì)Linux有獨(dú)到的理解和闡述,而且因?yàn)閷?duì)軟件設(shè)計(jì)和操作系統(tǒng)架構(gòu)的狂熱而得到了客戶的特別關(guān)注。在向從事Linux內(nèi)核、Linux驅(qū)動(dòng)以及嵌入式Linux等工作的工程團(tuán)隊(duì)提供定制的且面向解決方案的培訓(xùn)計(jì)劃這一方面,Raghu頗有心得。他所服務(wù)的客戶有Xilinx(賽靈思)、通用、佳能、富士通、UTC(美國(guó)聯(lián)合技術(shù)公司)、TCS(印度塔塔咨詢服務(wù)公司)、博通、Sasken(印度薩斯肯通訊技術(shù)公司)、高通、Cognizant(高知特信息技術(shù)公司)、意法半導(dǎo)體、Stryker(史賽克)和Lattice(萊迪斯)半導(dǎo)體等公司。

圖書目錄

第 1章 進(jìn)程、地址空間和線程\t1
1.1 進(jìn)程\t1
1.1.1 所謂地址空間的錯(cuò)覺\t2
1.1.2 內(nèi)核空間和用戶空間\t3
1.2 進(jìn)程描述符\t4
1.2.1 進(jìn)程屬性:關(guān)鍵元素\t5
1.2.2 進(jìn)程關(guān)系:關(guān)鍵元素\t8
1.2.3 調(diào)度屬性:關(guān)鍵元素\t9
1.2.4 進(jìn)程限制:關(guān)鍵元素\t9
1.2.5 文件描述符表:關(guān)鍵元素\t11
1.2.6 信號(hào)描述符:關(guān)鍵元素\t11
1.3 內(nèi)核棧\t12
1.4 棧溢出問題\t16
1.5 進(jìn)程創(chuàng)建\t17
1.5.1 fork()\t17
1.5.2 寫時(shí)復(fù)制(COW)\t18
1.5.3 exec\t18
1.5.4 vfork()\t19
1.5.5 Linux線程支持\t19
1.6 內(nèi)核線程\t21
1.7 進(jìn)程狀態(tài)和終止\t29
1.7.1 wait\t29
1.7.2 exit\t29
1.8 命名空間和cgroup\t30
1.8.1 掛載命名空間\t30
1.8.2 UTS命名空間\t31
1.8.3 IPC命名空間\t31
1.8.4 PID命名空間\t31
1.8.5 網(wǎng)絡(luò)命名空間\t31
1.8.6 用戶命名空間\t31
1.8.7 cgroup命名空間\t32
1.8.8 控制組(cgroup)\t32
1.9 小結(jié)\t33
第 2章 進(jìn)程調(diào)度器\t34
2.1 進(jìn)程調(diào)度器\t34
2.2 Linux進(jìn)程調(diào)度器設(shè)計(jì)\t35
2.3 運(yùn)行隊(duì)列\(zhòng)t39
2.4 調(diào)度入口\t41
2.5 進(jìn)程優(yōu)先級(jí)\t43
2.6 調(diào)度類\t44
2.7 完全公平調(diào)度類(CFS)\t44
2.7.1 CFS計(jì)算優(yōu)先級(jí)和時(shí)間片\t45
2.7.2 CFS運(yùn)行隊(duì)列\(zhòng)t45
2.7.3 組調(diào)度\t46
2.7.4 多核系統(tǒng)下的調(diào)度實(shí)體\t47
2.7.5 調(diào)度策略\t48
2.8 實(shí)時(shí)調(diào)度類\t49
2.8.1 FIFO\t49
2.8.2 RR\t49
2.8.3 實(shí)時(shí)組調(diào)度\t50
2.8.4 deadline調(diào)度類(零散任務(wù)模型的deadline調(diào)度)\t50
2.9 調(diào)度相關(guān)的系統(tǒng)調(diào)用\t51
2.10 進(jìn)程搶占\t53
2.11 小結(jié)\t54
第3章 信號(hào)管理\t55
3.1 信號(hào)\t55
3.2 信號(hào)管理API\t58
3.2.1 程序發(fā)出信號(hào)\t61
3.2.2 等待排隊(duì)信號(hào)\t62
3.3 信號(hào)數(shù)據(jù)結(jié)構(gòu)\t62
3.3.1 信號(hào)描述符\t63
3.3.2 被阻塞和掛起的隊(duì)列\(zhòng)t64
3.3.3 信號(hào)處理程序描述符\t65
3.4 信號(hào)生成和傳遞\t66
3.4.1 信號(hào)生成調(diào)用\t66
3.4.2 信號(hào)傳遞\t69
3.4.3 執(zhí)行用戶模式處理程序\t74
3.4.4 設(shè)置用戶模式處理程序幀\t75
3.5 重新啟動(dòng)被中斷的系統(tǒng)調(diào)用\t78
3.6 小結(jié)\t80
第4章 內(nèi)存管理和分配器\t81
4.1 初始化操作\t81
4.2 區(qū)域和節(jié)點(diǎn)\t87
4.2.1 內(nèi)存區(qū)域\t87
4.2.2 內(nèi)存節(jié)點(diǎn)\t89
4.3 內(nèi)存分配\t97
4.3.1 頁(yè)幀分配器\t98
4.3.2 GFP掩碼\t105
4.3.3 slab分配器\t110
4.3.4 vmalloc\t122
4.3.5 連續(xù)內(nèi)存分配器(CMA)\t124
4.4 小結(jié)\t125
第5章 文件系統(tǒng)和文件I/O\t126
5.1 文件系統(tǒng)—高層視圖\t126
5.1.1 元數(shù)據(jù)\t127
5.1.2 操作\t132
5.1.3 附加功能\t134
5.2 Linux內(nèi)核中的文件系統(tǒng)\t135
5.3 通用文件系統(tǒng)接口\t138
5.4 特殊文件系統(tǒng)\t153
5.4.1 procfs\t154
5.4.2 sysfs\t156
5.4.3 debugfs\t157
5.5 小結(jié)\t157
第6章 進(jìn)程間通信\t158
6.1 管道和FIFO\t158
6.2 消息隊(duì)列\(zhòng)t163
6.2.1 System V消息隊(duì)列\(zhòng)t163
6.2.2 POSIX消息隊(duì)列\(zhòng)t165
6.3 共享內(nèi)存\t167
6.3.1 System V共享內(nèi)存\t167
6.3.2 POSIX共享內(nèi)存\t170
6.4 信號(hào)量\t171
6.4.1 System V信號(hào)量\t171
6.4.2 POSIX信號(hào)量\t173
6.5 小結(jié)\t174
第7章 虛擬內(nèi)存管理\t175
7.1 進(jìn)程地址空間\t175
7.1.1 進(jìn)程內(nèi)存描述符\t177
7.1.2 頁(yè)表\t193
7.2 小結(jié)\t195
第8章 內(nèi)核同步和鎖\t196
8.1 原子操作\t196
8.1.1 原子整數(shù)操作\t197
8.1.2 原子位操作\t198
8.2 排斥鎖\t199
8.2.1 自旋鎖\t199
8.2.2 互斥鎖\t207
8.2.3 信號(hào)量\t217
8.2.4 順序鎖\t221
8.2.5 完成鎖\t223
8.3 小結(jié)\t226
第9章 中斷和延遲工作\t227
9.1 中斷信號(hào)和向量\t227
9.2 可編程中斷控制器\t229
9.2.1 中斷控制器操作\t230
9.2.2 IRQ描述符表\t232
9.3 高級(jí)中斷管理接口\t235
9.3.1 注冊(cè)一個(gè)中斷處理程序\t235
9.3.2 注銷一個(gè)中斷處理程序\t237
9.3.3 線程化中斷處理程序\t237
9.3.4 控制接口\t240
9.3.5 中斷棧\t241
9.4 延遲工作\t241
9.4.1 softirq\t242
9.4.2 tasklet\t244
9.4.3 工作隊(duì)列\(zhòng)t248
9.5 小結(jié)\t252
第 10章 時(shí)鐘和時(shí)間管理\t253
10.1 時(shí)間表示\t253
10.2 硬件抽象\t257
10.3 Linux計(jì)時(shí)數(shù)據(jù)結(jié)構(gòu)體、宏以及輔助函數(shù)\t260
10.3.1 jiffies\t260
10.3.2 timeval和timespec\t262
10.3.3 跟蹤和維護(hù)時(shí)間\t264
10.3.4 節(jié)拍和中斷處理\t265
10.3.5 節(jié)拍設(shè)備\t267
10.4 軟件定時(shí)器和延遲函數(shù)\t267
10.4.1 動(dòng)態(tài)定時(shí)器\t268
10.4.2 帶有動(dòng)態(tài)定時(shí)器的競(jìng)爭(zhēng)條件\t270
10.4.3 動(dòng)態(tài)定時(shí)器處理\t271
10.4.4 延遲函數(shù)\t271
10.5 POSIX時(shí)鐘\t272
10.6 小結(jié)\t273
第 11章 模塊管理\t274
11.1 內(nèi)核模塊\t274
11.1.1 LKM的要素\t274
11.1.2 加載和卸載操作\t277
11.2 小結(jié)\t288

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)