精通Linux內核

精通Linux內核 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:薑亞華
出品人:
頁數:463
译者:
出版時間:2020-1-1
價格:129
裝幀:平裝
isbn號碼:9787111639602
叢書系列:
圖書標籤:
  • linux
  • 內核
  • Linux
  • 黑客
  • Linux內核
  • 操作係統
  • 內核編程
  • C語言
  • 係統編程
  • 驅動開發
  • 嵌入式係統
  • 技術經典
  • 源碼分析
  • 高性能
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

精通Linux內核:智能設備開發核心技術共五篇,以從易到難的順序詳細剖析瞭Linux內核開發的核心技術。“知識儲備篇”介紹瞭Linux的數據結構、中斷處理、內核同步和時間計算等內容,這些是理解後續章節的前提。之後通過“內存管理篇”“文件係統篇”“進程管理篇”詳細介紹瞭Linux的三大核心模塊。*後的“升華篇”則融閤瞭前麵諸多模塊展示瞭Linux內核開發在操作係統、智能設備、驅動、通信、芯片以及人工智能等熱點領域的應用。書中的重點、難點均配以圖錶、代碼和實戰案例進行展示,有助於提高讀者的動手操作能力。

精通Linux內核:智能設備開發核心技術的讀者需要熟悉C語言,對Linux內核有一定瞭解。 初學者按照本書的編排順序閱讀,而熟悉Linux內核的讀者可以跳過第壹篇,直接從三大核心模塊篇進行閱讀。本書可作為Linux初中級讀者係統學習Linux內核開發的指導手冊,也可作為從事嵌入式、操作係統、Linux編程、驅動/內核開發,以及智能設備開發等工作工程師的案頭指南和進階工具書。

著者簡介

薑亞華 曾負責華為手機的Touch、Sensor的驅動和軟件優化(包括Mate、榮耀等係列),以及Intel安卓平颱Camera和Sensor的驅動開發(包括Baytrail、Cherrytrail、Cherrytrail CR、Sofia等);現負責DMA、Interrupt、Semaphore等模塊的優化和驗證(包括Vega、Navi係列和多款APU産品。)。

一直從事與Linux內核和Linux編程相關的工作,研究內核代碼十多年,對多數模塊的細節如數傢珍。熟悉Linux程序,對Linux常見機製的使用理解透徹。曾在華為終端軟件精英賽中獲奬,三次獲得AMD Spotlight奬勵。

圖書目錄

序一
序二
前言
知識儲備篇
第1章 基於Linux內核的操作係統
1.1 處理器、平颱和操作係統
1.2 以安卓為例剖析操作係統
1.2.1 安卓的整體架構
1.2.2 Linux內核的核心作用
1.3 內核整體架構
1.3.1 內核代碼的目錄結構
1.3.2 內核的核心模塊及關聯
1.4 實例分析
1.4.1 係統響應“點擊智能手機
觸摸屏”的過程
1.4.2 智能手機的傳感器遊戲
第2章 數據結構的使用
2.1 關係型數據結構
2.1.1 一對一關係
2.1.2 一對多關係
2.1.3 多對多關係
2.2 位操作數據結構
2.3 模塊和內核參數傳遞
2.3.1 內嵌通用數據結構
2.3.2 通用結構的私有變量
2.4 實例分析
2.4.1 模塊的封裝
2.4.2 火眼金睛:看破數據結構
第3章 時間的衡量和計算
3.1 數據結構
3.2 時鍾芯片
3.3 從內核的角度看時間
3.4 周期性和單觸發的時鍾中斷
3.5 時間相關的係統調用
3.5.1 獲取時間
3.5.2 給程序定個鬧鍾
3.6 實例分析
3.6.1 實現智能手機的長按操作
3.6.2 係統的時間並不如你所想
第4章 中斷和中斷處理
4.1 處理器識彆中斷
4.2 處理中斷
4.2.1 中斷處理程序
4.2.2 中斷服務例程
4.2.3 中斷處理
4.3 中斷返迴
4.4 係統調用
4.5 軟中斷
4.5.1 原理
4.5.2 小任務tasklet
4.5.3 定時器
4.6 實例分析
4.6.1 使用中斷嚮無人駕駛係統報告
緊急事件
4.6.2 使用watchdog預防無人機墜落
第5章 內核同步
5.1 臨界區的競爭
5.2 同步原語
5.2.1 每CPU變量
5.2.2 volatile關鍵字
5.2.3 屏障
5.2.4 atomic變量
5.2.5 禁中斷
5.2.6 禁搶占
5.2.7 自鏇鎖
5.2.8 讀寫鎖
5.2.9 順序鎖
5.2.10 信號量
5.2.11 互斥鎖
5.2.12 讀-拷貝- 新
5.3 實例分析
5.3.1 無人駕駛模式與人工駕駛模式的
切換
5.3.2 智能手機觸摸屏的report和
suspend
第6章 事件的同步與異步
6.1 事件的異步
6.2 事件的同步
6.2.1 等待一段時間
6.2.2 等待事件完成
6.3 實例分析
6.3.1 使用工作隊列輪詢無人車環境
感知數據
6.3.2 使用等待隊列等待芯片
“迴復”
內存管理篇
第7章 內存尋址
7.1 處理器眼中的內存
7.2 內存分頁
7.2.1 尋址:處理器的尋寶遊戲
7.2.2 內存映射
7.3 實例分析
7.3.1 訪問GPU的幀緩衝
7.3.2 MMIO的映射
第8章 物理內存的管理
8.1 物理內存的組織形式
8.2 啓動程序
8.3 memblock分配器
8.4 夥伴係統
8.4.1 數據結構
8.4.2 頁的申請和釋放
8.5 實例分析
8.5.1 構造一個內存管理係統
8.5.2 安卓的ION
第9章 內存綫性空間布局
9.1 綫性空間劃分
9.2 內核綫性空間布局
9.2.1 直接映射區
9.2.2 動態映射區
9.2.3 映射區
9.2.4 固定映射區
9.3 mmap機製
9.3.1 函數原型
9.3.2 數據結構
9.3.3 mmap的實現
9.3.4 內存映射的總結
9.4 內存申請
9.4.1 得到物理內存
9.4.2 得到虛擬內存
9.5 實例分析
9.5.1 通過dev映射內存
9.5.2 幾種不同的mmap映射方式
0章 內存管理進階
10.1 處理器的緩存
10.1.1 TLB緩存
10.1.2 內存緩存
10.2 缺頁異常
10.2.1 處理缺頁異常
10.2.2 COW的精髓
10.3 實例分析
10.3.1 利用Cache的特性優化深度
學習開發
10.3.2 內核為molloc做瞭什麼
文件係統篇
1章 文件係統
11.1 概念和數據結構
11.2 文件係統的掛載
11.3 查找文件
11.4 文件操作
11.4.1 創建和刪除目錄
11.4.2 打開和關閉文件
11.4.3 文件的鏈接
11.4.4 創建節點
11.4.5 刪除文件
11.5 文件的IO
11.5.1 fcntl函數
11.5.2 文件的讀寫
11.5.3 ioctl函數
11.6 實例分析
11.6.1 包羅萬象的proc文件係統
11.6.2 陌生又熟悉的devtmpfs
文件係統
2章 sysfs文件係統
12.1 基本框架
12.2 數據結構
12.3 創建文件
12.4 文件的IO
12.5 實例分析
12.5.1 利用sysfs協助驅動調試
12.5.2 智能傢居:自動調整燈光的
亮度和色溫
3章 ext4文件係統
13.1 概述
13.2 數據結構
13.2.1 ext4_super_block結構體
13.2.2 ext4_group_desc結構體
13.2.3 ext4_inode結構體
13.2.4 ext4_sb_info結構體
13.2.5 ext4_inode_info結構體
13.3 ext4的掛載
13.4 目錄的結構
13.4.1 綫性目錄
13.4.2 哈希樹目錄
13.4.3 硬鏈接
13.5 文件的IO
13.5.1 映射
13.5.2 區段樹
13.6 實例分析
13.6.1 恢復刪除的文件並不神秘
13.6.2 文件係統的修復
進程管理篇
4章 進程
14.1 概述
14.1.1 數據結構
14.1.2 擴展討論
14.2 進程的創建
14.2.1 dup_task_struct函數
14.2.2 復製creds
14.2.3 設置時間
14.2.4 sched_fork函數
14.2.5 復製資源
14.2.6 申請pid
14.2.7 重要的雜項
14.3 創建進程
14.3.1 fork/vfork係統調用
14.3.2 創建綫程
14.3.3 創建內核綫程
14.4 進程“三巨頭”
14.5 進程退齣
14.5.1 退齣方式
14.5.2 退齣過程
14.5.3 使用wait等待子進程
14.6 實例分析
14.6.1 創建service接收無人機手柄
控製信號
14.6.2 安卓的thread
5章 進程調度
15.1 數據結構
15.2 進程調度的過程
15.2.1 進程被創建
15.2.2 喚醒進程
15.2.3 時鍾中斷
15.2.4 進程切換
15.3 stop調度類
15.4 實時調度類
15.4.1 優先級和搶占
15.4.2 task_tick_rt函數
15.4.3 選擇下一個進程
15.5 公平調度類
15.5.1 task_fork_fair函數
15.5.2 enqueue_task和
check_preempt
15.5.3 task_tick_fair函數
15.5.4 進程切換
15.6 後期限調度類
15.7 idle調度類
15.8 進程優先級
15.9 實例分析
15.9.1 創建實時進程服務於AI的
感知係統
15.9.2 似睡非睡的idle
6章 信號處理
16.1 數據結構
16.2 捕捉信號
16.3 發送信號
16.4 處理信號
16.4.1 何時、如何
16.4.2 調用handler
16.4.3 處理信號後如何返迴
16.5 實例分析
16.5.1 使用kill命令發送信號
16.5.2 使用信號監控IO事件
7章 進程通信
17.1 經典的管道
17.1.1 創建pipe
17.1.2 pipe的操作
17.1.3 命名管道
17.2 POSIX通信
17.2.1 POSIX信號量
17.2.2 POSIX共享內存
17.2.3 POSIX消息隊列
17.3 XSI通信
17.3.1 IPC對象的key和id
17.3.2 XSI信號量
17.3.3 XSI消息隊列
17.3.4 XSI共享內存
17.4 實例分析
17.4.1 多綫程設計加速深度學習
17.4.2 構建無人機的Service與
Client架構
8章 程序的執行
18.1 elf文件
18.1.1 概述
18.1.2 文件格式
18.2 exec函數族
18.2.1 數據結構
18.2.2 係統調用
18.3 實例分析
18.3.1 使程序高效且對係統友好
18.3.2 main函數的秘密
升 華 篇
9章 梳理操作係統:I/O
多路復用
19.1 select機製
19.2 poll機製
19.3 升級版:epoll
19.3.1 數據結構
19.3.2 epoll的使用
19.4 實例分析
19.4.1 事件驅動型程序架構
19.4.2 改良管道通信
第20章 智能設備的傳感器開發
20.1 傳感器在智能手機和人工智能
中的應用
20.2 input子係統
20.2.1 數據結構
20.2.2 device和handler的注冊
20.2.3 事件的報告
20.2.4 的evdev
20.3 實例分析
20.3.1 智能手機硬件抽象層的實現
20.3.2 無人駕駛的傳感器
第21章 智能設備的Camera
開發
21.1 Camera在人工智能中的
應用
21.2 V4L2架構
21.2.1 數據結構
21.2.2 ioctl操作
21.3 Camera的核心ioctl操作
21.4 實例分析
21.4.1 安卓的Camera架構
21.4.2 Camera的3A控製
第22章 設備驅動開發:設備驅動
模型
22.1 驅動、設備和總綫
22.2 probe是如何被調用的
22.3 再論總綫
22.4 實例分析
22.4.1 設計一個層次分明的驅動
22.4.2 提煉同質設備的驅動
第23章 安卓係統的核心:Binder
通信
23.1 Binder通信的原理和結構
23.2 Binder的流程
23.2.1 ServiceManager進程管理服務
23.2.2 注冊和獲取服務
23.2.3 服務的過程
23.3 Binder的驅動
23.4 實例分析
23.4.1 使用Binder讓設計變清晰
23.4.2 通過Binder獲得傳感器列錶
第24章 從內核的角度看芯片和
驅動
24.1 芯片的基本功能模塊
24.1.1 復位
24.1.2 中斷
24.1.3 接口
24.2 一個完整的芯片驅動
24.2.1 初始化
24.2.2 芯片的正常工作狀態
24.2.3 suspend和resume
24.3 實例分析
24.3.1 加速度傳感器芯片
24.3.2 智能手機的觸摸屏芯片
第25章 Linux與人工智能
25.1 人工智能的現狀
25.1.1 深度學習
25.1.2 神經網絡
25.2 深度學習的軟硬件生態
25.2.1 整體架構
25.2.2 硬件紛爭
25.3 實例分析
25.3.1 無人駕駛汽車的模塊分解
25.3.2 機器人操作係統ROS
附錄
附錄A 內嵌匯編語言
附錄B 鏈接腳本
附錄C 函數和宏所屬文件錶
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

深度不夠,也不夠基礎。花瞭兩三天翻完瞭,感覺比較尷尬。

评分

這本書集中討論內存管理、文件係統和進程管理三個部分。看序裏麵作者寫作花瞭五年多,隨書資料裏麵的代碼截圖可以證明這點,截圖裏麵5.x和3.x的代碼都有。三個核心模塊寫的很詳細,而且易懂,作者很多地方寫的比較通俗,到處打比喻,所以看起來不怎麼費力,有些書看著晦澀但還真不一定就是深入的。能把復雜的東西幾句話說明白,還是需要很大的精力和功夫的,我覺得這樣反而更加深入、難得。要說不足,我覺得硬件相關的知識可以介紹多點,不影響理解的地方迴避瞭硬件細節,可能作者有意把重點放在軟件架構和實現上麵吧。語言有地方不太通順,不過這也說明書是碼齣來的,不是復製粘貼的。

评分

深度不夠,也不夠基礎。花瞭兩三天翻完瞭,感覺比較尷尬。

评分

這本書集中討論內存管理、文件係統和進程管理三個部分。看序裏麵作者寫作花瞭五年多,隨書資料裏麵的代碼截圖可以證明這點,截圖裏麵5.x和3.x的代碼都有。三個核心模塊寫的很詳細,而且易懂,作者很多地方寫的比較通俗,到處打比喻,所以看起來不怎麼費力,有些書看著晦澀但還真不一定就是深入的。能把復雜的東西幾句話說明白,還是需要很大的精力和功夫的,我覺得這樣反而更加深入、難得。要說不足,我覺得硬件相關的知識可以介紹多點,不影響理解的地方迴避瞭硬件細節,可能作者有意把重點放在軟件架構和實現上麵吧。語言有地方不太通順,不過這也說明書是碼齣來的,不是復製粘貼的。

评分

深度不夠,也不夠基礎。花瞭兩三天翻完瞭,感覺比較尷尬。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有