From 212e6ddb8fc533d6ef01f98c37dda027b1999414 Mon Sep 17 00:00:00 2001 From: denglun Date: Mon, 26 Sep 2022 11:11:37 +0000 Subject: [PATCH 1/9] update README.md. Signed-off-by: denglun --- README.md | 104 +++++++++++++++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 1f4c69f..28b86ce 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,87 @@ -# The Part of Memory Base Libraries +# 内存基础库部件 -- [Introduction](#section_introduction) -- [Architecture](#section_architecture) -- [Directory Structure](#section_catalogue) -- [Memory Base Libraries](#section_libraries) - - [libdmabufheap system library](#section_libdmabufheap) - - [libmeminfo system library (planning)](#section_libmeminfo) - - [libmemleak system library (planning)](#section_libmemleak) - - [libpurgeable system library (planning)](#section_libpurgeable) - - [libspeculative system library (planning)](#section_libspeculative) -- [Usage Guidelines](#section_usage) -- [Repositories Involved](#section_projects) +- [内存基础库部件](#内存基础库部件) + - [简介](#简介) + - [部件架构](#部件架构) + - [目录](#目录) + - [内存基础库](#内存基础库) + - [libdmabufheap系统库](#libdmabufheap系统库) + - [libmeminfo系统库(规划中)](#libmeminfo系统库规划中) + - [libmemleak系统库(规划中)](#libmemleak系统库规划中) + - [libpurgeable系统库](#libpurgeable系统库) + - [libspeculative系统库(规划中)](#libspeculative系统库规划中) + - [使用说明](#使用说明) + - [相关仓](#相关仓) -## Introduction +## 简介 -The part of *Memory base libraries* belongs to the subsystem named *Utils Subsystem*. It provides the system library for upper-layer services to operate memory, ensuring the stability of upper-layer services. +内存基础库部件位于公共基础库子系统中,为上层业务提供对应的操作内存的系统库,保证上层业务的稳定性。 -## Architecture +## 部件架构 -**Figure 1** Memory Base Libraries architecture +**图1** 内存基础库部件架构图 -![](figures/en-us_image_fwk.png) +![](figures/zh-cn_image_fwk.png) -| Memory Base Libraries | User | +| 内存基础库 | 使用者 | | -------------- | -------------------------- | -| libdmabufheap | multimedia service | -| libmeminfo | memory manager service | -| libmemleak | memory manager service | -| libpurgeable | graphic service (planning) | -| libspeculative | system service (planning) | +| libdmabufheap | 多媒体相关服务 | +| libmeminfo | 内存管理服务 | +| libmemleak | 内存管理服务 | +| libpurgeable | 图形图像相关服务(规划中) | +| libspeculative | 系统服务(规划中) | -## Directory Structure +## 目录 ``` /utils/memory -├── libdmabufheap # DMA (Direct Memory Access) memory allocation system library -│   ├── include # DMA memory allocation system library header directory -│   ├── src # DMA memory allocation system library source directory -│   └── test # DMA memory allocation system library usecase directory -├── libmeminfo # Memory footprint management library -├── libmemleak # Memory leak detection library -├── libpurgeable # Purgeable memory management library -└── libspeculative # Speculative memory management library +├── libdmabufheap # DMA (Direct Memory Access) 内存分配链接库 +│   ├── include # DMA内存分配链接库头文件目录 +│   ├── src # DMA内存分配链接库源代码目录 +│   └── test # DMA内存分配链接库自测用例目录 +├── libmeminfo # 内存占用查询库 +├── libmemleak # 内存泄漏检测库 +├── libpurgeable # 可丢弃类型内存管理库 +│   ├── include # purgeable memory内存分配链接库头文件目录 +| │   ├── c # purgeanme memorry内存分配的c接口 +| │   ├── common # purgeanme memorry内存分配的公共色痕迹 +| │   └── cpp # purgeanme memorry内存分配的cpp接口 +│   ├── src # purgeable memory内存分配链接库源代码目录 +│   └── test # purgeable memory内存分配链接库自测用例目录 +└── libspeculative # 投机类型内存管理库 ``` -## Memory Base Libraries +## 内存基础库 -*Memory base libraries* is a component of the system library that integrates memory operations and manages them in a unified manner. +内存基础库是集成内存操作的系统库的部件,对内存操作的系统库进行统一管理。 -### libdmabufheap system library +### libdmabufheap系统库 -The memory system library provides interfaces for the multimedia service to allocate and share shared memory. By allocating and sharing memory between hardware devices and user space, zero-copy memory between devices and processes is implemented to improve execution efficiency. +为多媒体相关服务提供分配共享内存的接口,通过在硬件设备和用户空间之间分配和共享内存,实现 +设备、进程间零拷贝内存,提升执行效率。 -### libmeminfo system library (planning) +### libmeminfo系统库(规划中) -It provides interfaces for memory usage queries. It is used for memory footprint query, low memory killing and other scenarios. +提供内存占用查询接口,用于内存占用信息查询、低内存查杀等场景。 -### libmemleak system library (planning) +### libmemleak系统库(规划中) -It cooperates with malloc_debug to detect memory leaks of native heap. +配合malloc_debug做native heap内存泄漏检测。 -### libpurgeable system library (planning) +### libpurgeable系统库 -It provides management interfaces for discardable-type memory. +为多媒体相关服务提供可丢弃类型内存的管理接口。用于存放能重新构建出来的数据,降低进程内存占用。 -### libspeculative system library (planning) +### libspeculative系统库(规划中) -It provides management interfaces for speculative-type memory. It is mainly used by system services for data pre-loading. +提供投机类型内存管理接口,用于缓存预读。 -## Usage Guidelines +## 使用说明 -System developers can add or remove this part by configuring the product definition JSON file under **/productdefine/common/products** to enable or disable this part: +系统开发者可以通过配置productdefine/common/products下的产品定义json文件,增加或移除本部件,来启用或停用本部件。 ` "utils:utils_memory":{} ` -## Repositories Involved +## 相关仓 -[utils](https://gitee.com/openharmony/utils) \ No newline at end of file +[公共基础库子系统](https://gitee.com/openharmony/utils) \ No newline at end of file -- Gitee From a76956ced2060678b06216b922ad3b9d62cf3565 Mon Sep 17 00:00:00 2001 From: denglun Date: Mon, 26 Sep 2022 11:12:59 +0000 Subject: [PATCH 2/9] update README.md. Signed-off-by: denglun --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 28b86ce..9cd120d 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ | libdmabufheap | 多媒体相关服务 | | libmeminfo | 内存管理服务 | | libmemleak | 内存管理服务 | -| libpurgeable | 图形图像相关服务(规划中) | +| libpurgeable | 图形图像相关服务 | | libspeculative | 系统服务(规划中) | ## 目录 -- Gitee From 2676665f1ac4ae35c56e5939a52a88112c859a73 Mon Sep 17 00:00:00 2001 From: denglun Date: Tue, 27 Sep 2022 02:02:36 +0000 Subject: [PATCH 3/9] update README_ZH.md. Signed-off-by: denglun --- README_ZH.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/README_ZH.md b/README_ZH.md index b69b35f..9cd120d 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -1,16 +1,17 @@ # 内存基础库部件 -- [简介](#section_introduction) -- [部件架构](#section_architecture) -- [目录](#section_catalogue) -- [内存基础库](#section_libraries) - - [libdmabufheap系统库](#section_libdmabufheap) - - [libmeminfo系统库(规划中)](#section_libmeminfo) - - [libmemleak系统库(规划中)](#section_libmemleak) - - [libpurgeable系统库(规划中)](#section_libpurgeable) - - [libspeculative系统库(规划中)](#section_libspeculative) -- [使用说明](#section_usage) -- [相关仓](#section_projects) +- [内存基础库部件](#内存基础库部件) + - [简介](#简介) + - [部件架构](#部件架构) + - [目录](#目录) + - [内存基础库](#内存基础库) + - [libdmabufheap系统库](#libdmabufheap系统库) + - [libmeminfo系统库(规划中)](#libmeminfo系统库规划中) + - [libmemleak系统库(规划中)](#libmemleak系统库规划中) + - [libpurgeable系统库](#libpurgeable系统库) + - [libspeculative系统库(规划中)](#libspeculative系统库规划中) + - [使用说明](#使用说明) + - [相关仓](#相关仓) ## 简介 @@ -27,7 +28,7 @@ | libdmabufheap | 多媒体相关服务 | | libmeminfo | 内存管理服务 | | libmemleak | 内存管理服务 | -| libpurgeable | 图形图像相关服务(规划中) | +| libpurgeable | 图形图像相关服务 | | libspeculative | 系统服务(规划中) | ## 目录 @@ -41,6 +42,12 @@ ├── libmeminfo # 内存占用查询库 ├── libmemleak # 内存泄漏检测库 ├── libpurgeable # 可丢弃类型内存管理库 +│   ├── include # purgeable memory内存分配链接库头文件目录 +| │   ├── c # purgeanme memorry内存分配的c接口 +| │   ├── common # purgeanme memorry内存分配的公共色痕迹 +| │   └── cpp # purgeanme memorry内存分配的cpp接口 +│   ├── src # purgeable memory内存分配链接库源代码目录 +│   └── test # purgeable memory内存分配链接库自测用例目录 └── libspeculative # 投机类型内存管理库 ``` @@ -61,9 +68,9 @@ 配合malloc_debug做native heap内存泄漏检测。 -### libpurgeable系统库(规划中) +### libpurgeable系统库 -提供可丢弃类型内存的管理接口。 +为多媒体相关服务提供可丢弃类型内存的管理接口。用于存放能重新构建出来的数据,降低进程内存占用。 ### libspeculative系统库(规划中) -- Gitee From 404ee687d2a77ad8ad6a6cd6a6245afae10e2686 Mon Sep 17 00:00:00 2001 From: denglun Date: Tue, 27 Sep 2022 02:05:22 +0000 Subject: [PATCH 4/9] update README.md. Signed-off-by: denglun --- README.md | 104 +++++++++++++++++++++++++----------------------------- 1 file changed, 48 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 9cd120d..1f4c69f 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,79 @@ -# 内存基础库部件 +# The Part of Memory Base Libraries -- [内存基础库部件](#内存基础库部件) - - [简介](#简介) - - [部件架构](#部件架构) - - [目录](#目录) - - [内存基础库](#内存基础库) - - [libdmabufheap系统库](#libdmabufheap系统库) - - [libmeminfo系统库(规划中)](#libmeminfo系统库规划中) - - [libmemleak系统库(规划中)](#libmemleak系统库规划中) - - [libpurgeable系统库](#libpurgeable系统库) - - [libspeculative系统库(规划中)](#libspeculative系统库规划中) - - [使用说明](#使用说明) - - [相关仓](#相关仓) +- [Introduction](#section_introduction) +- [Architecture](#section_architecture) +- [Directory Structure](#section_catalogue) +- [Memory Base Libraries](#section_libraries) + - [libdmabufheap system library](#section_libdmabufheap) + - [libmeminfo system library (planning)](#section_libmeminfo) + - [libmemleak system library (planning)](#section_libmemleak) + - [libpurgeable system library (planning)](#section_libpurgeable) + - [libspeculative system library (planning)](#section_libspeculative) +- [Usage Guidelines](#section_usage) +- [Repositories Involved](#section_projects) -## 简介 +## Introduction -内存基础库部件位于公共基础库子系统中,为上层业务提供对应的操作内存的系统库,保证上层业务的稳定性。 +The part of *Memory base libraries* belongs to the subsystem named *Utils Subsystem*. It provides the system library for upper-layer services to operate memory, ensuring the stability of upper-layer services. -## 部件架构 +## Architecture -**图1** 内存基础库部件架构图 +**Figure 1** Memory Base Libraries architecture -![](figures/zh-cn_image_fwk.png) +![](figures/en-us_image_fwk.png) -| 内存基础库 | 使用者 | +| Memory Base Libraries | User | | -------------- | -------------------------- | -| libdmabufheap | 多媒体相关服务 | -| libmeminfo | 内存管理服务 | -| libmemleak | 内存管理服务 | -| libpurgeable | 图形图像相关服务 | -| libspeculative | 系统服务(规划中) | +| libdmabufheap | multimedia service | +| libmeminfo | memory manager service | +| libmemleak | memory manager service | +| libpurgeable | graphic service (planning) | +| libspeculative | system service (planning) | -## 目录 +## Directory Structure ``` /utils/memory -├── libdmabufheap # DMA (Direct Memory Access) 内存分配链接库 -│   ├── include # DMA内存分配链接库头文件目录 -│   ├── src # DMA内存分配链接库源代码目录 -│   └── test # DMA内存分配链接库自测用例目录 -├── libmeminfo # 内存占用查询库 -├── libmemleak # 内存泄漏检测库 -├── libpurgeable # 可丢弃类型内存管理库 -│   ├── include # purgeable memory内存分配链接库头文件目录 -| │   ├── c # purgeanme memorry内存分配的c接口 -| │   ├── common # purgeanme memorry内存分配的公共色痕迹 -| │   └── cpp # purgeanme memorry内存分配的cpp接口 -│   ├── src # purgeable memory内存分配链接库源代码目录 -│   └── test # purgeable memory内存分配链接库自测用例目录 -└── libspeculative # 投机类型内存管理库 +├── libdmabufheap # DMA (Direct Memory Access) memory allocation system library +│   ├── include # DMA memory allocation system library header directory +│   ├── src # DMA memory allocation system library source directory +│   └── test # DMA memory allocation system library usecase directory +├── libmeminfo # Memory footprint management library +├── libmemleak # Memory leak detection library +├── libpurgeable # Purgeable memory management library +└── libspeculative # Speculative memory management library ``` -## 内存基础库 +## Memory Base Libraries -内存基础库是集成内存操作的系统库的部件,对内存操作的系统库进行统一管理。 +*Memory base libraries* is a component of the system library that integrates memory operations and manages them in a unified manner. -### libdmabufheap系统库 +### libdmabufheap system library -为多媒体相关服务提供分配共享内存的接口,通过在硬件设备和用户空间之间分配和共享内存,实现 -设备、进程间零拷贝内存,提升执行效率。 +The memory system library provides interfaces for the multimedia service to allocate and share shared memory. By allocating and sharing memory between hardware devices and user space, zero-copy memory between devices and processes is implemented to improve execution efficiency. -### libmeminfo系统库(规划中) +### libmeminfo system library (planning) -提供内存占用查询接口,用于内存占用信息查询、低内存查杀等场景。 +It provides interfaces for memory usage queries. It is used for memory footprint query, low memory killing and other scenarios. -### libmemleak系统库(规划中) +### libmemleak system library (planning) -配合malloc_debug做native heap内存泄漏检测。 +It cooperates with malloc_debug to detect memory leaks of native heap. -### libpurgeable系统库 +### libpurgeable system library (planning) -为多媒体相关服务提供可丢弃类型内存的管理接口。用于存放能重新构建出来的数据,降低进程内存占用。 +It provides management interfaces for discardable-type memory. -### libspeculative系统库(规划中) +### libspeculative system library (planning) -提供投机类型内存管理接口,用于缓存预读。 +It provides management interfaces for speculative-type memory. It is mainly used by system services for data pre-loading. -## 使用说明 +## Usage Guidelines -系统开发者可以通过配置productdefine/common/products下的产品定义json文件,增加或移除本部件,来启用或停用本部件。 +System developers can add or remove this part by configuring the product definition JSON file under **/productdefine/common/products** to enable or disable this part: ` "utils:utils_memory":{} ` -## 相关仓 +## Repositories Involved -[公共基础库子系统](https://gitee.com/openharmony/utils) \ No newline at end of file +[utils](https://gitee.com/openharmony/utils) \ No newline at end of file -- Gitee From cb90fb21facf11e9f56eb4e53bf86151dec6c224 Mon Sep 17 00:00:00 2001 From: denglun Date: Tue, 27 Sep 2022 02:17:30 +0000 Subject: [PATCH 5/9] update README_ZH.md. Signed-off-by: denglun --- README_ZH.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README_ZH.md b/README_ZH.md index 9cd120d..a20848c 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -42,12 +42,12 @@ ├── libmeminfo # 内存占用查询库 ├── libmemleak # 内存泄漏检测库 ├── libpurgeable # 可丢弃类型内存管理库 -│   ├── include # purgeable memory内存分配链接库头文件目录 -| │   ├── c # purgeanme memorry内存分配的c接口 -| │   ├── common # purgeanme memorry内存分配的公共色痕迹 -| │   └── cpp # purgeanme memorry内存分配的cpp接口 -│   ├── src # purgeable memory内存分配链接库源代码目录 -│   └── test # purgeable memory内存分配链接库自测用例目录 +│   ├── include # purgeable类型内存分配链接库头文件目录 +| │   ├── c # purgeable类型内存分配的c接口目录 +| │   ├── common # purgeable类型内存分配的公共接口目录 +| │   └── cpp # purgeable类型内存分配的cpp接口目录 +│   ├── src # purgeable类型内存分配链接库源代码目录 +│   └── test # purgeable类型内存分配链接库自测用例目录 └── libspeculative # 投机类型内存管理库 ``` @@ -70,7 +70,7 @@ ### libpurgeable系统库 -为多媒体相关服务提供可丢弃类型内存的管理接口。用于存放能重新构建出来的数据,降低进程内存占用。 +为多媒体相关服务提供可丢弃类型内存的专用内存申请接口。在系统可用内存不足时,purgeable内存被系统直接丢弃,实现内存快速回收。应用再次被使用时,已经被释放的purgeable内存能够进行重建。 ### libspeculative系统库(规划中) -- Gitee From 9c3178fc5e9fab7b7b9402f2c232cb4363a7612e Mon Sep 17 00:00:00 2001 From: denglun Date: Tue, 27 Sep 2022 02:19:16 +0000 Subject: [PATCH 6/9] update README.md. Signed-off-by: denglun --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f4c69f..36befb7 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ The part of *Memory base libraries* belongs to the subsystem named *Utils Subsys | libdmabufheap | multimedia service | | libmeminfo | memory manager service | | libmemleak | memory manager service | -| libpurgeable | graphic service (planning) | +| libpurgeable | graphic service | | libspeculative | system service (planning) | ## Directory Structure -- Gitee From b25a6fea446c4b2c5eca585d8cbcb59dbd7f81fc Mon Sep 17 00:00:00 2001 From: denglun Date: Tue, 27 Sep 2022 02:40:47 +0000 Subject: [PATCH 7/9] update README.md. Signed-off-by: denglun --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 36befb7..b7e5222 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ It cooperates with malloc_debug to detect memory leaks of native heap. ### libpurgeable system library (planning) -It provides management interfaces for discardable-type memory. +It provides a dedicated memory request interface for discardable type memory for multimedia related services. When the available memory of the system is insufficient, the purgeable memory is directly discarded by the system to achieve rapid memory recovery. When the application is used again, the purgeable memory that has been freed can be rebuilt. ### libspeculative system library (planning) -- Gitee From 33224eb8d8afd526a8ffd699417ee519af00c64b Mon Sep 17 00:00:00 2001 From: denglun Date: Tue, 27 Sep 2022 06:15:00 +0000 Subject: [PATCH 8/9] update README.md. Signed-off-by: denglun --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7e5222..0e602be 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ - [libdmabufheap system library](#section_libdmabufheap) - [libmeminfo system library (planning)](#section_libmeminfo) - [libmemleak system library (planning)](#section_libmemleak) - - [libpurgeable system library (planning)](#section_libpurgeable) + - [libpurgeable system library](#section_libpurgeable) - [libspeculative system library (planning)](#section_libspeculative) - [Usage Guidelines](#section_usage) - [Repositories Involved](#section_projects) -- Gitee From 20939c9dc0bf4f94235cfda01b6827e6a65a4238 Mon Sep 17 00:00:00 2001 From: denglun Date: Thu, 29 Sep 2022 01:40:00 +0000 Subject: [PATCH 9/9] update README.md. Signed-off-by: denglun --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e602be..f6b3400 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ It provides interfaces for memory usage queries. It is used for memory footprint It cooperates with malloc_debug to detect memory leaks of native heap. -### libpurgeable system library (planning) +### libpurgeable system library It provides a dedicated memory request interface for discardable type memory for multimedia related services. When the available memory of the system is insufficient, the purgeable memory is directly discarded by the system to achieve rapid memory recovery. When the application is used again, the purgeable memory that has been freed can be rebuilt. -- Gitee