HDC2021技术分论坛(HarmonyOS内核技术大揭秘!)
作者:jikecheng,miaoxie,HarmonyOS内核技术专家
HarmonyOS整体框架分为四个层级,如图1所示。从上到下,依次为:第一层是应用层,主要涵盖系统应用、Launcher、设置,以及三方应用。第二层是框架层,提供基础UI框架、用户程序框架以及能力模块框架。第三层是系统服务层,让HarmonyOS具有分布式流转负载的能力。大家看到的高速多设备协同能力就是由该层级提供。而承载整个操作系统,同时发挥芯片算力的基石就沉淀在第四层——内核层。宏观来说,内核的主要工作包含芯片资源管理、软件任务调度,以及衔接用户空间与系统调用能力。
文章图片
图1 HarmonyOS整体框架
本期,我们要重点给大家讲一讲HarmonyOS的内核层。
一、HarmonyOS内核构成
为了支撑HarmonyOS在多设备、多场景下的性能表现,内核主要由三部分组成,如下图所示:
文章图片
图2 内核的组成
HarmonyOS内核组件:具有智慧化资源管理能力的内核组件,包括CPU/GPU资源管理,内存管理,IO调度管理以及高效的文件系统等。
标准的Linux内核:兼容了LTS Linux主线版本,做好外围生态的对接。
硬件平台BSP:面向各种不同芯片与硬件平台(包含1+8+N的多种设备)的BSP(board support package,板级支撑包)基础能力。
本期要为大家介绍的就是HarmonyOS内核组件的三项核心技术:高能效CPU资源调度、Hyperhold内存管理引擎和高效的文件系统。下面为大家一一揭晓~
二、高能效CPU资源调度
业界多数的操作系统都是基于标准的Linux内核开发的。传统的Linux内核,早期用于服务器和PC设备,与我们现在用于手机、平板等的交互式内核相比,它们的设计理念和资源管理方式有所不同。以CPU资源为例,传统的Linux内核存在以下典型问题:
- 同优先级的业务过多,每次调度都不一定选择到关键进程。
- 选择最优能效的CPU资源时间过长,CPU资源选择过度。
为了解决以上问题,HarmonyOS内核提供了全栈式的调度框架,如下图所示:
文章图片
【HDC2021技术分论坛(HarmonyOS内核技术大揭秘!)】图3 HarmonyOS调度管理框架
HarmonyOS调度管理框架有以下特点:
● 任务按优先级调度
对现有系统任务进行严格级别划分,在线标记与用户的操作体验直接相关的关键进程和关联任务,优先调度关键任务。
● 依据CPU负载情况选择最优任务分配
我们会动态检测不同CPU的负载,保证当前CPU有足够的算力提供。
● 选择最优频点实现高能效
我们提供了频点与性能、功耗之间的帕累托最优模型。每次任务,我们都能够快速选择系统最优的频点组合方式,实现最优能效。
经过试验,HarmonyOS的全栈式调度框架可以帮助用户获得在多场景(尤其是游戏场景)下持续且稳定的高帧率体验。
三、Hyperhold内存管理引擎
对于内存管理,由于开源生态的不限制,导致应用开发的内存使用野蛮生长。设备长时间使用后,可回收内存越来越低。产生这个问题的原因有两个:
- 传统内存数据冷热管理,无法感知业务特性
另外,由于应用的内存负载越来越重,当系统冷热数据识别不恰当,会导致系统的CPU负载长期处于高负载状态,最终影响前台应用的基础性能。
- 传统共享式内存分配,无法感知数据重要性
为了解决传统Linux内核的内存问题,HarmonyOS提供了Hyperhold内存管理引擎。Hyperhold内存管理引擎打通了上层系统到内核的调用栈,让内核完整感知到应用的整个生命周期,并结合应用生命周期以及周期内的数据访问特征,对每一块内存数据做合理的内存管理。同时,为了降低内核管理内存的开销,我们提出了自研的压缩体系,包括多线程压缩、自研的压缩算法。为了进一步扩大可用空间,我们在Flash器件上开出了一块可交换区,结合自研的聚合换出和内存标记技术,充分利用Flash器件的性能。
文章图片
图4 Hyperhold内存管理引擎
经过试验, Hyperhold内存管理引擎可以让应用在后台的驻留能力提升50%以上,用户可以明显感知到后台应用的保活率有大幅提升。
四、高效的文件系统
存储处于整个缓存体系下的最慢路径,容易成为系统性能瓶颈。不仅如此,由于存储器件碎片化的问题,存储还容易出现越用越慢的难题。其次,随着系统的发展,系统占用存储越来越多。而在多设备流转的场景下,分布式文件系统的高效转存能力显得尤为重要。为应对上述问题,HarmonyOS提供了高效的自研文件系统体系。从第一代的eF2FS到最新的HMDFS,文件系统逐步解决了碎片化问题、容量问题与多设备流转问题。
文章图片
图5 HarmonyOS文件系统
下面我们从第一代的eF2FS到最新的HMDFS,依次介绍HarmonyOS文件系统的技术特点。
- 第1代数据盘eF2FS:智能感知空间管理,改善越用越慢
下面我们通过一个视频,更好地了解HarmonyOS的空间管理机制。
https://v.qq.com/x/page/b3309...
- 系统盘EROFS:变长压缩,支持压缩与性能双赢
文章图片
图6 系统盘EROFS的变长压缩
通过以上关键技术,系统盘EROFS的性能得到大幅提升:
随机读性能平均提升20%。
系统初始空间相比Ext4节省2GB,相当于用户可以多存1000张照片或500首歌曲。
升级包大小下降约5%-10%,升级时间缩短约20%。
- 跨设备HMDFS:“批流”结合的分布式文件系统
文章图片
图7 HMDFS
应对多设备流转,HMDFS提供了多种文件系统能力,包括:
文件类型聚合
高效的缓存管理
批处理接口
分布式的权限管控
高效传输
数据一致性管理
通过上述一系列技术的研发与集成,最终实现了现有的跨设备高效文件系统,为用户提供流畅的分布式体验。
五、未来演进方向
上面就是我们本期要介绍的HarmonyOS内核核心技术内容了。未来还有很多方向值得我们继续探索,下图列出了HarmonyOS内核的未来演进方向。
文章图片
图8 未来演进方向
相信经过我们不断的探索,我们能打造出更好的内核,为大家提供更流畅、体验更好的HarmonyOS!
推荐阅读
- 一个人的旅行,三亚
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 第326天
- 赠己诗
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- D13|D13 张贇 Banner分析
- 托福听力高分备考方案
- 自媒体形势分析
- 姚老师互动问答会|姚老师互动问答会 # 问题001(如何更有智慧的和身边人分享金刚智慧())