深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈

深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-08
版次: 1
ISBN: 9787517097471
定价: 88.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 304页
字数: 455.000千字
  • 本书是由华为资深高级软件工程师、首位HarmonyOSHDE(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
  • 内容简介:
    本书是由华为资深高级软件工程师、首位HarmonyOSHDE(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
查看详情
相关图书 / 更多
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入精微小楷临摹系列:小楷洛神赋三种
艺文类聚金石书画馆 著
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入理解RISC-V程序开发
何小庆 著;林金龙
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入精微小楷临摹系列:赵孟頫小楷道德经
艺文类聚金石书画馆 著
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入精微小楷临摹系列:文徵明草堂十志
艺文类聚金石书画馆 著
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入精微小楷临摹系列:心经三种
艺文类聚金石书画馆 著
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入精微小楷临摹系列:王宠游包山集
艺文类聚金石书画馆 著
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入实战Vue开发
殷荣桧
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入浅出 Hyperscan:高性能正则表达式算法原理与设计
王翔;昌昊;洪扬;张磊
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入精微小楷临摹系列:钟繇宣示表(外二种)
艺文类聚金石书画馆 编
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入理解企业级区块链Quorum和IPFS
方云山 著;周兵、周兵、方云山 编
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入剖析Java虚拟机:源码剖析与实例详解(基础卷)
马智 著
深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈
深入学习贯彻习近平总书记关于工人阶级和工会工作的重要论述
全国总工会课题组