【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

华为鸿蒙 OS 轻量内核设计理念与关键特性

  • 2020-09-15
  • 本文字数:2069 字

    阅读完需:约 7 分钟

华为鸿蒙OS轻量内核设计理念与关键特性

9 月 10 日,在华为开发者大会 2020 上,华为消费者业务 CEO 余承东宣布推出鸿蒙 OS 2.0 版本(HarmonyOS 2.0),同时将鸿蒙 OS 的代码捐赠给开放原子开源基金会进行开源孵化。根据华为公布的鸿蒙开源路标,即日起鸿蒙面向大屏、手表、车机等 128KB-128MB 终端设备开源;2021 年 4 月,面向内存 128MB-4GB 终端设备开源;2021 年 10 月,将面向 4GB 以上所有设备开源。


鸿蒙 OS 开源项目: https://www.openatom.org/openharmony


鸿蒙 OS 代码仓库: https://openharmony.gitee.com/


本文将进一步介绍鸿蒙 OS 的轻量级内核,包括其设计理念、做了哪些优化以及关键特性。本文由 InfoQ 整理自华为开发者大会 2020 技术论坛演讲《HarmonyOS 内核设计》,由华为消费者业务 OS 平台资深专家王米虎分享,内容未经本人确认。

HarmonyOS 轻量内核设计理念

华为很早就推出了面向物联网领域开发的轻量级操作系统 LiteOS,这个系统可以很好地支撑小芯片,但是要支撑更多复杂的上层应用框架和服务,还需要对其内核做大量的改进。


纵观 IoT 产品的发展趋势,硬件能力变得越来越强大,功能也越来越丰富。早前的 IoT 硬件功能比较简单,只需要跑在 M 核上,再加一些简单的协议就可以了,内核大小通常只有几十 KB 级别;后面出现了摄像头等新设备,需要跑在 A 核处理器上,支持少量 AI 功能,内核之上的组件越来越丰富;到近几年,很多设备都配备有屏幕,给系统内核带来了比较大的需求改变,只有内核已经无法满足需求,上面还需要有应用、UI、图形界面、多媒体。在这种挑战下,内核应该怎么做?



目前业界 IoT 设备有几种比较典型的解决方案。在资源受限的场景下,一般采用的是 RTOS 方案,好处是内存占用小、启动速度快、实时性高;但缺点也很明显,首先 RTOS 系统生态不够完善,驱动核第三方库比较复杂,移植工作量很大,另外,RTOS 应用和内核不能隔离,都在统一的内存地址空间,应用代码引起的系统异常会挂死在内核,导致应用开发和产品开发无法解耦。如果基于 RTOS 方案开发 Harmony OS 的内核,上述问题都会给研发团队带来比较大的困难,并且也提高了支撑解决方案的技术人员的技术门槛。


业界另一个解决方案是基于 Linux 的方案,优点是驱动和三方库生态软件完善,移植适配也比较容易,而且应用与内核隔离,应用可以在自身独立空间中运行,确保不同应用间安全、稳定,可支撑复杂交互体验设备开发;缺点是内存占用大、启动速度慢、实时性偏弱。


而华为 Harmony OS 的轻量内核设计目标是要同时实现类 Linux 的开发体验和 RTOS 的运行效果,主要从以下三个维度来做:



首先在上层增加了 POSIX 标准库,支撑比较丰富的 API(目前已经支持 1000 多个 POSIX 接口),以使生态软件可以比较方便地移植到 Harmony OS 上;其次是内核机制增强,增加了多进程、虚拟内存,希望生态应用能够跟内核区分开来,应用挂掉之后只会挂在它的用户态,而不会影响其他应用,也会相对安全,后来又增加了动态链接,开发者拿到对应的编译工具链之后就可以在 Linux 上编译出标准的 ELF 文件,然后直接在 Harmony OS 上运行,给开发体验带来了很大的差异;最后是底层设计了 HDF 统一驱动框架,以实现一次开发跨设备、跨系统驱动共享。


HarmonyOS 轻量内核关键特性

多进程

从系统的角度看,进程是资源管理单元。OpenHarmony 内核的进程模块可以给用户提供多个进程,实现进程之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。


OpenHarmony 内核中的进程采用抢占式调度机制,支持时间片轮转调度方式和 FIFO 调度机制。OpenHarmony 内核的进程一共有 32 个优先级(0-31),用户进程可配置的优先级有 22 个(10-31),最高优先级为 10,最低优先级为 31。高优先级的进程可抢占低优先级进程,低优先级进程必须在高优先级进程阻塞或结束后才能得到调度。每一个用户态进程均拥有自己独立的进程空间,相互之间不可见,实现进程间隔离。用户态根进程 Init 由内核态创建,其它用户态进程均由 Init 进程 fork 而来。


多核

目前 Harmony OS 在支持多核的同时也支持把任务分发到不同 CPU 上面去,不过还没有做很复杂的负载均衡,因为在 IoT 设备上目前看不是很有必要,后面可以再做扩展。


虚拟内存

虚拟内存主要是为了配合多进程来做到应用之间的隔离,支持用户态内存通过缺页异常按需分配。物理内存采用的是经典的管理方式,内核态地址空间是 1-4G,用户态内核空间是 0-1G,从而减少用户态进程页表项。内核采用静态映射,提升虚实转化效率。


动态链接

Harmony OS 的动态链接特征包括:


  • 按需加载:多应用共享代码段,加载最小单元为页;

  • 符号绑定:支持立即和延迟绑定;

  • 加载地址随机化:进程代码段、数据段、堆栈段地址随机化。


权限管理

Harmony OS 为 IoT 设备引入了一个比较轻量级的权限管理,做到了进程级别的权限控制,只有授权的进程才可以访问系统资源。Disc 方面引入了用户组的概念,可以根据进程 uid 的配置灵活划分文件资源归属和管控。


文件系统

Harmony OS 文件系统采用的是目前业界比较通用的实现方式。



更多鸿蒙 OS 开发者文档,详见:


https://gitee.com/openharmony/docs


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2020-09-15 14:3422362
用户头像
蔡芳芳 InfoQ主编

发布了 778 篇内容, 共 489.1 次阅读, 收获喜欢 2745 次。

关注

评论 2 条评论

发布
用户头像
图片质量差
2020-09-16 12:51
回复
现场用手机拍的,尽力了……
2020-09-16 17:20
回复
没有更多了
发现更多内容

腾讯专有云TCE高分通过信通院“一云多芯”标准测试

Geek_2d6073

聚焦用户隐私安全,华为助力APP开发者守护个人信息安全

最新动态

如何避免财务共享流程设计不够落地导致实施初期重新设计的问题

用友BIP

智能财务 财务共享

影响LED显示屏价格的因素

Dylan

软件 硬件 价格 LED显示屏 led显示屏厂家

开箱即用!3个视频教你玩转华为云CodeArts Board!

华为云PaaS服务小智

云计算 软件开发 华为云

NFTScan | 08.28~09.03 NFT 市场热点汇总

NFT Research

NFT\

公众期待开放的自然语言处理神器

百度开发者中心

人工智能 ChatGPT 文心一言

你应该知道的几个大数据平台相关术语

行云管家

数据中台 数据安全 大数据平台

重新定义内容创作和教育的新范式

百度开发者中心

人工智能 文心一言 文心大模型‘

ClickHouse在腾讯游戏营销效果分析中的探索实践

腾讯云大数据

Clickhouse

龙智携手Atlassian和JFrog举办线下研讨会,探讨如何提升企业级开发效率与质量

龙智—DevSecOps解决方案

Atlassian JFrog

夏天不开车?沃尔沃XC40纯电版为你带来清凉与健康

新消费日报

入坑ThreadLocal,这一篇文章就够了

树上有只程序猿

Java ThreadLocal

Autodesk AutoCAD 2021 for mac(cad2021) v2021.1.2永久激活版

mac

苹果mac Windows软件 CAD设计软件 AutoCAD 2021

文心一言 VS 讯飞星火 VS chatgpt (86)-- 算法导论8.2 3题

福大大架构师每日一题

福大大架构师每日一题

做等保测评的公司有多少家?哪里可以查到?

行云管家

网络安全 等级保护 等保测评 等保测评机构 行云堡垒

引领未来,挑战与机遇并存

百度开发者中心

人工智能 图像识别 文心大模型

细数2019-2023年CWE TOP 25 数据,看软件缺陷的防护

华为云开发者联盟

安全 后端 华为云 华为云开发者联盟 企业号9月PK榜

程序员的五种实用工具

这我可不懂

工具 编码 代码库 RegExp

半导体行业竞争激烈,企业如何以解决方案制胜半导体市场?

龙智—DevSecOps解决方案

芯片 半导体 半导体行业

D&R IP-SoC China 2023 Day演讲预告 | 龙智Perforce专家解析芯片开发中的数字资产管理

龙智—DevSecOps解决方案

芯片 半导体

荣耀开发者沙龙 · 北京站 活动精彩回顾

荣耀开发者服务平台

开发者 互联网技术 互联网生态 安卓 ios honor

数仓资源管控理论已掌握,是时候实战了

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号9月PK榜

时尚行业的前沿与挑战

百度开发者中心

人工智能 ChatGPT 生成式AI 文心一言

华为鸿蒙OS轻量内核设计理念与关键特性_开源_蔡芳芳_InfoQ精选文章