-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

奔跑吧 Linux內核

( 簡體 字)
作者:張天飛類別:1. -> 作業系統 -> Linux
譯者:
出版社:人民郵電出版社奔跑吧 Linux內核 3dWoo書號: 47461
詢問書籍請說出此書號!

缺書
NT售價: 790

出版日:9/1/2017
頁數:735
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115465023
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

目錄:

LINUX內核奔跑卷 1

第1章 處理器體系結構 4

本章思考題 4

第2章 記憶體管理 32

本章思考題 32

2.1 實體記憶體初始化 36

2.1.1 記憶體管理概述 36

2.1.2 記憶體大小 37

2.1.3 實體記憶體映射 38

2.1.4 zone初始化 40

2.1.5 空間劃分 44

2.1.6 實體記憶體初始化 45

2.2 頁表的映射過程 51

2.2.1 ARM32頁表映射 51

2.2.2 ARM64頁表映射 60

2.3 內核記憶體的佈局圖 67

2.3.1 ARM32內核記憶體佈局圖 67

2.3.2 ARM64內核記憶體佈局圖 70

2.4 分配物理頁面 72

2.4.1 夥伴系統分配記憶體 72

2.4.2 釋放頁面 85

2.4.3 小結 89

2.5 slab分配器 90

2.5.1 創建slab描述符 91

2.5.2 分配slab對象 103

2.5.3 釋放slab緩衝對象 108

2.5.4 kmalloc分配函數 111

2.5.5 小結 112

2.6 vmalloc 113

2.7 VMA操作 120

2.7.1 查找VMA 122

2.7.2 插入VMA 124

2.7.3 合併VMA 129

2.7.4 紅黑樹例子 131

2.7.5 小結 133

2.8 malloc 133

2.8.1 brk實現 134

2.8.2 VM_LOCK情況 138

2.8.3 小結 148

2.9 mmap 150

2.9.1 mmap概述 151

2.9.2 小結 153

2.10 缺頁中斷處理 155

2.10.1 do_page_fault() 157

2.10.2 匿名頁面缺頁中斷 165

2.10.3 文件映射缺頁中斷 169

2.10.4 寫時複製 175

2.10.5 小結 183

2.11 page引用計數 184

2.11.1 struct page資料結構 185

2.11.2 _count和_mapcount的區別 188

2.11.3 頁面鎖PG_Locked 192

2.11.4 小結 192

2.12 反向映射RMAP 192

2.12.1 父進程分配匿名頁面 193

2.12.2 父進程創建子進程 198

2.12.3 子進程發生COW 200

2.12.4 RMAP應用 201

2.12.5 小結 202

2.13 回收頁面 204

2.13.1 LRU鏈表 204

2.13.2 kswapd內核執行緒 216

2.13.3 balance_pgdat函數 219

2.13.4 shrink_zone函數 228

2.13.5 shrink_active_list函數 233

2.13.6 shrink_inactive_list函數 238

2.13.7 跟蹤LRU活動情況 244

2.13.8 Refault Distance演算法 244

2.13.9 小結 249

2.14 匿名頁面生命週期 251

2.14.1 匿名頁面的誕生 251

2.14.2 匿名頁面的使用 252

2.14.3 匿名頁面的換出 252

2.14.4 匿名頁面的換入 254

2.14.5 匿名頁面銷毀 254

2.15 頁面遷移 254

migrate_pages()函數 255

2.16 記憶體規整(memory compaction) 262

2.16.1 記憶體規整實現 263

2.16.2 小結 272

2.17 KSM 273

2.17.1 KSM實現 274

2.17.2 匿名頁面和KSM頁面的區別 293

2.17.3 小結 294

2.18 Dirty COW記憶體漏洞 296

2.19 總結記憶體管理資料結構和API 309

2.19.1 記憶體管理資料結構的關係圖 309

2.19.2 記憶體管理中常用API 312

2.20 最新更新和展望 315

2.20.1 頁面回收策略從zone遷移到node 315

2.20.2 OOM Killer改進 316

2.20.3 swap優化 317

2.20.4 展望 318

第3章 進程管理 319

本章思考題 319

3.1 進程的誕生 320

3.1.1 init進程 321

3.1.2 fork 325

3.1.3 小結 344

3.2 CFS調度器 345

3.2.1 權重計算 346

3.2.2 進程創建 358

3.2.3 進程調度 369

3.2.4 scheduler tick 379

3.2.5 組調度 382

3.2.6 PELT演算法改進 386

3.2.7 小結 387

3.3 SMP負載均衡 389

3.3.1 CPU域初始化 389

3.3.2 SMP負載均衡 401

3.3.3 喚醒進程 415

3.3.4 調試 421

3.3.5 小結 422

3.4 HMP調度器 422

3.4.1 初始化 423

3.4.2 HMP負載調度 425

3.4.3 新創建的進程 436

3.4.4 小結 437

3.5 NUMA調度器 438

3.5.1 node和page的關係 439

3.5.2 掃描進程 441

3.5.3 NUMA缺頁中斷 442

3.5.4 進程遷移 450

3.5.5 小結 455

3.6 EAS綠色節能調度器 457

3.6.1 能效模型 459

3.6.2 WALT演算法 465

3.6.3 喚醒進程 480

3.6.4 CPU動態調頻 491

3.6.5 小結 494

3.7 即時調度 496

3.8 最新更新與展望 500

3.8.1 進程管理更新 500

3.8.2 展望 500

第4章 併發與同步 501

本章思考題 501

4.1 原子操作與記憶體屏障 503

4.1.1 原子操作 503

4.1.2 記憶體屏障 506

4.2 spinlock 508

4.2.1 spinlock實現 509

4.2.2 spinlock變種 511

4.2.3 spinlock和raw_spin_lock 512

4.3 信號量 513

4.3.1 信號量 513

4.3.2 小結 516

4.4 Mutex互斥體 517

4.4.1 MCS鎖機制 518

4.4.2 Mutex鎖的實現 525

4.4.3 小結 531

4.5 讀寫鎖 531

4.5.1 讀者信號量 532

4.5.2 寫者鎖 538

4.5.3 小結 544

4.6 RCU 544

4.6.1 經典RCU和Tree RCU 547

4.6.2 Tree RCU設計 551

4.6.3 小結 573

4.7 記憶體管理中的鎖 574

4.8 最新更新與展望 584

4.8.1 Queued Spinlock 584

4.8.2 讀寫信號量優化 591

4.8.3 展望 592

4.8.4 推薦書籍 593

第5章 中斷管理 594

本章思考題 594

5.1 Linux中斷管理機制 595

5.1.1 ARM中斷控制器 595

5.1.2 硬體中斷號和Linux中斷號的映射 599

5.1.3 註冊中斷 610

5.1.4 ARM底層中斷處理 618

5.1.5 高層中斷處理 626

5.1.6 小結 636

5.2 軟中斷和tasklet 637

5.2.1 SoftIRQ軟中斷 638

5.2.2 tasklet 642

5.2.3 local_bh_disable/local_bh_enable 647

5.2.4 小結 649

5.3 workqueue工作隊列 650

5.3.1 初始化工作隊列 652

5.3.2 創建工作隊列 659

5.3.3 調度一個work 665

5.3.4 取消一個work 675

5.3.5 和調度器的交互 680

5.3.6 小結 682

第6章 內核調試 684

6.1 QEMU調試Linux內核 684

6.1.1 QEMU運行ARM Linux內核 684

6.1.2 QEMU調試ARM Linux內核 687

6.1.3 QEMU運行ARMv8開發平臺 688

6.1.4 檔案系統支持 690

6.1.5 圖形化調試 691

6.1.6 實驗進階 693

6.2 ftrace 694

6.2.1 irqs跟蹤器 695

6.2.2 preemptoff跟蹤器 696

6.2.3 preemptirqsoff跟蹤器 697

6.2.4 function跟蹤器 698

6.2.5 動態ftrace 699

6.2.6 事件跟蹤 700

6.2.7 添加tracepoint 702

6.2.8 trace-cmd和kernelshark 705

6.2.9 trace marker 707

6.2.10 小結 709

6.3 SystemTap 710

6.4 記憶體檢測 714

6.4.1 slub_debug 714

6.4.2 記憶體洩漏檢測kmemleak 718

6.4.3 kasan記憶體檢測 720

6.5 鎖死檢測 722

6.6 內核調試秘笈 728

6.6.1 printk 728

6.6.2 動態列印 730

6.6.3 RAM Console 731

6.6.4 OOPS分析 731

6.6.5 BUG_ON()和WARN_ON() 734
序: