-
内容大纲
本书是由华为资深高级软件工程师、首位HarmonyOS HDE(Huawei Developer Expert)李传钊老师亲自编写的OpenHarmony操作系统技术图书。
本书从OpenHarmony操作系统的设计目标与设计思路开始,由表及里、深入浅出地讲解了OpenHarmony操作系统的架构、内核、驱动及应用开发基础与实战的全栈技术内容。在实战部分,从开发环境的安装配置开始,分别讲解了南向开发、北向开发的基本过程及实战案例。本书的英文版已在翻译之中,华为已将其作为面向全球推荐的OpenHarmony操作系统的官方技术教程之一。
本书可作为OpenHarmony操作系统开发人员、技术爱好者的自学或参考资料,也可作为高校相关专业的教材。 -
作者介绍
-
目录
致敬华为
第1篇 OpenHarmony操作系统基础
第1章 OpenHarmony的设计目标
1.1 为5G而准备
1.2 覆盖广泛的硬件产品
1.3 必须要解决的问题
1.4 竞争对手
第2章 整体设计思路及技术特点
2.1 可裁剪
2.2 虚拟超级终端
2.3 易开发
第3章 OpenHarmony的功能框架
3.1 芯片适配
3.2 内核层
3.3 驱动程序框架
3.4 OpenHarmony系统服务
3.5 框架层
3.6 编译构建与IDE系统
第4章 上手OpenHarmony
4.1 OpenHarmony系统的基本构成
4.2 OpenHarmony Shell
4.3 启动图形界面
4.4 开源代码项目
4.5 编译构建体系
4.5.1 所用到的工具
4.5.2 系列Python脚本的作用
4.5.3 编译器
第5章 内核介绍
5.1 多内核架构
5.2 LiteOS-m
5.3 LiteOS-a
5.4 LiteOS-m和LiteOS-a的对比
第6章 OpenHarmony内核详细解读
6.1 硬件与处理器架构
6.1.1 处理器架构
6.1.2 异常
6.1.3 中断
6.1.4 多核处理
6.2 基础数据结构
6.2.1 双向链表
6.2.2 排序双向链表
6.3 启动流程
6.4 时间管理
6.4.1 系统Tick
6.4.2 软件定时器
6.5 任务调度
6.5.1 LiteOS-m与LiteOS-a的调度对比
6.5.2 TCB/PCB结构定义
6.5.3 进程及Task创建
6.5.4 Task状态机
6.5.5 调度策略
6.5.6 调度的时机
6.5.7 Task切换的实现
6.6 进程间通信
6.6.1 事件(event)
6.6.2 互斥量(mutex)
6.6.3 队列(queue)
6.6.4 信号灯(semaphore)
6.6.5 快速锁(futex)
6.6.6 自旋锁(spinlock)
6.6.7 信号(signal)
6.6.8 LiteIPC
6.7 内存管理
6.7.1 LiteOS-m的内存管理
6.7.2 LiteOS-a的内存管理
6.7.3 虚拟内存
6.7.4 地址规划
6.8 内核态与用户态
6.8.1 内核态与用户态的区别
6.8.2 用户态切换到内核态
6.8.3 内核态访问用户态数据
6.9 标准库
6.9.1 CMSIS标准库
6.9.2 Libc标准库
6.10 文件系统
6.10.1 VFS
6.10.2 NFS
6.10.3 RAMFS
6.11 网络连接
6.12 OTA
6.12.1 OpenHarmony升级包制作工具
6.12.2 OTA函数
第7章 HDF驱动程序框架
7.1 基本概念
7.2 HDF编程特点
7.2.1 HdfObject
7.2.2 IDeviceIoService
7.2.3 HdfDriverEntry
7.3 驱动代码编译链接
7.4 驱动程序配置文件HCS
7.4.1 树型结构
7.4.2 保留字与操作符
7.4.3 数值类型
7.4.4 重载操作
7.4.5 文件引用
7.4.6 HC-GEN编译器
7.5 加载驱动程序
7.6 注册驱动服务
7.7 内核抽象层OSAL
7.8 注册VFS
7.9 用户态使用驱动程序HDF
第8章 服务框架
8.1 基础数据结构
8.1.1 向量(Vector)
8.1.2 服务(Service)
8.1.3 特性(Feature)
8.1.4 IUnknown接口
8.1.5 标识(Identity)
8.2 服务框架启动过程
8.3 服务/特性注册与发现
8.3.1 服务/特性注册
8.3.2 服务/特性发现
8.4 异步调用
8.5 跨进程服务/特性调用
8.5.1 跨进程调用的使用
8.5.2 跨进程调用的实现
第9章 用户程序框架
9.1 Ability
9.2 Ability与Task
9.3 Ability与UI
9.4 Ability加载器
9.5 AppSpawn
9.6 Ability管理服务
9.6.1 启动Ability
9.6.2 终止Ability
9.6.3 连接Ability
9.7 Ability管理命令行工具
9.7.1 嵌入式设备的aa命令
9.7.2 大内核设备的aa命令
第10章 轻量化UI图形栈
10.1 轻量化UI图形子系统的架构
10.2 模块介绍
10.3 图形组件
10.4 配置文件
10.5 图形子系统初始化流程
10.6 输入事件处理
10.7 屏幕设备处理
10.8 窗口管理器
第11章 包管理
11.1 包管理系统架构
11.2 包管理命令行工具
11.2.1 嵌入式设备的bm命令
11.2.2 大内核设备的bm命令
第12章 ACE编程框架
12.1 ACE的整体架构
12.2 如何使用ACE
第13章 OpenHarmony分布式
13.1 分布式操作系统基础概念
13.2 OpenHarmony分布式总体设计思想
13.3 分布式软总线
13.4 分布式文件系统
13.5 分布式数据库
13.6 分布式调度
第14章 OpenHarmony与其他操作系统的对比
14.1 与iOS和安卓的对比
14.2 与其他嵌入式操作系统的对比
第2篇 OpenHarmony编程实践
第15章 可裁剪的OpenHarmony
15.1 OpenHarmony的可裁剪设计
15.2 内核与驱动
15.3 系统基础服务裁剪
15.4 应用程序框架裁剪
15.5 hpm软件包管理工具
15.5.1 安装hpm
15.5.2 使用hpm
15.5.3 包配置文件
第16章 北向应用开发
16.1 北向IDE
16.1.1 安装DevEco Studio
16.1.2 主界面介绍
16.1.3 工程管理
16.1.4 代码编辑
16.1.5 编译
16.1.6 调试
16.1.7 发布
16.2 JS框架的编程
16.2.1 JS框架的.hml文件编程
16.2.2 JS框架的.css文件编程
16.2.3 JS框架的.js文件编程
16.3 基于Java的编程
16.4 混合编程
16.4.1 ServiceAbility需要完成的工作
16.4.2 JS PageAbility调用的过程
16.5 北向编程实例
第17章 LO-L1南向驱动程序及设备开发
17.1 南向IDE介绍
17.1.1 安装DevEco Device Tool
17.1.2 主界面介绍
17.1.3 工程管理
17.1.4 获取代码
17.1.5 编译构建
17.1.6 烧录
17.1.7 Virtual Box环境配置
17.1.8 HDF驱动代码生成
17.2 南向开发环境搭建
17.3 南向编程实例——驱动程序开发
17.3.1 实现驱动程序
17.3.2 注册驱动
17.3.3 修改HCS配置
17.3.4 加入编译体系
第18章 分布式应用开发
18.1 分布式应用开发的基本概念
18.1.1 面向虚拟超级终端编程
18.1.2 分布式体验设计的基本原则
18.2 手机上的分布式应用开发
18.2.1 应用背景介绍
18.2.2 整体设计
18.2.3 详细代码
第19章 OpenHarmony生态
19.1 OpenHarmony产业链概览
19.2 开源基金组织
19.3 OpenHarmony与HMS的关系
19.3.1 华为生态与OpenHarmony生态
19.3.2 操作系统与SDK
19.4 OpenHarmony设备测试与认证
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
