掃一掃
關注中圖網
官方微博
本類五星書更多>
-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
打通LINUX操作系統和芯片開發 版權信息
- ISBN:9787121498473
- 條形碼:9787121498473 ; 978-7-121-49847-3
- 裝幀:平塑勒單襯
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
打通LINUX操作系統和芯片開發 內容簡介
本書共13章,操作系統部分涉及內存管理、進程管理、文件系統、同步管理,以及系統調用。SoC(即片上系統)部分涉及SoC啟動的過程、設備模型、設備樹原理、電源模塊、時鐘模塊、引腳模塊、時間模塊和中斷模塊,這些模塊都是芯片運行的基本要求。作者站在一線開發者的角度先剖析了Kernel 6.6的實現原理,然后結合恩智浦i.MX9芯片的SoC 硬件原理,由淺入深地講解了操作系統和SoC 的深層原理。 本書適合互聯網開發從業人員、芯片開發相關人員閱讀,也適合計算機及相關專業的在校學生作為專業參考書閱讀。
打通LINUX操作系統和芯片開發 目錄
第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.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 恢復現場
展開全部
打通LINUX操作系統和芯片開發 作者簡介
劉盼盼,十多年項目工作經驗,涉及手機、汽車、芯片行業,目前就職于芯片大廠,任谷歌開發者社區優秀講師,騰訊技術訓練營導師,某科技公司合伙人,善于挖掘技術背后的本質。個人微信rrjike可提供技術支持,自媒體“人人極客社區”深受粉絲喜愛。
書友推薦
- >
中國歷史的瞬間
- >
回憶愛瑪儂
- >
【精裝繪本】畫給孩子的中國神話
- >
史學評論
- >
月亮與六便士
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
伊索寓言-世界文學名著典藏-全譯本
- >
上帝之肋:男人的真實旅程
本類暢銷