深入淺出 OpenHarmony — 架構、內核、驅動及應用開發全棧
李傳釗 著
- 出版商: 中國水利水電
- 出版日期: 2021-08-01
- 定價: $528
- 售價: 7.9 折 $417
- 語言: 簡體中文
- 頁數: 294
- 裝訂: 平裝
- ISBN: 7517097474
- ISBN-13: 9787517097471
-
相關分類:
Operating-system、嵌入式系統
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
C++ Builder 與影像處理, 2/e$320$304 -
深入理解 Android 內核設計思想, 2/e (上下冊)$948$901 -
$254物聯網操作系統 LiteOS 內核開發與實踐 -
統計學習要素:機器學習中的數據挖掘、推斷與預測, 2/e (The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2/e)$954$906 -
Jetpack Compose:Android 全新 UI 編程$599$569 -
$426第一行代碼 Linux 命令行 -
$611HarmonyOS應用開發實戰(JavaScript版) -
$426鴻蒙應用開發從零基礎到實戰——始於安卓,成於鴻蒙(視頻·案例·應用版) -
PyTorch 深度學習入門與應用:必備實作知識與工具一本就學會$600$468 -
會動的演算法:61 個演算法動畫+全圖解逐步拆解,人工智慧、資料分析必備$620$490 -
PyTorch 深度學習實作:利用 PyTorch 實際演練神經網路模型$600$396 -
演算法:圖解邏輯思維 + Python 程式實作 王者歸來, 3/e$720$569 -
LINE 聊天機器人 + AI + 雲端 + 開源 + 程式:輕鬆入門到完整學習$600$474 -
Python 大數據特訓班:資料自動化收集、整理、清洗、儲存、分析與應用實戰, 3/e (附320分鐘影音/範例程式)$520$411 -
$454基於 TensorFlow 的圖像生成 -
大話 AWS 雲端架構:雲端應用架構圖解輕鬆學, 3/e$650$507 -
$485Python 從菜鳥到高手, 2/e -
$658沈浸式剖析 OpenHarmony 源代碼:基於 LTS 3.0 版本 -
精準駕馭 Word!論文寫作絕非難事 (暢銷回饋版)$480$374 -
Python 統計分析:生命科學應用 (An Introduction to Statistics with Python: With Applications in the Life Sciences)$500$390 -
不靠框架硬功夫 - Scikit-learn 手刻機器學習每行程式碼$780$399 -
30分鐘就讀懂:機器學習從數學開始, 2/e$590$466 -
凡人也能懂的白話人工智慧演算法 (Grokking Artificial Intelligence Algorithms)$580$435 -
一本精通 - LINE BOT + Python + Google Dialogflow 完整掌握 LINE BOT 的開發技巧 打造全方位 AI機器人$650$514 -
Jetpack Compose 實戰$774$735
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書是由華為資深高級軟件工程師、首位HarmonyOS HDE(Huawei Developer Expert)
李傳釗老師親自編寫的OpenHarmony操作系統技術圖書。
本書從OpenHarmony操作系統的設計目標與設計思路開始,由表及裏、
深入淺出地講解了OpenHarmony操作系統的架構、內核、驅動及應用開發基礎與實戰的全棧技術內容。
在實戰部分,從開發環境的安裝配置開始,分別講解了南向開發、北向開發的基本過程及實戰案例。
本書的英文版已在翻譯之中,華為已將其作為面向全球推薦的OpenHarmony操作系統的官方技術教程之一。
本書可作為OpenHarmony操作系統開發人員、
技術愛好者的自學或參考資料,也可作為高校相關專業的教材。
作者簡介
李傳釗
首位HarmonyOS HDE(Huawei Developer Expert),
首批被華為認證的HarmonyOS課程開發者。
鴻蒙社區組織深鴻會發起人。
骨灰級程序員,架構師,高級軟件工程師。
10年華為工作經驗,歷任華為業務軟件產品高級工程師、
系統工程師、項目經理、墨西哥軟件業務部部長等。
目錄大綱
致敬華為
第1篇 OpenHarmony操作系統基礎
第1章 OpenHarmony的設計目標 2
1.1 為5G而準備 2
1.2 覆蓋廣泛的硬件產品 2
1.3 必須要解決的問題 3
1.4 競爭對手 4
第2章 整體設計思路及技術特點 5
2.1 可裁剪 5
2.2 虛擬超級終端 6
2.3 易開發 7
第3章 OpenHarmony的功能框架 9
3.1 芯片適配 10
3.2 內核層 10
3.3 驅動程序框架 10
3.4 OpenHarmony系統服務 10
3.5 框架層 10
3.6 編譯構建與IDE系統 11
第4章 上手OpenHarmony 12
4.1 OpenHarmony系統的基本構成 12
4.2 OpenHarmony Shell 15
4.3 啟動圖形界面 28
4.4 開源代碼項目 29
4.5 編譯構建體系 31
4.5.1 所用到的工具 31
4.5.2 系列Python腳本的作用 32
4.5.3 編譯器 34
第5章 內核介紹 36
5.1 多內核架構 36
5.2 LiteOS-m 37
5.3 LiteOS-a 38
5.4 LiteOS-m和LiteOS-a的對比 38
第6章 OpenHarmony內核詳細解讀 40
6.1 硬件與處理器架構 40
6.1.1 處理器架構 40
6.1.2 異常 41
6.1.3 中斷 42
6.1.4 多核處理 43
6.2 基礎數據結構 44
6.2.1 雙向鍊錶 44
6.2.2 排序雙向鍊錶 46
6.3 啟動流程 46
6.4 時間管理 47
6.4.1 系統Tick 47
6.4.2 軟件定時器 48
6.5 任務調度 49
6.5.1 LiteOS-m與LiteOS-a的調度對比 49
6.5.2 TCB/PCB結構定義 50
6.5.3 進程及Task創建 54
6.5.4 Task狀態機 64
6.5.5 調度策略 65
6.5.6 調度的時機 68
6.5.7 Task切換的實現 69
6.6 進程間通信 74
6.6.1 事件(event) 74
6.6.2 互斥量(mutex) 76
6.6.3 隊列(queue) 79
6.6.4 信號燈(semaphore) 79
6.6.5 快速鎖(futex) 81
6.6.6 自旋鎖(spinlock) 81
6.6.7 信號(signal) 83
6.6.8 LiteIPC 85
6.7 內存管理 89
6.7.1 LiteOS-m的內存管理 90
6.7.2 LiteOS-a的內存管理 91
6.7.3 虛擬內存 92
6.7.4 地址規劃 97
6.8 內核態與用戶態 98
6.8.1 內核態與用戶態的區別 98
6.8.2 用戶態切換到內核態 99
6.8.3 內核態訪問用戶態數據 102
6.9 標準庫 103
6.9.1 CMSIS標準庫 103
6.9.2 Libc標準庫 106
6.10 文件系統 110
6.10.1 VFS 110
6.10.2 NFS 118
6.10.3 RAMFS 118
6.11 網絡連接 119
6.12 OTA 120
6.12.1 OpenHarmony升級包製作工具 121
6.12.2 OTA函數 121
第7章 HDF驅動程序框架 123
7.1 基本概念 124
7.2 HDF編程特點 125
7.2.1 HdfObject 135
7.2.2 IDeviceIoService 136
7.2.3 HdfDriverEntry 136
7.3 驅動代碼編譯鏈接 136
7.4 驅動程序配置文件HCS 137
7.4.1 樹型結構 138
7.4.2 保留字與操作符 139
7.4.3 數值類型 139
7.4.4 重載操作 140
7.4.5 文件引用 142
7.4.6 HC-GEN編譯器 142
7.5 加載驅動程序 143
7.6 註冊驅動服務 145
7.7 內核抽象層OSAL 146
7.8 註冊VFS 147
7.9 用戶態使用驅動程序HDI 147
第8章 服務框架 151
8.1 基礎數據結構 152
8.1.1 向量(Vector) 152
8.1.2 服務(Service) 153
8.1.3 特性(Feature) 154
8.1.4 IUnknown接口 154
8.1.5 標識(Identity) 156
8.2 服務框架啟動過程 156
8.3 服務/特性註冊與發現 158
8.3.1 服務/特性註冊 159
8.3.2 服務/特性發現 164
8.4 異步調用 164
8.5 跨進程服務/特性調用 165
8.5.1 跨進程調用的使用 165
8.5.2 跨進程調用的實現 167
第9章 用戶程序框架 170
9.1 Ability 170
9.2 Ability與Task 171
9.3 Ability與UI 174
9.4 Ability加載器 175
9.5 AppSpawn 176
9.6 Ability管理服務 177
9.6.1 啟動Ability 180
9.6.2 終止Ability 181
9.6.3 連接Ability 182
9.7 Ability管理命令行工具 183
9.7.1 嵌入式設備的aa命令 183
9.7.2 大內核設備的aa命令 183
第10章 輕量化UI圖形棧 185
10.1 輕量化UI圖形子系統的架構 185
10.2 模塊介紹 186
10.3 圖形組件 187
10.4 配置文件 188
10.5 圖形子系統初始化流程 188
10.6 輸入事件處理 190
10.7 屏幕設備處理 192
10.8 窗口管理器 194
第11章 包管理 195
11.1 包管理系統架構 195
11.2 包管理命令行工具 196
11.2.1 嵌入式設備的bm命令 196
11.2.2 大內核設備的bm命令 197
第12章 ACE編程框架 198
12.1 ACE的整體架構 198
12.2 如何使用ACE 200
第13章 OpenHarmony分佈式 201
13.1 分佈式操作系統基礎概念 201
13.2 OpenHarmony分佈式總體設計思想 203
13.3 分佈式軟總線 203
13.4 分佈式文件系統 204
13.5 分佈式數據庫 206
13.6 分佈式調度 209
第14章 OpenHarmony與其他操作系統的對212
14.1 與iOS和安卓的對比 212
14.2 與其他嵌入式操作系統的對比 213
第2篇 OpenHarmony編程實踐
第15章 可裁剪的OpenHarmony 216
15.1 OpenHarmony的可裁剪設計 216
15.2 內核與驅動 217
15.3 系統基礎服務裁剪 220
15.4 應用程序框架裁剪 220
15.5 hpm軟件包管理工具 220
15.5.1 安裝hpm 221
15.5.2 使用hpm 221
15.5.3 包配置文件 222
第16章 北向應用開發 226
16.1 北向IDE 226
16.1.1 安裝DevEco Studio 226
16.1.2 主界面介紹 229
16.1.3 工程管理 230
16.1.4 代碼編輯 237
16.1.5 編譯 239
16.1.6 調試 245
16.1.7 發布 248
16.2 JS框架的編程 248
16.2.1 JS框架的.hml文件編程 248
16.2.2 JS框架的.css文件編程 250
16.2.3 JS框架的.js文件編程 250
16.3 基於Java的編程 251
16.4 混合編程 251
16.4.1 ServiceAbility需要完成的工作 253
16.4.2 JS PageAbility調用的過程 255
16.5 北向編程實例 256
第17章 L0-L1南向驅動程序及設備開發 257
17.1 南向IDE介紹 257
17.1.1 安裝DevEco Device Tool 257
17.1.2 主界面介紹 258
17.1.3 工程管理 259
17.1.4 獲取代碼 259
17.1.5 編譯構建 260
17.1.6 燒錄 261
17.1.7 Virtual Box環境配置 262
17.1.8 HDF驅動代碼生成 264
17.2 南向開發環境搭建 265
17.3 南向編程實例——驅動程序開發 270
17.3.1 實現驅動程序 270
17.3.2 註冊驅動 273
17.3.3 修改HCS配置 273
17.3.4 加入編譯體系 274
第18章 分佈式應用開發 275
18.1 分佈式應用開發的基本概念 275
18.1.1 面向虛擬超級終端編程 275
18.1.2 分佈式體驗設計的基本原則 276
18.2 手機上的分佈式應用開發 276
18.2.1 應用背景介紹 277
18.2.2 整體設計 277
18.2.3 詳細代碼 277
第19章 OpenHarmony生態 288
19.1 OpenHarmony產業鏈概覽 288
19.2 開源基金組織 291
19.3 OpenHarmony與HMS的關係 292
19.3.1 華為生態與OpenHarmony生態 292
19.3.2 操作系統與SDK 293
19.4 OpenHarmony設備測試與認證 293
