開源鴻蒙(OpenHarmony)操作系統編程實踐

高聯雄

  • 出版商: 清華大學
  • 出版日期: 2026-08-01
  • 定價: $299
  • 售價: $298
  • 語言: 簡體中文
  • ISBN: 7302723303
  • ISBN-13: 9787302723301
  • 相關分類: RISC-V
  • 下單後立即進貨 (約4週~6週)

  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-1
  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-2
  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-3
  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-4
  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-5
  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-6
  • 開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-7
開源鴻蒙(OpenHarmony)操作系統編程實踐-preview-1

商品描述

開源鴻蒙(OpenHarmony)是面向全場景分布式的智能終端開源操作系統,然而,其底層開發門檻高、硬件環境復雜、源碼龐大,導致學習者易遇到“未入門即放棄”的困境。 本書結合操作系統理論與OpenHarmony內核編程實踐,旨在顯著降低學習門檻:采用虛擬RISC V平臺規避實體硬件復雜性;對OpenHarmony源碼進行**簡化,僅聚焦核心代碼。內容系統分為四篇:基本原理;系統啟動、任務管理與進程間通信;內存、中斷與文件系統管理;輕量系統構建。 本書是OpenHarmony及Harmony OS開發者的實踐指南,尤其適合南向開發者(底層硬件適配、驅動開發、內核優化等)與涉及底層交互的北向開發者,也適合作為高等院校操作系統實驗或開源鴻蒙嵌入式開發課程的教學用書。

作者簡介

高聯雄,昆明學院信息工程學院, 副教授,博士,碩士生導師。主要從事智能系統等方面研究工作和《計算機網絡》、《操作系統》等課程的教學工作。 2022年獲教育部-華為鴻蒙生態建設春雨獎,2023年完成的“教育部產學合作協同育人項目”入選優秀項目案例,2023年獲教育部產學合作協同育人項目華為優秀成果獎,2023年所授《計算機網絡》課程入選雲南省一流課程、雲南省課程思政示範項目。 發表論文20余篇,主持和參與國家級和省部級項目10余項,著有《UNIX xv6 內核源碼深入剖析》一書。

目錄大綱

目錄

第一篇基 本 原 理

第1章OpenHarmony概述

1.1初識OpenHarmony

1.1.1OpenHarmony背景

1.1.2OpenHarmony版本

1.2OpenHarmony架構

1.2.1技術特性

1.2.2系統類型

1.2.3詳細特征

1.3內核、南向與北向開發

1.4OpenHarmony內核子系統

1.5LiteOSM內核

1.5.1LiteOSM概述

1.5.2LiteOSM架構

1.5.3LiteOSM接口

1.5.4LiteOSM功能模塊

1.6編程實踐一: 開發環境構建

1.6.1安裝WSL2

1.6.2安裝Ubuntu及其必要工具

1.6.3使用Linux常用命令

1.6.4VS Code的安裝使用

1.6.5實踐與思考

第2章OpenHarmony硬件與仿真

2.1RISCV架構

2.1.1RISCV計算機

2.1.2RISCV系統結構

2.1.3RISCV SoC系統

2.1.4RISCV仿真

2.2RISCV CPU

2.2.1RISCV指令集

2.2.2RISCV寄存器

2.3RISCV virt虛擬系統

2.4編譯、鏈接與調試

2.4.1編譯

2.4.2鏈接

2.4.3構建

2.4.4Makefile 

2.4.5調試

2.4.6ELF文件結構

2.5Qemu與OpenHarmony仿真運行

2.5.1Qemu命令的使用

2.5.2編譯、運行與調試

2.6編程實踐二: 源碼、編譯與仿真環境搭建

2.6.1下載內核源碼

2.6.2安裝工具鏈GCC

2.6.3安裝QEMU RISCV

2.6.4編譯運行內核

2.6.5內核源碼的修改

2.6.6Linux中調試內核

2.6.7VS Code中調試內核

2.6.8實踐與思考

第二篇系統啟動、任務管理與進程間通信

第3章OpenHarmony啟動

3.1內核啟動與系統初始化階段

3.2主程序階段

3.3內核初始化階段

3.4用戶程序初始化與任務調度

3.5編程實踐三: 啟動分析

3.5.1跟蹤調試los_start.S 

3.5.2跟蹤調試main()函數 

第4章OpenHarmony任務管理

4.1任務創建

4.1.1任務數據結構

4.1.2任務創建過程

4.2任務初始化與運行

4.2.1任務初始化

4.2.2任務運行

4.2.3任務啟動

4.3編程實踐四: 任務創建

4.3.1API編程

4.3.2源碼分析

第5章OpenHarmony任務調度

5.1任務上下文切換

5.1.1上下文定義

5.1.2上下文切換

5.2任務調度

5.2.1任務初始化

5.2.2啟動任務內核

5.2.3啟動任務調度

5.3編程實踐五: 任務調度

5.3.1API編程

5.3.2源碼分析

5.3.3內核實現

第6章OpenHarmony進程同步

6.1信號量與生產者消費者模型

6.1.1信號量

6.1.2互斥鎖

6.1.3生產者消費者模型

6.2編程實踐六: 信號量與互斥鎖分析與使用

6.2.1API編程

6.2.2源碼分析

6.2.3內核實現

第7章OpenHarmony進程間通信

7.1消息隊列

7.2編程實踐七: 消息隊列與管道

7.2.1API編程

7.2.2源碼分析

7.2.3內核實現

第三篇內存、中斷與文件系統管理

第8章OpenHarmony內存管理實驗

8.1靜態內存管理

8.2動態內存管理

8.2.1Buddy夥伴系統

8.2.2動態內存管理

8.2.3內存分配與釋放

8.2.4動態內存管理接口

8.2.5動態內存使用流程

8.3編程實踐八: 內存管理

8.3.1API編程

8.3.2源碼分析

8.3.3內核實現

第9章OpenHarmony芯片與中斷管理

9.1芯片抽象

9.1.1芯片常量

9.1.2公共常量

9.2中斷管理

9.2.1中斷系統

9.2.2OpenHarmony中斷接口

9.2.3OpenHarmony中斷處理流程

9.2.4RISCV中斷

9.3編程實踐九: 中斷管理

9.3.1API編程

9.3.2源碼分析

9.3.3內核實現

第10章OpenHarmony文件系統

10.1文件系統

10.1.1VFS文件系統

10.1.2FAT文件系統

10.2文件系統操作

10.2.1FAT32文件系統制作

10.2.2掛載與卸載

10.3編程實踐十: 文件系統操作

10.3.1API編程

10.3.2源碼分析

10.3.3內核實現

第四篇輕量系統構建

第11章OpenHarmony RISCV virt輕量系統安裝

11.1預備工具

11.1.1安裝Ubuntu及VS Code

11.1.2準備命令工具

11.1.3註冊碼雲gitee賬號及SSH公鑰

11.1.4安裝配置git客戶端

11.2獲取源碼及工具鏈

11.2.1通過repo獲取源碼

11.2.2下載工具鏈

11.3安裝編譯構建工具hb

11.3.1安裝hb命令

11.3.2檢查hb命令

11.3.3使用hb命令

11.4編程實踐十一: 構建RISCV virt系統

11.4.1設置hb並構建目標

11.4.2常見錯誤處理

第12章Ninja與GN構建技術

12.1Ninja技術與GN概述

12.1.1Ninja與GN工具安裝與構建

12.1.2Ninja

12.1.3GN

12.2GN文件語法規則

12.3構建過程與工具鏈

12.3.1構建配置

12.3.2構建目標

12.3.3CONFIGS與CONFIG

12.3.4工具鏈

12.4編程實踐十二: GN構建

12.4.1simple_build概述

12.4.2.gn文件

12.4.3build/BUILDCONFIG.gn文件

12.4.4build/toolchain/BUILD.gn文件

12.4.5build/BUILD.gn文件

12.4.6BUILD.gn文件

第13章OpenHarmony編譯子系統

13.1OpenHarmony編譯構建框架

13.1.1編譯構建概述

13.1.2編譯子系統架構

13.1.3目錄結構

13.2OpenHarmony配置規則

13.2.1產品配置規則

13.2.2子系統配置規則

13.2.3部件配置

13.2.4模塊配置

13.2.5芯片解決方案

13.3hb配置參數及其解析

13.3.1參數結構

13.3.2參數文件的位置

13.3.3參數文件示例

13.4編程實踐十三: 編譯構建過程

13.4.1編譯構建流程

13.4.2hb set的運行

13.4.3hb主程序及初始化

13.4.4hb構建模塊接口分析

13.4.5hb構建模塊ohos_build分析

參考文獻