智能終端操作系統與OpenHarmony實踐
陳海波,夏虞斌,杜鼕鼕 等
- 出版商: 電子工業
- 出版日期: 2024-08-01
- 定價: $414
- 售價: 8.5 折 $352
- 語言: 簡體中文
- 頁數: 380
- ISBN: 7121489724
- ISBN-13: 9787121489723
-
相關分類:
Operating-system
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本教材圍繞智能終端操作系統的核心原理,從業界的實際需求出發,以第一性原理的視角介紹智能終端操作系統的設計約束,並以OpenHarmony作為案例介紹相關原理的實現。本教材以三個“面向”為導向,即面向基礎理論與方法、面向國際前沿研究、面向最新開源社區實踐,力圖深入淺出地介紹智能終端操作系統理論、架構和設計方法,並結合OpenHarmony的具體設計與實現進行闡述。全書共22章,從操作系統內核、系統服務、應用框架和增強服務五篇系統展開介紹。本教材試圖通過介紹智能終端操作系統的原理、架構、設計與實現,以期為開發、設計、優化與維護智能終端操作系統的高校師生、操作系統管理人員、開發者和維護者等,提供基礎的概念和典型的智能終端操作系統組件的實現,幫助相關開發人員快速上手;也希望對OpenHarmony開源社區的開發者、OpenHarmony的應用開發者、基於OpenHarmony從事各種行業解決方案的設計開發者提供技術參考。
目錄大綱
目 錄
第一部分 概 述
第1章 智能終端操作系統概述 3
1.1 操作系統架構和關鍵價值 4
1.1.1 產業演進中的操作系統 4
1.1.2 操作系統的成功要素隨著產業不斷演進 5
1.2 智能終端操作系統簡史 6
1.2.1 功能機時代:嵌入式操作系統的延續 7
1.2.2 智能機時代:iOS與Android的雙雄爭霸 7
1.2.3 萬物智聯時代的到來:多樣化和智能融合 10
1.3 智能終端操作系統演進趨勢 11
1.3.1 從觸摸交互走向時空自然交互,新交互帶來體驗躍遷 12
1.3.2 從單節點確定性時延走向端到端確定性時延 13
1.3.3 從信任設備走向信任應用,數字信任體系重構 14
1.3.4 從分層解耦走向垂直整合,底座技術重構 14
1.3.5 從SmartPhone到AI Phone:大模型驅動操作系統走向智能化 15
參考文獻 17
第2章 OpenHarmony概述 19
2.1 OpenHarmony項目概覽 20
2.2 OpenHarmony架構概覽 22
2.2.1 OpenHarmony設計理念 22
2.2.2 OpenHarmony技術架構 24
2.3 OpenHarmony應用案例 25
2.3.1 HarmonyOS NEXT:基於OpenHarmony的終端操作系統 25
2.3.2 礦鴻:基於OpenHarmony的煤礦智能操作系統 25
2.3.3 電鴻:基於OpenHarmony的電力物聯操作系統 26
2.3.4 在鴻:基於OpenHarmony的智能公路操作系統 28
2.3.5 天鴻:基於OpenHarmony智能船載終端系統 28
2.3.6 其他行業賦能情況 29
2.4 OpenHarmony生態進展 29
參考文獻 30
第二部分 操作系統內核
第3章 智能終端操作系統內核 35
3.1 操作系統內核及其挑戰 36
3.1.1 宏內核 36
3.1.2 微內核 37
3.1.3 混合內核 39
3.1.4 其他內核形態 39
3.2 面向智能終端的鴻蒙通用微內核 40
3.3 終端雙內核架構:富功能內核和安全內核 43
3.3.1 硬件基礎:ARM TrustZone 43
3.3.2 智能終端場景下的新型需求 44
3.3.3 Kinibi OS 45
3.3.4 iTrustee 45
3.3.5 OpenTrustee 45
3.3.6 基於TrustZone的實時內核保護 46
3.3.7 TEEv 47
3.4 AI時代的終端操作系統內核 48
參考文獻 48
第4章 處理器調度 51
4.1 平衡性能、功耗、熱的調度調頻機制 52
4.2 負載均衡和公平調度 55
4.3 能耗感知調度 56
4.4 基於可擴展調度器類的調度策略定製 59
第5章 內存管理 61
5.1 操作系統的內存管理基礎 62
5.1.1 地址翻譯和頁表 62
5.1.2 換頁機制 64
5.1.3 虛擬內存壓縮機制 65
5.2 面向智能終端特徵的內存管理機制 65
5.2.1 面向智能終端特徵的OOM Killer 65
5.2.2 OpenHarmony Hyperhold機制 66
5.2.3 Purgeable Memory技術 68
第6章 存儲與文件系統 69
6.1 快閃內存存儲設備 70
6.1.1 快閃內存的特點 71
6.1.2 快閃內存文件系統與移動終端 71
6.2 文件系統基礎 72
6.2.1 基本概念 72
6.2.2 存儲佈局 73
6.2.3 文件結構 74
6.2.4 崩潰一致性 75
6.2.5 虛擬文件系統 75
6.3 案例分析:F2FS 75
6.3.1 F2FS的設計目標和原理 76
6.3.2 日誌和冷熱分離 76
6.3.3 日誌清理 77
6.3.4 F2FS的崩潰恢復 79
6.4 案例分析:EROFS 81
6.4.1 終端場景的存儲空間困境 81
6.4.2 壓縮文件系統 82
6.4.3 問題分析 82
6.4.4 固定輸出大小壓縮 83
6.4.5 內存占用友好的多種解壓方式 84
6.4.6 EROFS的存儲佈局 85
6.4.7 EROFS的操作流程 88
參考文獻 88
第7章 進程間通信 90
7.1 進程間通信基礎知識 91
7.2 BINDER:面向智能終端的高性能IPC 92
7.2.1 問題和挑戰:智能終端場景的高性能和強安全需求 92
7.2.2 Binder IPC機制概述 94
7.2.3 高性能數據傳輸 94
7.2.4 線程池模型 95
7.2.5 進程間通信過程 96
7.3 鴻蒙通用微內核的高性能IPC機制 97
7.3.1 問題和挑戰:智能終端場景對微內核IPC的高性能需求 97
7.3.2 鴻蒙微內核的IPC抽象 98
7.3.3 IPC資源分配和管理 99
7.3.4 基於輕量級隔離的低時延IPC 100
7.4 OpenHarmony進程間通信服務框架 100
7.4.1 問題和挑戰:智能終端場景對通信服務的靈活管理需求 100
7.4.2 OpenHarmony進程間通信服務概述 102
7.4.3 系統能力 102
7.4.4 通信流程 103
7.4.5 通信接口 104
參考文獻 106
第8章 設備管理和設備驅動 108
8.1 設備管理:從傳統場景到智能終端場景 109
8.1.1 傳統操作系統的設備管理 109
8.1.2 智能終端場景設備管理的挑戰 109
8.2 智能終端場景設備管理的設計和實現 110
8.2.1 統一化接口抽象 110
8.2.2 功能化設備模型 114
8.2.3 歸一化設備配置 115
8.2.4 彈性化設備支持 115
8.3 案例分析:OpenHarmony的設備功能模型 116
8.3.1 Display框架模型 117
8.3.2 Input框架模型 118
8.3.3 WLAN模型 118
8.4 案例分析:OpenHarmony的HDF框架 120
8.4.1 HDF框架的啟動流程 121
8.4.2 HDF驅動服務的管理方式 122
8.4.3 HDF設備驅動的開發流程 122
8.4.4 HDF設備驅動的使用方式 123
8.5 案例分析:Android操作系統的硬件抽象層 124
第三部分 操作系統內核
第9章 圖形服務 129
9.1 圖形整體架構 130
9.1.1 分離渲染和統一渲染 130
9.1.2 OpenHarmony統一渲染架構 131
9.2 統一渲染流程和渲染樹 133
9.2.1 App業務邏輯 133
9.2.2 渲染樹 134
9.2.3 渲染服務流程 134
9.3 動畫和視效 135
9.3.1 平移、旋轉、縮放 135
9.3.2 模糊、陰影、光照 137
9.3.3 基於物理的高級動效 140
9.4 窗口管理服務 140
9.4.1 窗口管理的基本概念 140
9.4.2 案例:應用打開過程 141
9.4.3 案例:屏幕解鎖過程 142
9.4.4 合一服務 143
9.5 幀緩沖隊列和垂直同步 143
9.5.1 幀緩沖隊列 144
9.5.2 垂直同步 145
9.5.3 黃油計劃:垂直同步和三緩沖機制 146
9.5.4 LTPO和動態刷新率 147
9.6 2D引擎 148
9.6.1 2D引擎的繪制方法 148
9.6.2 2D引擎的繪制方法的對比 151
9.6.3 案例:Skia 2D引擎繪制接口 152
9.6.4 面向數據的引擎架構模式 153
9.7 GPU DDK 154
9.7.1 GPU光柵化管線 154
9.7.2 OpenGL ES和Vulkan 155
9.7.3 移動端TBR GPU架構 157
第10章 媒體服務 158
10.1 音頻基礎知識:從聲波到數字存儲 159
10.2 音頻系統 160
10.2.1 音頻系統基本架構:以OpenHarmony為例 160
10.2.2 場景分析:PCM音頻回放 162
10.2.3 應用接口設計 164
10.3 媒體引擎 165
10.3.1 處理更加復雜的文件格式:以MP3文件為例 165
10.3.2 OpenHarmony的媒體引擎 166
10.3.3 場景分析:MP3音頻回放 167
第11章 通信服務 170
11.1 移動通信模塊 171
11.1.1 移動通信模塊的硬件組成 171
11.1.2 主要功能 172
11.1.3 操作系統抽象 172
11.2 Wi-Fi網絡通信模塊 175
11.2.1 硬件組成 176
11.2.2 主要功能 176
11.2.3 操作系統抽象 177
11.3 案例分析:Wi-Fi與5G無縫切換 178
11.3.1 操作系統的處理流程 178
11.3.2 IP地址變化和連接保持 179
11.3.3 底層實現細節 180
11.4 藍牙通信模塊 180
11.4.1 硬件組成 181
11.4.2 主要功能 181
11.4.3 藍牙通信中的關鍵協議 182
11.4.4 操作系統抽象和服務 183
11.5 近場通信模塊 185
11.5.1 硬件組成 185
11.5.2 主要功能 186
11.5.3 操作系統抽象 186
11.6 案例分析:手機NFC地鐵刷卡流程 189
第12章 傳感服務 191
12.1 智能終端傳感器 192
12.1.1 傳感器概述 192
12.1.2 傳感器的必要性 193
12.1.3 智能終端操作系統下的傳感器架構 193
12.2 傳感器框架和服務 194
12.2.1 傳感器接口和應用抽象 194
12.2.2 註冊和訂閱 195
12.2.3 事件上傳 198
12.3 傳感器的硬件管理 200
12.3.1 傳感器硬件基礎 200
12.3.2 傳感器驅動模型和框架 201
12.3.3 案例分析:OpenHarmony傳感器驅動 202
第13章 設備運行時服務 205
13.1 位置運行時服務 206
13.2 設備連接運行時服務 206
13.3 電話運行時服務 208
13.4 傳感器運行時服務 210
13.5 電源管理運行時服務 210
第14章 分佈式智能終端服務 213
14.1 分佈式智能終端的互聯通信 214
14.1.1 分佈式終端的互聯通信模式 214
14.1.2 分佈式終端互聯通信的挑戰 215
14.1.3 分佈式終端互聯通信挑戰的解決思路 217
14.1.4 案例分析:OpenHarmony分佈式軟總線 220
14.2 分佈式硬件 226
14.2.1 分佈式硬件概述 226
14.2.2 分佈式硬件的應用抽象 227
14.2.3 分佈式硬件的設備管理 228
14.2.4 分佈式硬件的互聯協同機制 230
第15章 分佈式數據管理 232
15.1 終端分佈式數據管理 233
15.1.1 管理場景 233
15.1.2 面臨的挑戰 234
15.1.3 已有解決方案 235
15.2 案例分析:OpenHarmony的分佈式數據管理服務 235
15.2.1 數據存儲 236
15.2.2 數據同步 240
15.2.3 數據共享 248
第四部分 應用框架
第16章 執行抽象 259
16.1 設計模式和執行抽象 260
16.2 案例分析:Android基於MVVM的應用架構 262
16.2.1 應用架構概覽 262
16.2.2 Activity和UI組件 263
16.2.3 ViewModel 263
16.2.4 數據層 264
16.2.5 Activity的執行模型 264
16.3 多組件協作 265
16.3.1 執行抽象:Intent 265
16.3.2 目標組件定位擴展:隱式Intent 266
16.3.3 組件調用鏈 267
16.3.4 一對多協作:廣播機制 269
16.4 其他組件 270
16.4.1 無界面組件 270
16.4.2 迷你組 270
16.5 分佈式應用的執行抽象:Stage模型 271
第17章 UI框架 274
17.1 UI繪制的全過程 275
17.1.1 界面的樹形表示 275
17.1.2 從樹型表示到圖形繪制 276
17.2 開發範式 276
17.2.1 命令式開發範式 277
17.2.2 聲明式開發範式 278
17.3 一站式開發 279
17.3.1 React Native 280
17.3.2 Flutter 280
17.3.3 小結 281
17.4 OpenHarmony的UI框架:ArkUI 281
17.4.1 語言選擇:ArkTS 281
17.4.2 ArkUI的聲明式開發範式 282
17.4.3 語言轉換與渲染過程 283
第18章 語言運行時 284
18.1 字節碼和解釋器 285
18.2 即時編譯和提前編譯 287
18.2.1 即時編譯 287
18.2.2 提前編譯 287
18.3 自動內存管理(垃圾回收) 289
18.3.1 自動內存管理的基本算法 289
18.3.2 ART運行時的並發標記清理 290
18.3.3 Android的並發拷貝 292
18.4 面向動態語言的語言運行時 293
18.4.1 動態類型和內存佈局 293
18.4.2 並發支持 295
第19章 系統應用 298
19.1 桌面系統 299
19.2 系統狀態欄 301
19.3 操作系統智能助手 302
第五部分 增強服務
第20章 系統安全 309
20.1 終端操作系統安全機制 310
20.1.1 應用沙箱和隔離機制 310
20.1.2 應用權限控制機制 311
20.1.3 SELinux 312
20.1.4 內核安全啟動機制 312
20.1.5 OTA更新機制 313
20.2 終端操作系統提供的安全服務 313
20.2.1 應用完整性校驗 314
20.2.2 關鍵資產存儲服務 315
20.2.3 證書算法庫框架 316
20.2.4 證書管理 317
20.2.5 代碼簽名 318
20.2.6 加密/解密算法庫框架 319
20.2.7 密鑰管理(以HUKS為例) 320
20.2.8 安全控件管理服務 320
20.3 基於硬件的安全增強機制 321
20.3.1 TEE和Enclave 321
20.3.2 硬件安全模塊 323
20.4 終端操作系統的安全等級 323
20.5 終端操作系統安全的其他挑戰和技術 324
20.5.1 應用代碼篡改和頁面保護層 325
20.5.2 指針篡改和指針認證 325
20.5.3 設備指紋採集和反追蹤技術 326
20.5.4 敏感權限濫用與應用日誌 326
20.5.5 支付安全 327
第21章 應用開發管理 328
21.1 應用程序包 329
21.1.1 OpenHarmony與Android的包結構對比 329
21.1.2 模塊化開發設計 331
21.1.3 案例分析:Android App Bundle 332
21.2 輕量應用形態 332
21.2.1 輕量應用形態的意義 332
21.2.2 不同輕量應用形態對比 333
21.2.3 元服務在萬物智聯時代的應用 334
21.2.4 小結 335
21.3 工具鏈 335
21.4 更新機制 338
21.4.1 OTA更新 338
21.4.2 Android應用更新 340
第22章 端雲協同 342
22.1 端雲協同的新趨勢 343
22.2 移動後端即服務 345
22.2.1 移動後端即服務面向的場景 345
22.2.2 終端操作系統提供移動後端即服務的挑戰 347
22.2.3 移動後端即服務挑戰的解決方案 348
22.2.4 案例分析:Apple CloudKit 350
22.2.5 案例分析:Google Firebase 354
22.2.6 案例分析:華為HMS Core服務 355
附錄A 縮略語列表 357