-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

精通Linux內核:智能設備開發核心技術

( 簡體 字)
作者:姜亞華類別:1. -> 作業系統 -> Linux
譯者:
出版社:機械工業出版社精通Linux內核:智能設備開發核心技術 3dWoo書號: 52098
詢問書籍請說出此書號!

缺書
NT售價: 645

出版日:11/27/2019
頁數:463
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111639602
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

精通Linux內核:智能設備開發核心技術共五篇,以從易到難的順序詳細剖析了Linux內核開發的核心技術。“知識儲備篇”介紹了Linux的數據結構、中斷處理、內核同步和時間計算等內容,這些是理解后續章節的前提。之后通過“內存管理篇”“文件系統篇”“進程管理篇”詳細介紹了Linux的三大核心模塊。*后的“升華篇”則融合了前面諸多模塊展示了Linux內核開發在操作系統、智能設備、驅動、通信、芯片以及人工智能等熱點領域的應用。書中的重點、難點均配以圖表、代碼和實戰案例進行展示,有助于提高讀者的動手操作能力。
精通Linux內核:智能設備開發核心技術的讀者需要熟悉C語言,對Linux內核有一定了解。推薦初學者按照本書的編排順序閱讀,而熟悉Linux內核的讀者可以跳過第壹篇,直接從三大核心模塊篇進行閱讀。本書可作為Linux初中級讀者系統學習Linux內核開發的指導手冊,也可作為從事嵌入式、操作系統、Linux編程、驅動/內核開發,以及智能設備開發等工作工程師的案頭指南和進階工具書。
目錄:

序一
序二
前言
知識儲備篇

第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映射方式
第10章 內存管理進階
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做了什么

文件系統篇

第11章 文件系統
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
文件系統
第12章 sysfs文件系統
12.1 基本框架
12.2 數據結構
12.3 創建文件
12.4 文件的IO
12.5 實例分析
12.5.1 利用sysfs協助驅動調試
12.5.2 智能家居:自動調整燈光的
亮度和色溫
第13章 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 文件系統的修復

進程管理篇

第14章 進程
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
第15章 進程調度
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
第16章 信號處理
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事件
第17章 進程通信
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架構
第18章 程序的執行
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函數的秘密

升 華 篇

第19章 梳理操作系統: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 函數和宏所屬文件表
序: