奔跑吧 Linux 內核 (捲2):調試與案例分析, 2/e
笨叔
- 出版商: 人民郵電
- 出版日期: 2021-03-01
- 定價: $659
- 售價: 7.9 折 $521
- 語言: 簡體中文
- 頁數: 360
- 裝訂: 平裝16開
- ISBN: 7115552525
- ISBN-13: 9787115552525
-
相關分類:
Linux
-
相關翻譯:
大師功力再昇華:實作 Linux 核心偵錯及實戰演練 (繁中版)
-
奔跑吧 Linux 內核 (捲1):基礎架構, 2/e 奔跑吧 Linux 內核 (捲2):調試與案例分析, 2/e 奔跑吧 Linux 內核入門篇, 2/e
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
程式設計師的自我修養-連結、載入、程式庫$580$493 -
Binary Hacks -- 駭客秘傳技巧一百招$580$458 -
無瑕的程式碼-敏捷軟體開發技巧守則 + 番外篇-專業程式設計師的生存之道 (雙書合購)$940$700 -
Linux Kernel Hacks 改善效能、提昇開發效率及節能的技巧與工具$680$537 -
精通 Linux 內核網絡 (Linux Kernel Networking: Implementation and Theory)$594$564 -
深入理解計算機系統, 3/e (Computer Systems: A Programmer's Perspective, 3/e)$834$792 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
LLVM 編譯器實戰教程$474$450 -
QEMU/KVM 源碼解析與應用$1,008$958 -
$422openEuler 操作系統 -
$594labuladong 的算法小抄 -
Raspberry Pi 4 Model B/8GB 樹莓派套件組 -- 原廠殼搭散熱組全配 (含Pi 4/8GB + 32G SD卡 +原廠電源 +原廠紅白外殼 +專用散熱模組+原廠HDMI線)$5,100$4,845 -
$659奔跑吧 Linux 內核 (捲1):基礎架構, 2/e -
提升程式設計師的面試力|189道面試題目與解答, 6/e (修訂版) (Cracking the Coding Interview : 189 Programming Questions and Solutions, 6/e)$980$774 -
$447Linux 設備驅動開發 -
$658奔跑吧 Linux 內核入門篇, 2/e -
Windows APT Warfare:惡意程式前線戰術指南$600$468 -
練核心從裡強到外:全面了解 Linux 基礎架構$1,000$790 -
大師養成起手式:從核心真正了解 Linux 運作原理$880$695 -
內行人才知道的系統設計面試指南$580$458 -
$568ARM64 體系結構編程與實踐 -
Windows 駭客程式設計:勒索病毒 (第二冊) -- 原理篇, 2/e$590$389 -
性能之巔:系統、企業與雲可觀測性, 2/e$1,428$1,357 -
$713Linux 高性能網絡詳解:從 DPDK、RDMA 到 XDP -
圖解 Linux 核心 (基於6.x)$834$792
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書基於Linux 5.0內核的源代碼講述Linux內核的調試技巧和案例。本書共6章。主要內容包括並發與同步,中斷管理,內核調試和性能優化,基於x86_64的宕機難題解決方案,基於ARM64的宕機題解決方案,安全漏洞的產生原理與修復方案等。
本書適合從事Linux系統開發人員、嵌入式系統開發人員及Android開發人員閱讀,也可供電腦相關專業的師生閱讀。
作者簡介
笨叔,Linux內核愛好者,出版過《奔跑吧Linux內核》《奔跑吧Linux內核入門篇》。
創建了奔跑吧Linux社區。
目錄大綱
目錄
第1章並發與同步1
1.1原子操作3
1.1.1原子操作3
1.1.2 atomic_add()函數分析6
1.1.3比較並交換指令7
1.2內存屏障11
1 .2.1經典內存屏障接口函數11
1.2.2內存屏障擴展接口函數13
1.3經典自旋鎖14
1.3.1自旋鎖的實現15
1.3.2自旋鎖的變體18
1.3.3 spin_lock()和raw_spin_lock()函數19
1.4 MCS鎖20
1.4.1快速申請通道21
1.4.2中速申請通道22
1.4.3慢速申請通道23
1.4.4釋放鎖26
1.5排隊自旋鎖27
1.5.1快速申請通道29
1.5.2中速申請通道30
1.5.3慢速申請通道32
1.5. 4釋放鎖36
1.5.5案例分析:為什麼這裡pending域要清零36
1.5.6小結38
1.6信號量39
1.6.1信號量簡介39
1.6.2小結43
1.7互斥鎖43
1.7.1 mutex數據結構43
1.7.2互斥鎖的快速通道44
1.7.3互斥鎖的慢速通道46
1. 7.4樂觀自旋等待機制47
1.7.5 mutex_unlock()函數分析50
1.7.6案例分析51
1.7.7小結52
1.8讀寫鎖52
1.9讀寫信號量53
1.9.1 rw_semaphore數據結構53
1.9.2申請讀者類型信號量55
1.9.3釋放讀者類型信號量58
1.9.4申請寫者類型信號量58
1.9.5釋放寫者類型信號量64
1.9.6小結64
1.10 RCU 64
1.10.1關於RCU的一個簡單例子65
1.10.2經典RCU和Tree RCU 68
1.11案例分析:內存管理中的鎖69
1.11.1 mm->mmap_sem 70
1.11.2 mm->page_table_lock 71
1.11.3 PG_Locked 72
1.11.4 anon_vma->rwsem 72
1.11.5 zone->lru_lock 74
1.11.6 RCU 75
1.11.7 RCU停滯檢測78
第2章中斷管理81
2.1中斷控制器82
2.1.1中斷狀態和中斷觸發方式82
2.1.2 ARM GIC-V2中斷控制器83
2.1.3關於ARM Vexpress V2P開發板的例子85
2.1.4關於QEMU虛擬機平臺的例子86
2.2硬件中斷號和Linux中斷號的映射87
2.3註冊中斷98
2.4 ARM64底層中斷處理105
2.4.1異常向量表105
2.4.2 IRQ處理107
2.4.3棧框108
2.4.4保存中斷上下文110
2.4.5恢復中斷上下文112
2.5高層中斷處理114
2.5.1彙編跳轉114
2.5.2 handle_arch_irq處理115
2.5.3小結123
2.6軟中斷和tasklet 125
2.6.1軟中斷125
2. 6.2 tasklet 129
2.6.3 local_bh_disable()和local_bh_enable()函數分析134
2.6.4小結135
2.7工作隊列136
2.7.1工作隊列的相關數據結構137
2.7.2工作隊列初始化141
2.7.3創建工作隊列143
2.7.4添加和調度一個work 149
2.7.5處理一個work 153
2.7.6取消一個work 157
2.7.7和調度器的交互159
2.7.8小結161
第3章內核調試與性能優化164
3 .1打造ARM64實驗平臺165
3.1.1使用O0優化等級編譯內核165
3.1.2 QEMU虛擬機+Debian實驗平臺166
3.1.3單步調試ARM64 Linux內核171
3.1.4以圖形化方式單步調試內核172
3.1.5單步調試head.S文件176
3.2 ftrace 181
3.2.1 irqs跟蹤器182
3.2.2 function跟蹤器184
3.2.3動態ftrace 185
3.2.4事件跟蹤186
3.2.5添加跟蹤點188
3.2.6 trace-cmd和kernelshark 191
3.2.7跟蹤標記192
3.2.8小結195
3.3內存檢測196
3.3.1 slub_debug 197
3.3.2 KASAN內存檢測202
3. 4死鎖檢測204
3.5內核調試方法210
3.5.1 printk 210
3.5.2動態輸出212
3.5.3 oops分析213
3.5.4 BUG_ON()和WARN_ON()宏分析217
3.6使用perf優化性能217
3.6.1安裝perf工具218
3.6.2 perf list命令218
3.6.3 perf record/report命令219
3.6.4 perf stat命令220
3.6. 5 perf top命令221
3.7 SystemTap 222
3.8 eBPF和BCC 224
3.8.1 BCC工具集224
3.8.2編寫BCC腳本225
第4章基於x86_64解決宕機難題229
4.1 Kdump和Crash工具230
4.2 x86_64架構基礎知識230
4.2.1通用寄存器230
4.2.2函數參數調用規則231
4.2.3棧的結構232
4.2.4尋址方式232
4.3在CentOS 7.6中安裝和配置Kdump和Crash 233
4.4 crash命令235
4.5案例1:一個簡單的宕機案例244
4.6案例2:訪問被刪除的鍊錶250
4.7案例3:一個真實的驅動崩潰案例254
4.8死鎖檢查機制259
4.9案例4:一個簡單的死鎖案例261
4.10案例5:分析和推導參數的值變量263
4.11案例6:一個複雜的宕機案例270
4.11.1問題描述271
4.11.2分析ps進程276
4.11.3分析test進程281
4.11.4計算一個進程被阻塞了多長時間283
第5章基於ARM64解決宕機難題285
5.1搭建Kdump實驗環境285
5.2案例1:一個簡單的宕機案例287
5.3案例2:恢復函數調用棧288
5.4案例3:分析和推導參數的值291
5.5案例4:一個複雜的宕機案例294
5.5.1分析ps進程296
5.5.2分析test進程299
第6章安全漏洞分析303
6.1側通道攻擊303
6.2 CPU熔斷漏洞分析306
6.2.1亂序執行、異常處理和地址空間306
6.2.2修復方案:KPTI技術307
6.3 CPU“幽靈”漏洞317
6.3.1分支預測317
6.3.2攻擊原理320
6.3.3修復方案321
附錄A使用DS-5調試ARM64 Linux內核325
附錄B ARM64中的獨占訪問指令341
附錄C圖解MESI狀態轉換345
附錄D高速緩存與內存屏障350


