舉報(bào)

會(huì)員
Linux內(nèi)核深度解析
最新章節(jié):
關(guān)于本書(shū)
本書(shū)基于4.x版本的Linux內(nèi)核,介紹了Linux內(nèi)核的若干關(guān)鍵子系統(tǒng)的技術(shù)原理。本書(shū)主要內(nèi)容包括內(nèi)核的引導(dǎo)過(guò)程、內(nèi)核管理和調(diào)度進(jìn)程的技術(shù)原理、內(nèi)核管理虛擬內(nèi)存和物理內(nèi)存的技術(shù)原理、內(nèi)核處理異常和中斷的技術(shù)原理,以及系統(tǒng)調(diào)用的實(shí)現(xiàn)方式等。此外,本書(shū)還詳細(xì)講解了內(nèi)核實(shí)現(xiàn)的各種保護(hù)臨界區(qū)的互斥技術(shù),以及內(nèi)核的文件系統(tǒng)。本書(shū)內(nèi)容豐富,深入淺出,通過(guò)大量的圖例來(lái)描述數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系和函數(shù)的執(zhí)行流程,并結(jié)合代碼分析,引導(dǎo)讀者閱讀和理解內(nèi)核源代碼。
最新章節(jié)
書(shū)友吧品牌:人郵圖書(shū)
上架時(shí)間:2020-04-14 15:04:41
出版社:人民郵電出版社有限公司
本書(shū)數(shù)字版權(quán)由人郵圖書(shū)提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- 關(guān)于本書(shū) 更新時(shí)間:2020-04-14 15:16:33
- 結(jié)束語(yǔ)
- 6.15 常用的文件系統(tǒng)類型
- 6.14.2 技術(shù)原理
- 6.14.1 使用方法
- 6.14 DAX
- 6.13.2 技術(shù)原理
- 6.13.1 編程接口
- 6.13 文件回寫(xiě)
- 6.12.2 技術(shù)原理
- 6.12.1 編程接口
- 6.12 寫(xiě)文件
- 6.11.2 技術(shù)原理
- 6.11.1 編程接口
- 6.11 讀文件
- 6.10.3 編程接口
- 6.10.2 基數(shù)樹(shù)
- 6.10.1 地址空間
- 6.10 頁(yè)緩存
- 6.9.2 技術(shù)原理
- 6.9.1 使用方法
- 6.9 設(shè)置文件權(quán)限
- 6.8.2 技術(shù)原理
- 6.8.1 使用方法
- 6.8 刪除文件
- 6.7.2 技術(shù)原理
- 6.7.1 使用方法
- 6.7 創(chuàng)建文件
- 6.6 關(guān)閉文件
- 6.5.2 技術(shù)原理
- 6.5.1 編程接口
- 6.5 打開(kāi)文件
- 6.4.4 掛載根文件系統(tǒng)
- 6.4.3 掛載命名空間
- 6.4.2 綁定掛載
- 6.4.1 系統(tǒng)調(diào)用mount
- 6.4 掛載文件系統(tǒng)
- 6.3 注冊(cè)文件系統(tǒng)類型
- 6.2.6 文件的打開(kāi)實(shí)例和打開(kāi)文件表
- 6.2.5 目錄項(xiàng)
- 6.2.4 索引節(jié)點(diǎn)
- 6.2.3 文件系統(tǒng)類型
- 6.2.2 掛載描述符
- 6.2.1 超級(jí)塊
- 6.2 虛擬文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
- 6.1.3 內(nèi)核空間層面
- 6.1.2 硬件層面
- 6.1.1 用戶空間層面
- 6.1 概述
- 第6章 文件系統(tǒng)
- 5.17.2 技術(shù)原理
- 5.17.1 使用方法
- 5.17 死鎖檢測(cè)工具lockdep
- 5.16.2 技術(shù)原理
- 5.16.1 使用方法
- 5.16 可睡眠RCU
- 5.15.2 技術(shù)原理
- 5.15.1 使用方法
- 5.15 RCU
- 5.14.5 ARM64處理器內(nèi)存屏障
- 5.14.4 隱含內(nèi)存屏障
- 5.14.3 MMIO寫(xiě)屏障
- 5.14.2 處理器內(nèi)存屏障
- 5.14.1 編譯器屏障
- 5.14 內(nèi)存屏障
- 5.13 每處理器計(jì)數(shù)器
- 5.12.3 訪問(wèn)每處理器變量
- 5.12.2 動(dòng)態(tài)每處理器變量
- 5.12.1 靜態(tài)每處理器變量
- 5.12 每處理器變量
- 5.11 進(jìn)程和硬中斷互斥
- 5.10 進(jìn)程和軟中斷互斥
- 5.9 禁止內(nèi)核搶占
- 5.8.2 只提供序列號(hào)的順序鎖
- 5.8.1 完整版的順序鎖
- 5.8 順序鎖
- 5.7 讀寫(xiě)自旋鎖
- 5.6 自旋鎖
- ARM64處理器的原子變量實(shí)現(xiàn)
- 5.5 原子變量
- 5.4 實(shí)時(shí)互斥鎖
- 5.3 互斥鎖
- 5.2 讀寫(xiě)信號(hào)量
- 5.1 信號(hào)量
- 第5章 內(nèi)核互斥技術(shù)
- 4.4.2 執(zhí)行系統(tǒng)調(diào)用
- 4.4.1 定義系統(tǒng)調(diào)用
- 4.4 系統(tǒng)調(diào)用
- 4.3.3 工作隊(duì)列
- 4.3.2 小任務(wù)
- 4.3.1 軟中斷
- 4.3 中斷下半部
- 4.2.9 處理器間中斷
- 4.2.8 中斷親和性
- 4.2.7 禁止/開(kāi)啟單個(gè)中斷
- 4.2.6 禁止/開(kāi)啟中斷
- 4.2.5 中斷線程化
- 4.2.4 Linux中斷處理
- 4.2.3 中斷控制器驅(qū)動(dòng)初始化
- 4.2.2 中斷域
- 4.2.1 中斷控制器
- 4.2 中斷
- 4.1.4 異常處理
- 4.1.3 異常向量表
- 4.1.2 異常分類
- 4.1.1 異常級(jí)別
- 4.1 ARM64異常處理
- 第4章 中斷、異常和系統(tǒng)調(diào)用
- 3.22.2 技術(shù)原理
- 3.22.1 使用方法
- 3.22 內(nèi)存錯(cuò)誤檢測(cè)工具KASAN
- 3.21.2 技術(shù)原理
- 3.21.1 使用方法
- 3.21 userfaultfd
- 3.20.2 技術(shù)原理
- 3.20.1 使用方法
- 3.20 連續(xù)內(nèi)存分配器
- 3.19.5 利用緩存提高性能的編程技巧
- 3.19.4 SMP緩存一致性
- 3.19.3 緩存維護(hù)
- 3.19.2 緩存策略
- 3.19.1 緩存結(jié)構(gòu)
- 3.19 處理器緩存
- 3.18.2 技術(shù)原理
- 3.18.1 使用方法
- 3.18 內(nèi)存資源控制器
- 3.17.2 技術(shù)原理
- 3.17.1 使用方法
- 3.17 內(nèi)存耗盡殺手
- 3.16.7 回收slab緩存
- 3.16.6 頁(yè)交換
- 3.16.5 回收不活動(dòng)頁(yè)
- 3.16.4 收縮活動(dòng)頁(yè)鏈表
- 3.16.3 計(jì)算掃描的頁(yè)數(shù)
- 3.16.2 發(fā)起頁(yè)回收
- 3.16.1 數(shù)據(jù)結(jié)構(gòu)
- 3.16 頁(yè)回收
- 3.15.2 內(nèi)存碎片整理
- 3.15.1 虛擬可移動(dòng)區(qū)域
- 3.15 反碎片技術(shù)
- 3.14.3 內(nèi)核模式頁(yè)錯(cuò)誤異常
- 3.14.2 用戶空間頁(yè)錯(cuò)誤異常
- 3.14.1 處理器架構(gòu)特定部分
- 3.14 頁(yè)錯(cuò)誤異常處理
- 3.13.3 透明巨型頁(yè)
- 3.13.2 標(biāo)準(zhǔn)巨型頁(yè)
- 3.13.1 處理器對(duì)巨型頁(yè)的支持
- 3.13 巨型頁(yè)
- 3.12.4 虛擬機(jī)標(biāo)識(shí)符
- 3.12.3 地址空間標(biāo)識(shí)符
- 3.12.2 TLB管理
- 3.12.1 TLB表項(xiàng)格式
- 3.12 頁(yè)表緩存
- 3.11.2 ARM64處理器的頁(yè)表
- 3.11.1 統(tǒng)一的頁(yè)表框架
- 3.11 頁(yè)表
- 3.10.2 技術(shù)原理
- 3.10.1 編程接口
- 3.10 每處理器內(nèi)存分配器
- 3.9.3 技術(shù)原理
- 3.9.2 數(shù)據(jù)結(jié)構(gòu)
- 3.9.1 編程接口
- 3.9 不連續(xù)頁(yè)分配器
- 3.8.4 SLOB分配器
- 3.8.3 SLUB分配器
- 3.8.2 SLAB分配器
- 3.8.1 編程接口
- 3.8 塊分配器
- 3.7.6 釋放頁(yè)
- 3.7.5 分配頁(yè)
- 3.7.4 每處理器頁(yè)集合
- 3.7.3 根據(jù)可移動(dòng)性分組
- 3.7.2 分區(qū)的伙伴分配器
- 3.7.1 基本的伙伴分配器
- 3.7 伙伴分配器
- 3.6.3 物理內(nèi)存信息
- 3.6.2 memblock分配器
- 3.6.1 bootmem分配器
- 3.6 引導(dǎo)內(nèi)存分配器
- 3.5.3 三級(jí)結(jié)構(gòu)
- 3.5.2 內(nèi)存模型
- 3.5.1 體系結(jié)構(gòu)
- 3.5 物理內(nèi)存組織
- 3.4.5 刪除內(nèi)存映射
- 3.4.4 虛擬內(nèi)存過(guò)量提交策略
- 3.4.3 創(chuàng)建內(nèi)存映射
- 3.4.2 數(shù)據(jù)結(jié)構(gòu)
- 3.4.1 應(yīng)用編程接口
- 3.4 內(nèi)存映射
- 3.3 物理地址空間
- 3.2.3 內(nèi)核地址空間布局
- 3.2.2 用戶虛擬地址空間布局
- 3.2.1 虛擬地址空間劃分
- 3.2 虛擬地址空間布局
- 3.1 概述
- 第3章 內(nèi)存管理
- 2.10 進(jìn)程的安全上下文
- 2.9.7 隔離處理器
- 2.9.6 遷移線程
- 2.9.5 公平調(diào)度類的處理器負(fù)載均衡
- 2.9.4 實(shí)時(shí)調(diào)度類的處理器負(fù)載均衡
- 2.9.3 限期調(diào)度類的處理器負(fù)載均衡
- 2.9.2 對(duì)調(diào)度器的擴(kuò)展
- 2.9.1 進(jìn)程的處理器親和性
- 2.9 SMP調(diào)度
- 2.8.8 帶寬管理
- 2.8.7 調(diào)度時(shí)機(jī)
- 2.8.6 調(diào)度進(jìn)程
- 2.8.5 任務(wù)分組
- 2.8.4 運(yùn)行隊(duì)列
- 2.8.3 調(diào)度類
- 2.8.2 進(jìn)程優(yōu)先級(jí)
- 2.8.1 調(diào)度策略
- 2.8 進(jìn)程調(diào)度
- 2.7 進(jìn)程狀態(tài)
- 2.6.3 查詢子進(jìn)程終止原因
- 2.6.2 終止進(jìn)程
- 2.6.1 線程組退出
- 2.6 進(jìn)程退出
- 2.5.2 裝載程序
- 2.5.1 創(chuàng)建新進(jìn)程
- 2.5 啟動(dòng)程序
- 2.4 進(jìn)程關(guān)系
- 2.3 進(jìn)程標(biāo)識(shí)符
- 2.2 命名空間
- 2.1 進(jìn)程
- 第2章 進(jìn)程管理
- 1.4 init進(jìn)程
- 1.3.3 SMP系統(tǒng)的引導(dǎo)
- 1.3.2 C語(yǔ)言部分
- 1.3.1 匯編語(yǔ)言部分
- 1.3 內(nèi)核初始化
- 1.2.4 函數(shù)run_main_loop
- 1.2.3 函數(shù)_main
- 1.2.2 標(biāo)號(hào)reset
- 1.2.1 入口_start
- 1.2 引導(dǎo)程序
- 1.1 到哪里讀取引導(dǎo)程序
- 第1章 內(nèi)核引導(dǎo)和初始化
- 前言
- 序二
- 序一
- 版權(quán)信息
- 封面
- 封面
- 版權(quán)信息
- 序一
- 序二
- 前言
- 第1章 內(nèi)核引導(dǎo)和初始化
- 1.1 到哪里讀取引導(dǎo)程序
- 1.2 引導(dǎo)程序
- 1.2.1 入口_start
- 1.2.2 標(biāo)號(hào)reset
- 1.2.3 函數(shù)_main
- 1.2.4 函數(shù)run_main_loop
- 1.3 內(nèi)核初始化
- 1.3.1 匯編語(yǔ)言部分
- 1.3.2 C語(yǔ)言部分
- 1.3.3 SMP系統(tǒng)的引導(dǎo)
- 1.4 init進(jìn)程
- 第2章 進(jìn)程管理
- 2.1 進(jìn)程
- 2.2 命名空間
- 2.3 進(jìn)程標(biāo)識(shí)符
- 2.4 進(jìn)程關(guān)系
- 2.5 啟動(dòng)程序
- 2.5.1 創(chuàng)建新進(jìn)程
- 2.5.2 裝載程序
- 2.6 進(jìn)程退出
- 2.6.1 線程組退出
- 2.6.2 終止進(jìn)程
- 2.6.3 查詢子進(jìn)程終止原因
- 2.7 進(jìn)程狀態(tài)
- 2.8 進(jìn)程調(diào)度
- 2.8.1 調(diào)度策略
- 2.8.2 進(jìn)程優(yōu)先級(jí)
- 2.8.3 調(diào)度類
- 2.8.4 運(yùn)行隊(duì)列
- 2.8.5 任務(wù)分組
- 2.8.6 調(diào)度進(jìn)程
- 2.8.7 調(diào)度時(shí)機(jī)
- 2.8.8 帶寬管理
- 2.9 SMP調(diào)度
- 2.9.1 進(jìn)程的處理器親和性
- 2.9.2 對(duì)調(diào)度器的擴(kuò)展
- 2.9.3 限期調(diào)度類的處理器負(fù)載均衡
- 2.9.4 實(shí)時(shí)調(diào)度類的處理器負(fù)載均衡
- 2.9.5 公平調(diào)度類的處理器負(fù)載均衡
- 2.9.6 遷移線程
- 2.9.7 隔離處理器
- 2.10 進(jìn)程的安全上下文
- 第3章 內(nèi)存管理
- 3.1 概述
- 3.2 虛擬地址空間布局
- 3.2.1 虛擬地址空間劃分
- 3.2.2 用戶虛擬地址空間布局
- 3.2.3 內(nèi)核地址空間布局
- 3.3 物理地址空間
- 3.4 內(nèi)存映射
- 3.4.1 應(yīng)用編程接口
- 3.4.2 數(shù)據(jù)結(jié)構(gòu)
- 3.4.3 創(chuàng)建內(nèi)存映射
- 3.4.4 虛擬內(nèi)存過(guò)量提交策略
- 3.4.5 刪除內(nèi)存映射
- 3.5 物理內(nèi)存組織
- 3.5.1 體系結(jié)構(gòu)
- 3.5.2 內(nèi)存模型
- 3.5.3 三級(jí)結(jié)構(gòu)
- 3.6 引導(dǎo)內(nèi)存分配器
- 3.6.1 bootmem分配器
- 3.6.2 memblock分配器
- 3.6.3 物理內(nèi)存信息
- 3.7 伙伴分配器
- 3.7.1 基本的伙伴分配器
- 3.7.2 分區(qū)的伙伴分配器
- 3.7.3 根據(jù)可移動(dòng)性分組
- 3.7.4 每處理器頁(yè)集合
- 3.7.5 分配頁(yè)
- 3.7.6 釋放頁(yè)
- 3.8 塊分配器
- 3.8.1 編程接口
- 3.8.2 SLAB分配器
- 3.8.3 SLUB分配器
- 3.8.4 SLOB分配器
- 3.9 不連續(xù)頁(yè)分配器
- 3.9.1 編程接口
- 3.9.2 數(shù)據(jù)結(jié)構(gòu)
- 3.9.3 技術(shù)原理
- 3.10 每處理器內(nèi)存分配器
- 3.10.1 編程接口
- 3.10.2 技術(shù)原理
- 3.11 頁(yè)表
- 3.11.1 統(tǒng)一的頁(yè)表框架
- 3.11.2 ARM64處理器的頁(yè)表
- 3.12 頁(yè)表緩存
- 3.12.1 TLB表項(xiàng)格式
- 3.12.2 TLB管理
- 3.12.3 地址空間標(biāo)識(shí)符
- 3.12.4 虛擬機(jī)標(biāo)識(shí)符
- 3.13 巨型頁(yè)
- 3.13.1 處理器對(duì)巨型頁(yè)的支持
- 3.13.2 標(biāo)準(zhǔn)巨型頁(yè)
- 3.13.3 透明巨型頁(yè)
- 3.14 頁(yè)錯(cuò)誤異常處理
- 3.14.1 處理器架構(gòu)特定部分
- 3.14.2 用戶空間頁(yè)錯(cuò)誤異常
- 3.14.3 內(nèi)核模式頁(yè)錯(cuò)誤異常
- 3.15 反碎片技術(shù)
- 3.15.1 虛擬可移動(dòng)區(qū)域
- 3.15.2 內(nèi)存碎片整理
- 3.16 頁(yè)回收
- 3.16.1 數(shù)據(jù)結(jié)構(gòu)
- 3.16.2 發(fā)起頁(yè)回收
- 3.16.3 計(jì)算掃描的頁(yè)數(shù)
- 3.16.4 收縮活動(dòng)頁(yè)鏈表
- 3.16.5 回收不活動(dòng)頁(yè)
- 3.16.6 頁(yè)交換
- 3.16.7 回收slab緩存
- 3.17 內(nèi)存耗盡殺手
- 3.17.1 使用方法
- 3.17.2 技術(shù)原理
- 3.18 內(nèi)存資源控制器
- 3.18.1 使用方法
- 3.18.2 技術(shù)原理
- 3.19 處理器緩存
- 3.19.1 緩存結(jié)構(gòu)
- 3.19.2 緩存策略
- 3.19.3 緩存維護(hù)
- 3.19.4 SMP緩存一致性
- 3.19.5 利用緩存提高性能的編程技巧
- 3.20 連續(xù)內(nèi)存分配器
- 3.20.1 使用方法
- 3.20.2 技術(shù)原理
- 3.21 userfaultfd
- 3.21.1 使用方法
- 3.21.2 技術(shù)原理
- 3.22 內(nèi)存錯(cuò)誤檢測(cè)工具KASAN
- 3.22.1 使用方法
- 3.22.2 技術(shù)原理
- 第4章 中斷、異常和系統(tǒng)調(diào)用
- 4.1 ARM64異常處理
- 4.1.1 異常級(jí)別
- 4.1.2 異常分類
- 4.1.3 異常向量表
- 4.1.4 異常處理
- 4.2 中斷
- 4.2.1 中斷控制器
- 4.2.2 中斷域
- 4.2.3 中斷控制器驅(qū)動(dòng)初始化
- 4.2.4 Linux中斷處理
- 4.2.5 中斷線程化
- 4.2.6 禁止/開(kāi)啟中斷
- 4.2.7 禁止/開(kāi)啟單個(gè)中斷
- 4.2.8 中斷親和性
- 4.2.9 處理器間中斷
- 4.3 中斷下半部
- 4.3.1 軟中斷
- 4.3.2 小任務(wù)
- 4.3.3 工作隊(duì)列
- 4.4 系統(tǒng)調(diào)用
- 4.4.1 定義系統(tǒng)調(diào)用
- 4.4.2 執(zhí)行系統(tǒng)調(diào)用
- 第5章 內(nèi)核互斥技術(shù)
- 5.1 信號(hào)量
- 5.2 讀寫(xiě)信號(hào)量
- 5.3 互斥鎖
- 5.4 實(shí)時(shí)互斥鎖
- 5.5 原子變量
- ARM64處理器的原子變量實(shí)現(xiàn)
- 5.6 自旋鎖
- 5.7 讀寫(xiě)自旋鎖
- 5.8 順序鎖
- 5.8.1 完整版的順序鎖
- 5.8.2 只提供序列號(hào)的順序鎖
- 5.9 禁止內(nèi)核搶占
- 5.10 進(jìn)程和軟中斷互斥
- 5.11 進(jìn)程和硬中斷互斥
- 5.12 每處理器變量
- 5.12.1 靜態(tài)每處理器變量
- 5.12.2 動(dòng)態(tài)每處理器變量
- 5.12.3 訪問(wèn)每處理器變量
- 5.13 每處理器計(jì)數(shù)器
- 5.14 內(nèi)存屏障
- 5.14.1 編譯器屏障
- 5.14.2 處理器內(nèi)存屏障
- 5.14.3 MMIO寫(xiě)屏障
- 5.14.4 隱含內(nèi)存屏障
- 5.14.5 ARM64處理器內(nèi)存屏障
- 5.15 RCU
- 5.15.1 使用方法
- 5.15.2 技術(shù)原理
- 5.16 可睡眠RCU
- 5.16.1 使用方法
- 5.16.2 技術(shù)原理
- 5.17 死鎖檢測(cè)工具lockdep
- 5.17.1 使用方法
- 5.17.2 技術(shù)原理
- 第6章 文件系統(tǒng)
- 6.1 概述
- 6.1.1 用戶空間層面
- 6.1.2 硬件層面
- 6.1.3 內(nèi)核空間層面
- 6.2 虛擬文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
- 6.2.1 超級(jí)塊
- 6.2.2 掛載描述符
- 6.2.3 文件系統(tǒng)類型
- 6.2.4 索引節(jié)點(diǎn)
- 6.2.5 目錄項(xiàng)
- 6.2.6 文件的打開(kāi)實(shí)例和打開(kāi)文件表
- 6.3 注冊(cè)文件系統(tǒng)類型
- 6.4 掛載文件系統(tǒng)
- 6.4.1 系統(tǒng)調(diào)用mount
- 6.4.2 綁定掛載
- 6.4.3 掛載命名空間
- 6.4.4 掛載根文件系統(tǒng)
- 6.5 打開(kāi)文件
- 6.5.1 編程接口
- 6.5.2 技術(shù)原理
- 6.6 關(guān)閉文件
- 6.7 創(chuàng)建文件
- 6.7.1 使用方法
- 6.7.2 技術(shù)原理
- 6.8 刪除文件
- 6.8.1 使用方法
- 6.8.2 技術(shù)原理
- 6.9 設(shè)置文件權(quán)限
- 6.9.1 使用方法
- 6.9.2 技術(shù)原理
- 6.10 頁(yè)緩存
- 6.10.1 地址空間
- 6.10.2 基數(shù)樹(shù)
- 6.10.3 編程接口
- 6.11 讀文件
- 6.11.1 編程接口
- 6.11.2 技術(shù)原理
- 6.12 寫(xiě)文件
- 6.12.1 編程接口
- 6.12.2 技術(shù)原理
- 6.13 文件回寫(xiě)
- 6.13.1 編程接口
- 6.13.2 技術(shù)原理
- 6.14 DAX
- 6.14.1 使用方法
- 6.14.2 技術(shù)原理
- 6.15 常用的文件系統(tǒng)類型
- 結(jié)束語(yǔ)
- 關(guān)于本書(shū) 更新時(shí)間:2020-04-14 15:16:33