打通 Linux 操作系統和芯片開發

劉盼盼

  • 出版商: 電子工業
  • 出版日期: 2025-03-01
  • 定價: $834
  • 售價: 8.5$709
  • 語言: 簡體中文
  • 頁數: 356
  • ISBN: 7121498472
  • ISBN-13: 9787121498473
  • 相關分類: LinuxOperating-system半導體
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書共13章,操作系統部分涉及內存管理、進程管理、文件系統、同步管理,以及系統調用。SoC(即片上系統)部分涉及SoC啟動的過程、設備模型、設備樹原理、電源模塊、時鐘模塊、引腳模塊、時間模塊和中斷模塊,這些模塊都是芯片運行的基本要求。作者站在一線開發者的角度先剖析了Kernel 6.6的實現原理,然後結合恩智浦i.MX9芯片的SoC 硬件原理,由淺入深地講解了操作系統和SoC 的深層原理。 本書適合因特網開發從業人員、芯片開發相關人員閱讀,也適合電腦及相關專業的在校學生作為專業參考書閱讀。

目錄大綱

第1章 內存管理
1.1 內存管理的機制
1.1.1 分段機制
1.1.2 分頁機制
1.2 CPU訪問內存的過程
1.2.1 PN/PFN/PT/PTE
1.2.2 MMU中的TLB和TTW
1.2.3 一級頁表映射過程
1.2.4 為什麽使用多級頁表
1.3 內存架構和內存模型
1.3.1 Linux內存模型
1.3.2 Linux內存映射
1.4 memblock物理內存的初始化
1.4.1 early boot memory
1.4.2 memblock的數據結構
1.4.3 memblock的初始化
1.5 memblock物理內存的映射
1.5.1 paging_init函數
1.5.2 __create_pgd_mapping函數
1.6 物理內存的軟件劃分
1.6.1 劃分的數據結構
1.6.2 劃分的初始化
1.7 頁幀分配器的實現
1.8 頁幀分配器的快速分配之水位控制
1.8.1 水位的初始化
1.8.2 水位的判斷
1.9 頁幀分配器的快速分配之夥伴系統
1.9.1 相關的數據結構
1.9.2 夥伴算法申請頁面
1.9.3 夥伴算法釋放頁面
1.10 頁幀分配器的慢速分配之內存回收
1.10.1 數據結構
1.10.2 代碼流程
1.11 頁幀分配器的慢速分配之內存碎片規整
1.11.1 什麽是內存碎片化
1.11.2 規整碎片化頁面的算法
1.11.3 數據結構
1.11.4 規整的三種方式
第2章 進程管理
2.1 內核對進程的描述
2.1.1 通過task_struct描述進程
2.1.2 如何獲取當前進程
2.2 用戶態進程/線程的創建
2.2.1 fork函數
2.2.2 vfork函數
2.2.3 pthread_create函數
2.2.4 三者之間的關系
2.3 do_fork函數的實現
2.3.1 copy_process函數
2.3.2 wake_up_new_task函數
2.4 進程的調度
2.4.1 進程的分類
2.4.2 調度相關的數據結構
2.4.3 調度時刻
2.4.4 調度算法
2.4.5 CFS調度器
2.4.6 選擇下一個進程
2.4.7 進程上下文切換
2.5 多核系統的負載均衡
2.5.1 多核架構
2.5.2 CPU拓撲
2.5.3 調度域和調度組
2.5.4 何時做負載均衡
2.5.5 負載均衡的基本過程
第3章 同步管理
3.1 原子操作
3.2 自旋鎖
3.3 信號量
3.4 互斥鎖
3.5 RCU
第4章 文件系統
4.1 磁盤
4.1.1 磁盤類型
4.1.2 磁盤讀寫數據所花費的時間
4.2 磁盤的分區
4.3 磁盤上數據的分佈
4.4 查看文件系統的文件
4.4.1 文件系統對象結構
4.4.2 查看分區信息
4.4.3 查看超級塊
4.4.4 查看塊組描述符
4.5 ext4文件系統
4.5.1 磁盤佈局
4.5.2 ext3佈局
4.5.3 ext4中的inode
4.5.4 ext4文件尋址
4.6 查找文件test的過程
4.7 虛擬文件系統
4.7.1 文件系統類型(file_system_type)
4.7.2 超級塊(super_block)
4.7.3 目錄項(dentry)
4.7.4 索引節點(inode)
4.7.5 文件對象(file)
第5章 系統調用
5.1 系統調用的定義
5.2 系統調用的處理流程
5.2.1 用戶態的處理
5.2.2 內核態的處理
第6章 SoC啟動
6.1 Uboot啟動前的工作
6.1.1 鏈接腳本和程序入口
6.1.2 鏡像容器
6.1.3 SPL的啟動
6.1.4 ATF的啟動
6.2 Uboot的初始化過程
6.2.1 Uboot的啟動
6.2.2 Uboot驅動的初始化
6.2.3 Uboot的交互原理
6.3 kernel的初始化過程
6.3.1 內核運行的第一行代碼
6.3.2 head.S的執行過程
6.3.3 內核子系統啟動的全過程
第7章 設備模型
7.1 設備模型的基石
7.1.1 設備模型是什麽
7.1.2 設備模型的實現
7.2 設備模型的探究
7.2.1 總線、設備和驅動模型
7.2.2 設備樹的出現
7.2.3 各級設備的展開
第8章 設備樹原理
8.1 設備樹的基本用法
8.1.1 設備樹的結構
8.1.2 設備樹的語法
8.2 設備樹的解析過程
8.3 設備樹常用of操作函數
8.3.1 查找節點的of函數
8.3.2 查找父/子節點的of函數
8.3.3 提取屬性值的of函數
8.3.4 其他常用的of函數
第9章 電源模塊
9.1 電源子系統的power domain
9.1.1 power domain的硬件實現
目 錄XVII
9.1.2 power domain的軟件實現
9.2 電源子系統的runtime pm
9.2.1 runtime pm在內核中的作用
9.2.2 runtime pm的軟件流程
9.2.3 suspend/resume的過程
第10章 時鐘模塊
10.1 時鐘控制器的硬件實現
10.1.1 Clock Source
10.1.2 Clock Root
10.1.3 Clock Gate
10.2 時鐘控制器的驅動實現
10.3 時鐘子系統的實現
10.3.1 時鐘子系統之Clock Provider
10.3.2 時鐘子系統之Clock Consumer
第11章 引腳模塊
11.1 IOMUX控制器的工作原理
11.1.1 IOMUX控制器的硬件實現
11.1.2 引腳的使用
11.2 pinctrl驅動和client device使用過程
11.2.1 pinctrl_desc結構體
11.2.2 IOMUX控制器驅動初始化
11.2.3 client device使用過程
第12章 時間模塊
12.1 定時器和計時器的初始化
12.1.1 local timer的初始化
12.1.2 system counter的初始化
12.2 定時器的應用
12.2.1 高分辨率定時器
12.2.2 低分辨率定時器
12.2.3 sched_timer
第13章 中斷模塊
13.1 中斷控制器(GIC)硬件原理
13.1.1 GIC v3中斷類別
13.1.2 GIC v3組成
13.1.3 中斷路由
13.1.4 中斷處理狀態機
13.1.5 中斷處理流程
13.2 中斷控制器的驅動實現
13.3 中斷的映射
13.3.1 數據結構
13.3.2 中斷控制器註冊irq_domain
13.3.3 外設硬中斷和虛擬中斷號的映射關系
13.4 中斷的註冊
13.5 中斷的處理
13.5.1 保護現場
13.5.2 中斷處理
13.5.3 恢復現場

最後瀏覽商品 (1)