幫助中心 | 我的帳號 | 關於我們

Linux內核深度解析(基於ARM64架構的Linux4.x內核)

  • 作者:余華兵
  • 出版社:人民郵電
  • ISBN:9787115504111
  • 出版日期:2019/05/01
  • 裝幀:平裝
  • 頁數:622
人民幣:RMB 138 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書基於4.x版本的Linux內核,介紹了Linux內核的若干關鍵子系統的技術原理。本書主要內容包括內核的引導過程、內核管理和調度進程的技術原理、內核管理虛擬內存和物理內存的技術原理、內核處理異常和中斷的技術原理,以及系統調用的實現方式等。此外,本書還詳細講解了內核實現的各種保護臨界區的互斥技術,以及內核的文件系統。本書內容豐富,深入淺出,通過大量的圖例來描述數據結構之間的關係和函數的執行流程,並結合代碼分析,引導讀者閱讀和理解內核源代碼。
    本書適用於負責維護和開發Linux內核或基於Linux內核開發設備驅動程序的專業人士,以及想要學習了解Linux內核的軟體工程師,也適合作為高等院校電腦專業的師生用書和培訓學校的教材。

作者介紹
余華兵
    余華兵,2005年畢業於華中科技大學電腦學院,取得碩士學位。畢業后的十余年一直在網路通信行業從事軟體設計和開發工作,研究方向包括IPv4協議棧、IPv6協議棧和Linux內核。

目錄
第1章  內核引導和初始化
  1.1  到哪裡讀取引導程序
  1.2  引導程序
    1.2.1  入口_start
    1.2.2  標號reset
    1.2.3  函數_main
    1.2.4  函數run_main_loop
  1.3  內核初始化
    1.3.1  彙編語言部分
    1.3.2  C語言部分
    1.3.3  SMP系統的引導
  1.4  init進程
第2章  進程管理
  2.1  進程
  2.2  命名空間
  2.3  進程標識符
  2.4  進程關係
  2.5  啟動程序
    2.5.1  創建新進程
    2.5.2  裝載程序
  2.6  進程退出
    2.6.1  線程組退出
    2.6.2  終止進程
    2.6.3  查詢子進程終止原因
  2.7  進程狀態
  2.8  進程調度
    2.8.1  調度策略
    2.8.2  進程優先順序
    2.8.3  調度類
    2.8.4  運行隊列
    2.8.5  任務分組
    2.8.6  調度進程
    2.8.7  調度時機
    2.8.8  帶寬管理
  2.9  SMP調度
    2.9.1  進程的處理器親和性
    2.9.2  對調度器的擴展
    2.9.3  限期調度類的處理器負載均衡
    2.9.4  實時調度類的處理器負載均衡
    2.9.5  公平調度類的處理器負載均衡
    2.9.6  遷移線程
    2.9.7  隔離處理器
  2.10  進程的安全上下文
第3章  內存管理
  3.1  概述
  3.2  虛擬地址空間布局
    3.2.1  虛擬地址空間劃分
    3.2.2  用戶虛擬地址空間布局
    3.2.3  內核地址空間布局
  3.3  物理地址空間

  3.4  內存映射
    3.4.1  應用編程介面
    3.4.2  數據結構
    3.4.3  創建內存映射
    3.4.4  虛擬內存過量提交策略
    3.4.5  刪除內存映射
  3.5  物理內存組織
    3.5.1  體系結構
    3.5.2  內存模型
    3.5.3  三級結構
  3.6  引導內存分配器
    3.6.1  bootmem分配器
    3.6.2  memblock分配器
    3.6.3  物理內存信息
  3.7  夥伴分配器
    3.7.1  基本的夥伴分配器
    3.7.2  分區的夥伴分配器
    3.7.3  根據可移動性分組
    3.7.4  每處理器頁集合
    3.7.5  分配頁
    3.7.6  釋放頁
  3.8  塊分配器
    3.8.1  編程介面
    3.8.2  SLAB分配器
    3.8.3  SLUB分配器
    3.8.4  SLOB分配器
  3.9  不連續頁分配器
    3.9.1  編程介面
    3.9.2  數據結構
    3.9.3  技術原理
  3.10  每處理器內存分配器
    3.10.1  編程介面
    3.10.2  技術原理
  3.11  頁表
    3.11.1  統一的頁表框架
    3.11.2  ARM64處理器的頁表
  3.12  頁表緩存
    3.12.1  TLB表項格式
    3.12.2  TLB管理
    3.12.3  地址空間標識符
    3.12.4  虛擬機標識符
  3.13  巨型頁
    3.13.1  處理器對巨型頁的支持
    3.13.2  標準巨型頁
    3.13.3  透明巨型頁
  3.14  頁錯誤異常處理
    3.14.1  處理器架構特定部分
    3.14.2  用戶空間頁錯誤異常
    3.14.3  內核模式頁錯誤異常
  3.15  反碎片技術

    3.15.1  虛擬可移動區域
    3.15.2  內存碎片整理
  3.16  頁回收
    3.16.1  數據結構
    3.16.2  發起頁回收
    3.16.3  計算掃描的頁數
    3.16.4  收縮活動頁鏈表
    3.16.5  回收不活動頁
    3.16.6  頁交換
    3.16.7  回收slab緩存
  3.17  內存耗盡殺手
    3.17.1  使用方法
    3.17.2  技術原理
  3.18  內存資源控制器
    3.18.1  使用方法
    3.18.2  技術原理
  3.19  處理器緩存
    3.19.1  緩存結構
    3.19.2  緩存策略
    3.19.3  緩存維護
    3.19.4  SMP緩存一致性
    3.19.5  利用緩存提高性能的編程技巧
  3.20  連續內存分配器
    3.20.1  使用方法
    3.20.2  技術原理
  3.21  userfaultfd
    3.21.1  使用方法
    3.21.2  技術原理
  3.22  內存錯誤檢測工具KASAN
    3.22.1  使用方法
    3.22.2  技術原理
第4章  中斷、異常和系統調用
  4.1  ARM64異常處理
    4.1.1  異常級別
    4.1.2  異常分類
    4.1.3  異常向量表
    4.1.4  異常處理
  4.2  中斷
    4.2.1  中斷控制器
    4.2.2  中斷域
    4.2.3  中斷控制器驅動初始化
    4.2.4  Linux中斷處理
    4.2.5  中斷線程化
    4.2.6  禁止/開啟中斷
    4.2.7  禁止/開啟單個中斷
    4.2.8  中斷親和性
    4.2.9  處理器間中斷
  4.3  中斷下半部
    4.3.1  軟中斷
    4.3.2  小任務

    4.3.3  工作隊列
  4.4  系統調用
    4.4.1  定義系統調用
    4.4.2  執行系統調用
第5章  內核互斥技術
  5.1  信號量
  5.2  讀寫信號量
  5.3  互斥鎖
  5.4  實時互斥鎖
  5.5  原子變數
  5.6  自旋鎖
  5.7  讀寫自旋鎖
  5.8  順序鎖
    5.8.1  完整版的順序鎖
    5.8.2  只提供序列號的順序鎖
  5.9  禁止內核搶佔
  5.10  進程和軟中斷互斥
  5.11  進程和硬中斷互斥
  5.12  每處理器變數
    5.12.1  靜態每處理器變數
    5.12.2  動態每處理器變數
    5.12.3  訪問每處理器變數
  5.13  每處理器計數器
  5.14  內存屏障
    5.14.1  編譯器屏障
    5.14.2  處理器內存屏障
    5.14.3  MMIO寫屏障
    5.14.4  隱含內存屏障
    5.14.5  ARM64處理器內存屏障
  5.15  RCU
    5.15.1  使用方法
    5.15.2  技術原理
  5.16  可睡眠RCU
    5.16.1  使用方法
    5.16.2  技術原理
  5.17  死鎖檢測工具lockdep
    5.17.1  使用方法
    5.17.2  技術原理
第6章  文件系統
  6.1  概述
    6.1.1  用戶空間層面
    6.1.2  硬體層面
    6.1.3  內核空間層面
  6.2  虛擬文件系統的數據結構
    6.2.1  超級塊
    6.2.2  掛載描述符
    6.2.3  文件系統類型
    6.2.4  索引節點
    6.2.5  目錄項
    6.2.6  文件的打開實例和打開文件表

  6.3  註冊文件系統類型
  6.4  掛載文件系統
    6.4.1  系統調用mount
    6.4.2  綁定掛載
    6.4.3  掛載命名空間
    6.4.4  掛載根文件系統
  6.5  打開文件
    6.5.1  編程介面
    6.5.2  技術原理
  6.6  關閉文件
  6.7  創建文件
    6.7.1  使用方法
    6.7.2  技術原理
  6.8  刪除文件
    6.8.1  使用方法
    6.8.2  技術原理
  6.9  設置文件許可權
    6.9.1  使用方法
    6.9.2  技術原理
  6.10  頁緩存
    6.10.1  地址空間
    6.10.2  基數樹
    6.10.3  編程介面
  6.11  讀文件
    6.11.1  編程介面
    6.11.2  技術原理
  6.12  寫文件
    6.12.1  編程介面
    6.12.2  技術原理
  6.13  文件回寫
    6.13.1  編程介面
    6.13.2  技術原理
  6.14  DAX
    6.14.1  使用方法
    6.14.2  技術原理
  6.15  常用的文件系統類型
結束語

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032