TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
Linux內核深度解析(簡體書)
滿額折

Linux內核深度解析(簡體書)

商品資訊

人民幣定價:138 元
定價
:NT$ 828 元
優惠價
87720
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:21 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書基於4.x版本的Linux內核,介紹了Linux內核的若干關鍵子系統的技術原理。本書主要內容包括內核的引導過程、內核管理和調度進程的技術原理、內核管理虛擬內存和物理內存的技術原理、內核處理異常和中斷的技術原理,以及系統調用的實現方式等。此外,本書還詳細講解了內核實現的各種保護臨界區的互斥技術,以及內核的文件系統。本書內容豐富,深入淺出,通過大量的圖例來描述數據結構之間的關係和函數的執行流程,並結合代碼分析,引導讀者閱讀和理解內核源代碼。

作者簡介

余華兵,2005年畢業于華中科技大學計算機學院,取得碩士學位。畢業後的十餘年一直在網絡通信行業從事軟件設計和開發工作,研究方向包括IPv4協議棧、IPv6協議棧和Linux內核。

目次

第 1章 內核引導和初始化 1
1.1 到哪裡讀取引導程序 1
1.2 引導程序 1
1.2.1 入口_start 1
1.2.2 標號reset 2
1.2.3 函數_main 4
1.2.4 函數run_main_loop 6
1.3 內核初始化 8
1.3.1 匯編語言部分 8
1.3.2 C語言部分 11
1.3.3 SMP系統的引導 12
1.4 init進程 15
第 2章 進程管理 17
2.1 進程 17
2.2 命名空間 18
2.3 進程標識符 20
2.4 進程關係 21
2.5 啟動程序 23
2.5.1 創建新進程 23
2.5.2 裝載程序 41
2.6 進程退出 48
2.6.1 線程組退出 49
2.6.2 終止進程 51
2.6.3 查詢子進程終止原因 53
2.7 進程狀態 55
2.8 進程調度 55
2.8.1 調度策略 55
2.8.2 進程優先級 56
2.8.3 調度類 57
2.8.4 運行隊列 59
2.8.5 任務分組 60
2.8.6 調度進程 65
2.8.7 調度時機 75
2.8.8 帶寬管理 85
2.9 SMP調度 93
2.9.1 進程的處理器親和性 93
2.9.2 對調度器的擴展 96
2.9.3 限期調度類的處理器負載均衡 96
2.9.4 實時調度類的處理器負載均衡 98
2.9.5 公平調度類的處理器負載均衡 99
2.9.6 遷移線程 108
2.9.7 隔離處理器 110
2.10 進程的安全上下文 111
第3章 內存管理 113
3.1 概述 113
3.2 虛擬地址空間佈局 115
3.2.1 虛擬地址空間劃分 115
3.2.2 用戶虛擬地址空間佈局 115
3.2.3 內核地址空間佈局 121
3.3 物理地址空間 122
3.4 內存映射 124
3.4.1 應用編程接口 125
3.4.2 數據結構 129
3.4.3 創建內存映射 133
3.4.4 虛擬內存過量提交策略 137
3.4.5 刪除內存映射 139
3.5 物理內存組織 140
3.5.1 體系結構 140
3.5.2 內存模型 140
3.5.3 三級結構 141
3.6 引導內存分配器 144
3.6.1 bootmem分配器 144
3.6.2 memblock分配器 145
3.6.3 物理內存信息 148
3.7 夥伴分配器 151
3.7.1 基本的夥伴分配器 151
3.7.2 分區的夥伴分配器 152
3.7.3 根據可移動性分組 158
3.7.4 每處理器頁集合 162
3.7.5 分配頁 163
3.7.6 釋放頁 181
3.8 塊分配器 184
3.8.1 編程接口 185
3.8.2 SLAB分配器 186
3.8.3 SLUB分配器 197
3.8.4 SLOB分配器 204
3.9 不連續頁分配器 207
3.9.1 編程接口 207
3.9.2 數據結構 208
3.9.3 技術原理 209
3.10 每處理器內存分配器 210
3.10.1 編程接口 210
3.10.2 技術原理 212
3.11 頁表 219
3.11.1 統一的頁表框架 219
3.11.2 ARM64處理器的頁表 222
3.12 頁表緩存 226
3.12.1 TLB表項格式 226
3.12.2 TLB管理 226
3.12.3 地址空間標識符 228
3.12.4 虛擬機標識符 232
3.13 巨型頁 233
3.13.1 處理器對巨型頁的支持 233
3.13.2 標準巨型頁 235
3.13.3 透明巨型頁 245
3.14 頁錯誤異常處理 257
3.14.1 處理器架構特定部分 257
3.14.2 用戶空間頁錯誤異常 266
3.14.3 內核模式頁錯誤異常 283
3.15 反碎片技術 288
3.15.1 虛擬可移動區域 289
3.15.2 內存碎片整理 291
3.16 頁回收 309
3.16.1 數據結構 310
3.16.2 發起頁回收 317
3.16.3 計算掃描的頁數 320
3.16.4 收縮活動頁鏈表 321
3.16.5 回收不活動頁 323
3.16.6 頁交換 325
3.16.7 回收slab緩存 335
3.17 內存耗盡殺手 338
3.17.1 使用方法 338
3.17.2 技術原理 338
3.18 內存資源控制器 340
3.18.1 使用方法 340
3.18.2 技術原理 344
3.19 處理器緩存 370
3.19.1 緩存結構 370
3.19.2 緩存策略 372
3.19.3 緩存維護 374
3.19.4 SMP緩存一致性 378
3.19.5 利用緩存提高性能的編程技巧 383
3.20 連續內存分配器 384
3.20.1 使用方法 385
3.20.2 技術原理 386
3.21 userfaultfd 391
3.21.1 使用方法 391
3.21.2 技術原理 395
3.22 內存錯誤檢測工具KASAN 401
3.22.1 使用方法 401
3.22.2 技術原理 402
第4章 中斷、異常和系統調用 403
4.1 ARM64異常處理 403
4.1.1 異常級別 403
4.1.2 異常分類 404
4.1.3 異常向量表 405
4.1.4 異常處理 407
4.2 中斷 411
4.2.1 中斷控制器 412
4.2.2 中斷域 413
4.2.3 中斷控制器驅動初始化 415
4.2.4 Linux中斷處理 422
4.2.5 中斷線程化 428
4.2.6 禁止/開啟中斷 430
4.2.7 禁止/開啟單個中斷 431
4.2.8 中斷親和性 431
4.2.9 處理器間中斷 432
4.3 中斷下半部 434
4.3.1 軟中斷 435
4.3.2 小任務 441
4.3.3 工作隊列 444
4.4 系統調用 457
4.4.1 定義系統調用 457
4.4.2 執行系統調用 459
第5章 內核互斥技術 463
5.1 信號量 464
5.2 讀寫信號量 465
5.3 互斥鎖 466
5.4 實時互斥鎖 467
5.5 原子變量 468
5.6 自旋鎖 472
5.7 讀寫自旋鎖 476
5.8 順序鎖 478
5.8.1 完整版的順序鎖 479
5.8.2 只提供序列號的順序鎖 481
5.9 禁止內核搶佔 482
5.10 進程和軟中斷互斥 483
5.11 進程和硬中斷互斥 483
5.12 每處理器變量 484
5.12.1 靜態每處理器變量 484
5.12.2 動態每處理器變量 484
5.12.3 訪問每處理器變量 485
5.13 每處理器計數器 485
5.14 內存屏障 487
5.14.1 編譯器屏障 488
5.14.2 處理器內存屏障 489
5.14.3 MMIO寫屏障 492
5.14.4 隱含內存屏障 493
5.14.5 ARM64處理器內存屏障 493
5.15 RCU 495
5.15.1 使用方法 496
5.15.2 技術原理 504
5.16 可睡眠RCU 533
5.16.1 使用方法 533
5.16.2 技術原理 534
5.17 死鎖檢測工具lockdep 542
5.17.1 使用方法 543
5.17.2 技術原理 543
第6章 文件系統 548
6.1 概述 548
6.1.1 用戶空間層面 549
6.1.2 硬件層面 549
6.1.3 內核空間層面 550
6.2 虛擬文件系統的數據結構 552
6.2.1 超級塊 552
6.2.2 掛載描述符 554
6.2.3 文件系統類型 555
6.2.4 索引節點 556
6.2.5 目錄項 559
6.2.6 文件的打開實例和打開文件表 561
6.3 註冊文件系統類型 563
6.4 掛載文件系統 564
6.4.1 系統調用mount 566
6.4.2 綁定掛載 567
6.4.3 掛載命名空間 568
6.4.4 掛載根文件系統 574
6.5 打開文件 580
6.5.1 編程接口 580
6.5.2 技術原理 582
6.6 關閉文件 591
6.7 創建文件 593
6.7.1 使用方法 593
6.7.2 技術原理 594
6.8 刪除文件 595
6.8.1 使用方法 595
6.8.2 技術原理 595
6.9 設置文件權限 597
6.9.1 使用方法 597
6.9.2 技術原理 598
6.10 頁緩存 599
6.10.1 地址空間 600
6.10.2 基數樹 601
6.10.3 編程接口 602
6.11 讀文件 602
6.11.1 編程接口 602
6.11.2 技術原理 603
6.12 寫文件 606
6.12.1 編程接口 606
6.12.2 技術原理 607
6.13 文件回寫 610
6.13.1 編程接口 610
6.13.2 技術原理 610
6.14 DAX 618
6.14.1 使用方法 618
6.14.2 技術原理 618
6.15 常用的文件系統類型 621
結束語 622

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 720
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區