首页 > 其他分享 >关于鸿蒙系统开源和技术细节的一些探讨

关于鸿蒙系统开源和技术细节的一些探讨

时间:2024-01-25 18:15:20浏览次数:24  
标签:插件 鸿蒙 技术细节 编译器 开源 内核 微内核 子系统

1月18日在深圳举办了“鸿蒙生态千帆启航仪式”,这也是华为鸿蒙开启生态进阶的信号。在政策的叠加下,鸿蒙未来必定是势不可挡的。我们这些程序员也得与时俱进,熟悉鸿蒙的技术和细节,别在经济寒冬里被淘汰了。

官方称 Harmony OS NEXT开发者预览版将在2024年第一季度面向开发者开放。2024年9月,最新版的HarmonyOS将进入独立生态体系,不再兼容安卓应用。需要及时构建一套基于鸿蒙原生APP的服务,以保障鸿蒙用户的业务连续性。本文我们来聊聊鸿蒙的一些技术细节,也欢迎大家在评论区补充。

宏内核与微内核

先来聊聊内核,内核是操作系统内最基础的构件,因此内核的设计对于操作系统的外部特性也有着至关重要的影响。常见内核结构可以分为宏内核、微内核、混合内核、外内核等。

虽然鸿蒙与安卓都是基于Linnux开发的,区别在于安卓是基于宏内核结构设计,而鸿蒙是基于微内核结构设计。鸿蒙系统使用C和C++编写,不需要虚拟机这一中间过程(当然,过度期间是需要AOSP的),因此运行效率更高。

宏内核:存在历史最长内核,也在应用领域占据着主导地位,比如安卓。

微内核:较新内核结构,但是它拥有着众多宏内核不具有的优良特性,因此被华为选用。

 

 

1、鸿蒙技术细节:微内核架构

由于鸿蒙是微内核架构,我们来着重关注一下微内核架构的组成。

微内核架构包含两类组件:核心系统和插件模块。核心系统负责通用功能,不因为业务的变化而变化;插件模块负责实现具体的业务,可以根据业务的变化而改动和扩展。

微内核架构模式可以将其他应用程序的功能作为插件添加到核心应用程序,从而提供应用的可扩展性、功能分离性和独立性。

 

微内核架构通常具有以下特征:

  • 整体敏捷度高。整体敏捷度是对不断变化的环境做出快速响应的能力。通过松散耦合的插件模块,可以很大程度上隔离并快速实现更改。
  • 易部署。根据模式的实现方式,可以在运行时将插件模块动态添加到核心系统,从而最大程度减少部署期间的停机时间。
  • 可测性高。插件模块可以单独进行测试,并且可以由核心系统轻松模拟,以演示或原始化特定功能,而对核心系统的更改很少或没有更改。
  • 功能表现优秀。虽然微内核架构模式无法自然地适用于高性能应用程序,但大多数使用微内核架构模式构建的应用程序都表现良好,因为可以自定义和简化应用程序以包含仅仅所需的功能。
  • 可扩展性强。根据实现插件模块方式,可以在插件功能级别提供可扩展性。不易开发。微内核架构需要周全的设计和协议治理,实施相当复杂。

2、鸿蒙OS结构细节

内核层:内核层包含内核子系统和驱动子系统。鸿蒙OS具有多个内核,针对不同的设备可以选择不同的内核,通过内核抽象层可以将底层的不同内核之间的差异屏蔽,并对上层提供统一的接口。驱动子系统负责提供统一的外设访问接口,以及负责驱动开发和管理框架。

系统服务层:该层包括四个子系统集

  1. 系统基本能力子系统集可以使分布式应用在多设备上运行、调度和迁移。
  2. 基础软件服务子系统集可以提供基础的通用软件服务。
  3. 增强软件服务子系统集可以针对不同的设备提供差异化的软件服务。
  4. 硬件服务子系统集提供硬件服务,如位置定位、指纹设别等。根据部署环境的不同,除基本能力子系统集以外的子系统集内部可以进行剪裁。

应用层:该层包括系统应用和第三方开发的非系统应用。

框架层:该层提供了Ability框架、UI框架和用户程序框架等。

 

3、方舟编译器 

微内核和方舟编译器是鸿蒙系统中的两大核心。方舟编译器可以方便安卓APP移植到鸿蒙系统。

方舟编译器是华为自主研发的编译器平台,它将以前边解释边执行的低效运行方式转变为将Java、C、C++等代码一次编译成机器码的高效运行方式,同时也实现了多语言的统一。

华为官方数据说,方舟编译器能提升24%的操作系统流畅度、44%的系统响应能力和60%的三方应用操作流畅度。当然具体编译器是不是如官方说的那样流畅还是得实践检验的。

鸿蒙开发的三种方式

对于我们这些普通的程序员来说,鸿蒙系统发布并不会给公司带来增量的客户和业绩增长,但是对于公司和团队来说鸿蒙系统的迁移和搭建必然是一笔巨大的投入。现阶段团队都在寻求快速搭建一个鸿蒙APP 的方案。 目前我们团队调研了三种开发模式:

1、使用ArkTS声明式;

2、前端HTML+CSS+JS的方式,类似vue+小程序的混合语法;

3、拖拖拽拽低代码的形式创建页面或应用。

在上周的会议上,我们预计会选择第二种方案。因为无论在什么操作系统平台、什么技术体系下,HTML5及其延伸技术:例如FinClip小程序技术,永远是兼容性最好、开放程度最高、敏捷性最强的选择。在很多企业服务场景、企业IT现实条件下,也是更好的选择,例如比Flutter更容易掌握、运行风险更低、稳定性更强,同时也可以与Flutter或其他操作系统原生技术融合。下周有时间单独开一篇讲讲这三种鸿蒙开发模式。

标签:插件,鸿蒙,技术细节,编译器,开源,内核,微内核,子系统
From: https://www.cnblogs.com/finbird/p/17987805

相关文章

  • 纯血鸿蒙来了,企业开发者应该关注什么
    2024年对于鸿蒙来说是一个里程碑,鸿蒙将正式对外发布HarmonyOSNEXT5.0,而此前传言的系统将不再对开发者层面兼容Android等消息将成为定论。为什么鸿蒙能有这个底气?因为研究机构TechInsights发布预测报告称,华为HarmonyOS将在2024年取代苹果iOS成为中国第二大智能手机操作系统。......
  • 鸿蒙OS 技术架构
    HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统>子系统>功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如[图1]所示。图1技术架构内核层内核子系统:Harmon......
  • Higress 开源一周年:新版本,新标准,新工具,新征程
    作者:Higress团队历程回顾Higress开源一年时间,一共发布了18个release版本,收获了40多位社区贡献者和1800+star,上图是这一年过来达成的一些关键的里程碑。前面半年通过集成开源生态,打磨开源版本稳定性,并在发布1.0GA版本后,社区又马不停蹄发布了1.1和1.2两个重要版本,实......
  • 2023 年精选:我们正在见证开源的终结吗?
    开源软件被誉为软件创建领域的开创性运动,已成为现代软件开发不可或缺的支柱。它通常被描述为民主化技术,使无数个人和组织能够协作和创新。然而,社区现在正处于一个关键时刻,有人猜测我们正在看到开源领域的衰退。为什么开源在现代软件开发中如此受欢迎?开源的核心在于协作的力量。与专......
  • 鸿蒙OS 技术特性
    硬件互助,资源共享分布式软总线分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发任务和传输数据。分布式软总线示意图见[图1]图1分布式软总线示意图点击放大分布式设备虚拟化分布式设备虚拟化平台可以实现不......
  • 游戏从业者眼中的鸿蒙:十四年一遇的新生态
    导语:三分天下有其一,游戏从业者眼里的鸿蒙是怎么样的?1月18日,“鸿蒙千帆启航仪式”在深圳举行,酝酿许久的“纯血鸿蒙”终于亮相。会上,华为宣布HarmonyOSNEXT鸿蒙星河版开发者预览面向开发者开放申请并公布鸿蒙生态最新进展,华为常务董事、终端BGCEO、智能汽车解决方案BU董事长余......
  • Higress 开源一周年:新版本,新标准,新工具,新征程
    作者:Higress团队历程回顾Higress开源一年时间,一共发布了18个release版本,收获了40多位社区贡献者和1800+star,上图是这一年过来达成的一些关键的里程碑。前面半年通过集成开源生态,打磨开源版本稳定性,并在发布1.0GA版本后,社区又马不停蹄发布了1.1和1.2两个重要......
  • 自动化测试平台【开源】
    序号名称功能说明界面链接1AutoMeter-API链接2QAWolf浏览器自动化测试工具QAWolf可帮助你以10倍的速度创建、运行和维护端到端的浏览器自动化测试。链接3Mimesis用于Python的高性能虚假数据生成器项目地址:链接安装:pipinstallmimesis......
  • SPA瑜伽普拉提私教线下课程预约课老师员工分销小程序开源版开发
    SPA瑜伽普拉提私教线下课程预约课老师员工分销小程序开源版开发开发功能介绍如下:瑜伽、普拉提、SPA等课程信息展示:展示各种课程的详细信息,包括课程名称、简介、时长、难度等,帮助用户了解课程内容。课程预约:用户可以通过小程序预约课程,选择适合自己的时间和日期,并支付课程费用。预约......
  • 初始 abp 开源框架-通过CMD命令创建项目--到果断放弃ABP
    打开官网:https://abp.io/get-started选则如下配置  根据黑色框内指令,创建项目 指令1dotnettoolinstall-gVolo.Abp.Cli指令2abpnewAcme.BookStore--tiered-csf 放弃理由:  ......