Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
122cb2af
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
You need to sign in or sign up before continuing.
未验证
提交
122cb2af
编写于
4月 08, 2022
作者:
O
openharmony_ci
提交者:
Gitee
4月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
!3111 修改链接--不涉及翻译
Merge pull request !3111 from Austin/OpenHarmony-3.1-Release
上级
39d0033d
f61ef11a
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
9 addition
and
2 deletion
+9
-2
zh-cn/device-dev/device-dev-guide.md
zh-cn/device-dev/device-dev-guide.md
+2
-2
zh-cn/device-dev/kernel/kernel-mini-basic-task.md
zh-cn/device-dev/kernel/kernel-mini-basic-task.md
+1
-0
zh-cn/device-dev/kernel/kernel-mini-memory-exception.md
zh-cn/device-dev/kernel/kernel-mini-memory-exception.md
+1
-0
zh-cn/device-dev/kernel/kernel-small-basic-inner-reflect.md
zh-cn/device-dev/kernel/kernel-small-basic-inner-reflect.md
+2
-0
zh-cn/device-dev/kernel/kernel-small-bundles-fs-virtual.md
zh-cn/device-dev/kernel/kernel-small-bundles-fs-virtual.md
+3
-0
未找到文件。
zh-cn/device-dev/device-dev-guide.md
浏览文件 @
122cb2af
...
@@ -39,7 +39,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
...
@@ -39,7 +39,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
| -------- | -------- | -------- |
| -------- | -------- | -------- |
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行。 |
[
轻量和小型系统快速入门
](
quick-start/quickstart-lite-overview.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行。 |
[
轻量和小型系统快速入门
](
quick-start/quickstart-
ide-
lite-overview.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[轻量系统内核开发指南](kernel/kernel-mini-overview.md)
<br/>
-
[小型系统内核开发指南](kernel/kernel-small-overview.md)
<br/>
-
[驱动开发指南](driver/driver-hdf-overview.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-mini-lite.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[轻量系统内核开发指南](kernel/kernel-mini-overview.md)
<br/>
-
[小型系统内核开发指南](kernel/kernel-small-overview.md)
<br/>
-
[驱动开发指南](driver/driver-hdf-overview.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-mini-lite.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[WLAN连接类产品](guide/device-wlan-led-control.md)
<br/>
-
[无屏摄像头类产品](guide/device-iotcamera-control-overview.md)
<br/>
-
[
带屏摄像头类产品
](
guide/device-camera-control-overview.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[WLAN连接类产品](guide/device-wlan-led-control.md)
<br/>
-
[无屏摄像头类产品](guide/device-iotcamera-control-overview.md)
<br/>
-
[
带屏摄像头类产品
](
guide/device-camera-control-overview.md
)
|
| 移植适配 | -
针对特定芯片做移植适配
<br/>
-
对三方库进行移植适配 | -
[轻量系统芯片移植指导](porting/oem_transplant_chip_prepare_knows.md)
<br/>
-
[小型系统芯片移植指导](porting/porting-smallchip-prepare-needs.md)
<br/>
-
[
轻量和小型系统三方库移植指导
](
porting/porting-thirdparty-overview.md
)
|
| 移植适配 | -
针对特定芯片做移植适配
<br/>
-
对三方库进行移植适配 | -
[轻量系统芯片移植指导](porting/oem_transplant_chip_prepare_knows.md)
<br/>
-
[小型系统芯片移植指导](porting/porting-smallchip-prepare-needs.md)
<br/>
-
[
轻量和小型系统三方库移植指导
](
porting/porting-thirdparty-overview.md
)
|
...
@@ -52,7 +52,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
...
@@ -52,7 +52,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
| -------- | -------- | -------- |
| -------- | -------- | -------- |
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行。 |
[
标准系统快速入门
](
quick-start/quickstart-standard-overview.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行。 |
[
标准系统快速入门
](
quick-start/quickstart-
ide-
standard-overview.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[内核开发指南](kernel/kernel-standard.md)
<br/>
-
[驱动开发指南](driver/driver-hdf-overview.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-standard-large.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[内核开发指南](kernel/kernel-standard.md)
<br/>
-
[驱动开发指南](driver/driver-hdf-overview.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-standard-large.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[时钟应用开发指导](guide/device-clock-guide.md)
<br/>
-
[平台驱动开发示例](guide/device-driver-demo.md)
<br/>
-
[
外设驱动开发示例
](
guide/device-outerdriver-demo.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[时钟应用开发指导](guide/device-clock-guide.md)
<br/>
-
[平台驱动开发示例](guide/device-driver-demo.md)
<br/>
-
[
外设驱动开发示例
](
guide/device-outerdriver-demo.md
)
|
| 移植适配 | 对三方库进行移植适配 | -
[标准系统芯片移植指导](porting/standard-system-porting-guide.md)
<br/>
-
[一种快速移植OpenHarmony
Linux内核的方法](porting/porting-linux-kernel.md) |
| 移植适配 | 对三方库进行移植适配 | -
[标准系统芯片移植指导](porting/standard-system-porting-guide.md)
<br/>
-
[一种快速移植OpenHarmony
Linux内核的方法](porting/porting-linux-kernel.md) |
...
...
zh-cn/device-dev/kernel/kernel-mini-basic-task.md
浏览文件 @
122cb2af
...
@@ -44,6 +44,7 @@ OpenHarmony LiteOS-M的任务模块可以给用户提供多个任务,实现任
...
@@ -44,6 +44,7 @@ OpenHarmony LiteOS-M的任务模块可以给用户提供多个任务,实现任
**任务状态迁移**
**任务状态迁移**
**图1**
任务状态示意图
**图1**
任务状态示意图


**任务状态迁移说明:**
**任务状态迁移说明:**
...
...
zh-cn/device-dev/kernel/kernel-mini-memory-exception.md
浏览文件 @
122cb2af
...
@@ -21,6 +21,7 @@ OpenHarmony LiteOS-M提供异常接管调测手段,帮助开发者定位分析
...
@@ -21,6 +21,7 @@ OpenHarmony LiteOS-M提供异常接管调测手段,帮助开发者定位分析
堆栈分析原理如下图所示,实际堆栈信息根据不同CPU架构有所差异,此处仅做示意。
堆栈分析原理如下图所示,实际堆栈信息根据不同CPU架构有所差异,此处仅做示意。
**图1**
堆栈分析原理示意图
**图1**
堆栈分析原理示意图


图中不同颜色的寄存器表示不同的函数。可以看到函数调用过程中,寄存器的保存。通过FP寄存器,栈回溯到异常函数的父函数,继续按照规律对栈进行解析,推出函数调用关系,方便用户定位问题。
图中不同颜色的寄存器表示不同的函数。可以看到函数调用过程中,寄存器的保存。通过FP寄存器,栈回溯到异常函数的父函数,继续按照规律对栈进行解析,推出函数调用关系,方便用户定位问题。
...
...
zh-cn/device-dev/kernel/kernel-small-basic-inner-reflect.md
浏览文件 @
122cb2af
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
虚实映射是指系统通过内存管理单元(MMU,Memory Management Unit)将进程空间的虚拟地址与实际的物理地址做映射,并指定相应的访问权限、缓存属性等。程序执行时,CPU访问的是虚拟内存,通过MMU页表条目找到对应的物理内存,并做相应的代码执行或数据读写操作。MMU的映射由页表(Page Table)来描述,其中保存虚拟地址和物理地址的映射关系以及访问权限等。每个进程在创建的时候都会创建一个页表,页表由一个个页表条目(Page Table Entry, PTE)构成,每个页表条目描述虚拟地址区间与物理地址区间的映射关系。MMU中有一块页表缓存,称为快表(TLB, Translation Lookaside Buffers),做地址转换时,MMU首先在TLB中查找,如果找到对应的页表条目可直接进行转换,提高了查询效率。CPU访问内存或外设的示意图如下:
虚实映射是指系统通过内存管理单元(MMU,Memory Management Unit)将进程空间的虚拟地址与实际的物理地址做映射,并指定相应的访问权限、缓存属性等。程序执行时,CPU访问的是虚拟内存,通过MMU页表条目找到对应的物理内存,并做相应的代码执行或数据读写操作。MMU的映射由页表(Page Table)来描述,其中保存虚拟地址和物理地址的映射关系以及访问权限等。每个进程在创建的时候都会创建一个页表,页表由一个个页表条目(Page Table Entry, PTE)构成,每个页表条目描述虚拟地址区间与物理地址区间的映射关系。MMU中有一块页表缓存,称为快表(TLB, Translation Lookaside Buffers),做地址转换时,MMU首先在TLB中查找,如果找到对应的页表条目可直接进行转换,提高了查询效率。CPU访问内存或外设的示意图如下:
**图1**
CPU访问内存或外设的示意图
**图1**
CPU访问内存或外设的示意图


...
@@ -25,6 +26,7 @@
...
@@ -25,6 +26,7 @@
-
若CPU访问已缓存至TLB的页表条目,无需再访问保存在内存中的页表,可加快查找速度。
-
若CPU访问已缓存至TLB的页表条目,无需再访问保存在内存中的页表,可加快查找速度。
**图2**
CPU访问内存示意图
**图2**
CPU访问内存示意图


...
...
zh-cn/device-dev/kernel/kernel-small-bundles-fs-virtual.md
浏览文件 @
122cb2af
...
@@ -32,10 +32,13 @@ OpenHarmony内核中,VFS框架是通过在内存中的树结构来实现的,
...
@@ -32,10 +32,13 @@ OpenHarmony内核中,VFS框架是通过在内存中的树结构来实现的,
Vnode通过哈希以及LRU机制进行管理。当系统启动后,对文件或目录的访问会优先从哈希链表中查找Vnode缓存,若缓存没有命中,则并从对应文件系统中搜索目标文件或目录,创建并缓存对应的Vnode。当Vnode缓存数量达到上限时,将淘汰长时间未访问的Vnode,其中挂载点Vnode与设备节点Vnode不参与淘汰。当前系统中Vnode的规格默认为512,该规格可以通过LOSCFG_MAX_VNODE_SIZE进行配置。Vnode数量过大,会造成较大的内存占用;Vnode数量过少,则会造成搜索性能下降。下图展示了Vnode的创建流程。
Vnode通过哈希以及LRU机制进行管理。当系统启动后,对文件或目录的访问会优先从哈希链表中查找Vnode缓存,若缓存没有命中,则并从对应文件系统中搜索目标文件或目录,创建并缓存对应的Vnode。当Vnode缓存数量达到上限时,将淘汰长时间未访问的Vnode,其中挂载点Vnode与设备节点Vnode不参与淘汰。当前系统中Vnode的规格默认为512,该规格可以通过LOSCFG_MAX_VNODE_SIZE进行配置。Vnode数量过大,会造成较大的内存占用;Vnode数量过少,则会造成搜索性能下降。下图展示了Vnode的创建流程。
**图1**
Vnode创建流程
**图1**
Vnode创建流程
!
[
zh-cn_image_0000001127393126
](
figures/zh-cn_image_0000001127393126.png
)
!
[
zh-cn_image_0000001127393126
](
figures/zh-cn_image_0000001127393126.png
)
1.
PathCache:PathCache是路径缓存,它通过哈希表存储,利用父节点Vnode的地址和子节点的文件名,可以从PathCache中快速查找到子节点对应的Vnode。下图展示了文件/目录的查找流程。
1.
PathCache:PathCache是路径缓存,它通过哈希表存储,利用父节点Vnode的地址和子节点的文件名,可以从PathCache中快速查找到子节点对应的Vnode。下图展示了文件/目录的查找流程。
**图2**
文件查找流程
**图2**
文件查找流程
!
[
zh-cn_image_0000001175795145
](
figures/zh-cn_image_0000001175795145.png
)
!
[
zh-cn_image_0000001175795145
](
figures/zh-cn_image_0000001175795145.png
)
1.
PageCache:PageCache是内核中文件的缓存。当前PageCache仅支持缓存二进制文件,在初次访问文件时通过mmap映射到内存中,下次再访问时,直接从PageCache中读取,可以提升对同一个文件的读写速度。另外基于PageCache可实现以文件为基底的进程间通信。
1.
PageCache:PageCache是内核中文件的缓存。当前PageCache仅支持缓存二进制文件,在初次访问文件时通过mmap映射到内存中,下次再访问时,直接从PageCache中读取,可以提升对同一个文件的读写速度。另外基于PageCache可实现以文件为基底的进程间通信。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录