練核心從裡強到外:全面了解 Linux 基礎架構
內容描述
最硬的Linux核心 + Arm、x86架構的核心說明
看懂本書,直接成為個人電腦及手機CPU的頂薪全才!
► 基於 Linux 5.0和ARM64/x86_64架構
► 新增ARM64 架構等方面的內容
► 涵蓋實戰案例,提供面試題
► 提供核心偵錯和最佳化技巧
本書基於Linux 5.0核心的原始程式碼,說明Linux核心中核心模組的實現。
全書共9章,主要內容包括處理器架構、ARM64在Linux核心中的實現、記憶體管理之預備知識、實體記憶體與虛擬記憶體、記憶體管理等高級主題、記憶體管理之實戰案例、處理程式管理之基本概念、處理程式管理之排程和負載平衡、處理程式管理之偵錯與案例分析。
■ 第 1 章簡單介紹 ARM64 架構、ARMv8 暫存器、A64 指令集等。
■ 第 2 章介紹 ARM64 記憶體管理、快取記憶體管理、TLB 管理、記憶體屏障並分析Linux 核心的組合語言程式碼等。
■ 第 3 章說明如何從硬體角度看記憶體管理、從軟體角度看記憶體管理以及實體記憶體管理之預備知識等內容。
■ 第 4 章討論頁面分配之快速路徑、slab 分配器、vmalloc()、虛擬記憶體管理之處理程序位址空間、malloc()、mmap 以及缺頁異常處理等內容。
■ 第 5 章探討 page、RMAP、頁面回收、匿名頁面生命週期、頁面遷移、記憶體規整、KSM、頁面分配之慢速路徑以及記憶體碎片化管理等內容。
■ 第 6 章探討記憶體管理記錄檔資訊和偵錯資訊、記憶體管理最佳化參數、記憶體管理實戰案例等內容。
■ 第 7 章說明處理程序的基本概念、處理程序的建立和終止、處理程序排程基本操作等內容。
■ 第 8 章說明 CFS、負載計算、SMP 負載平衡、綠色節能排程器、即時排程等內容。
■ 第 9 章介紹處理程序管理中的偵錯、綜合案例等內容。
本書適合Linux系統開發人員、嵌入式系統開發人員及Android開發人員閱讀。
另外還有針對大型企業最常見的面試題,讓你快快樂樂學習,輕輕鬆鬆找工作,喜歡極硬派Linux及CPU原理的讀者千萬不要錯過。
適合讀者群:Linux系統開發人員、嵌入式系統開發人員及Android開發人員
目錄大綱
前言
01 處理器架構
1.1 處理器架構介紹
1.2 ARM64 架構
1.3 ARMv8 暫存器
1.4 A64 指令集
1.5 GCC 內聯組合語言
1.6 函數呼叫標準和堆疊佈局
1.7 ARM64 異常處理
02 ARM64 在Linux 核心中的實現
2.1 ARM64 記憶體管理
2.2 快取記憶體管理
2.3 TLB 管理
2.4 記憶體屬性
2.5 記憶體屏障
2.6 Linux 核心組合語言程式碼分析
2.7 關於分頁的常見疑問
03 記憶體管理之預備知識
3.1 從硬體角度看記憶體管理
3.2 從軟體角度看記憶體管理
3.3 實體記憶體管理之預備知識
04 實體記憶體與虛擬記憶體
4.1 頁面分配之快速路徑
4.2 slab 分配器
4.3 vmalloc()
4.4 虛擬記憶體管理之處理程序位址空間
4.5 malloc()
4.6 mmap
4.7 缺頁異常處理
05 記憶體管理之進階主題
5.1 page
5.2 RMAP
5.3 頁面回收
5.4 匿名頁面生命週期
5.5 頁面遷移
5.6 記憶體碎片整理
5.7 KSM
5.8 頁面分配之慢速路徑
5.9 記憶體碎片化管理
06 記憶體管理之實戰案例分析
6.1 記憶體管理日誌資訊和偵錯資訊
6.2 記憶體管理最佳化參數
6.3 記憶體管理實戰案例分析
07 處理程序管理之基本概念
7.1 關於處理程序的基本概念
7.2 與處理程序創建和終止相關的作業系統基本操作
7.3 程式分析:處理程序的創建和終止
7.4 處理程序分配基本操作
08 處理程序管理之分配與負載平衡
8.1 CFS
8.2 負載計算
8.3 SMP 負載平衡
8.4 綠色節能分配器
8.5 即時分配
09 處理程序管理之偵錯與案例分析
9.1 處理程序管理之偵錯
9.2 綜合案例分析—系統分配
9.3 處理程序管理
作者介紹
作者簡介
笨叔
Linux核心愛好者,出版過多本Linux書籍。建立了「奔跑吧Linux社區」,為廣大Linux愛好者佈道。