奔跑吧!Linux kernel|Linux 4.x kernel 關鍵與原始程式碼解析
內容描述
‧以Linux 4.x kernel和Android 7.x kernel為基礎
‧以ARM32/ARM64體系架構為基礎
‧以實際應用的問題為導向的kernel分析
‧介紹目前內核社群新的技術發展
‧介紹尖端新技術:EAS排程器、MCS鎖、QSpinlock、Dirty COW等
本書內容以Linux 4.x kernel為基礎,選取Linux kernel中最基礎和常用的記憶體管理、進程管理、並行與同步,以及中斷管理這4個kernel模組進行講述。全書共分為6章,依次介紹ARM體系結構、Linux記憶體管理、進程排程管理、並行與同步、中斷管理、kernel除錯技巧等內容。本書的每節內容都是獨立的Linux kernel主題或技術重點,讀者可根據每小節前的問題來思考研讀,進而從問題來對kernel原始程式碼進行分析。
目錄大綱
Linux kernel 奔跑卷
第 1 章 處理器體系結構
第 2 章 記憶體管理
2.1 實體記憶體初始化
2.2 頁表的對映過程
2.3 kernel 記憶體的佈局圖
2.4 分配實體頁面
2.5 slab 分配器
2.6 vmalloc
2.7 VMA 操作
2.8 malloc
2.9 mmap
2.10 缺頁中斷處理
2.11 page 參照計數
2.12 反向對映 RMAP
2.13 回收頁面
2.14 匿名頁面生命週期
2.15 頁面遷移
2.16 記憶體規整(memory compaction)
2.17 KSM
2.18 Dirty COW 記憶體漏洞
2.19 總結記憶體管理資料結構和 API
2.20 最新更新和展望
第 3 章 進程管理
3.1 進程的誕生
3.2 CFS 排程器
3.3 SMP 負載均衡
3.4 HMP 排程器
第 4 章 並行與同步
4.1 原子操作與記憶體屏障
4.2 spinlock
4.3 訊號標
4.4 Mutex 互斥體
4.5 讀寫鎖
4.6 RCU
4.7 記憶體管理中的鎖
4.8 最新更新與展望
第 5 章 中斷管理
5.1 Linux 中斷管理機制
5.2 軟中斷和 tasklet
5.3 workqueue 工作佇列
第 6 章 kernel 除錯
6.1 QEMU 除錯 Linux kernel
6.2 ftrace
6.3 SystemTap
6.4 記憶體檢測
6.5 死鎖檢測
6.6 kernel 除錯秘笈