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

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

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

宏内核与微内核

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

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

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

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

在这里插入图片描述

在这里插入图片描述

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

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

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

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

在这里插入图片描述

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

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

2、鸿蒙OS结构细节

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

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

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

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

在这里插入图片描述

3、方舟编译器

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

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

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

鸿蒙开发的三种方式

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

1、使用ArkTS声明式;

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

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

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

在这里插入图片描述

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Snort是一种开源的入侵检测系统,用于监控网络流量并检测潜在的入侵行为。它广泛应用于保护各类网络环境的安全。 Snort具有以下几个主要的技术特点: 1. 网络嗅探技术:Snort使用网络嗅探技术来获取经过网络接口的数据包。它可以在网络链路上监听传输的数据,并根据预先定义的规则对数据包进行分析,以便及时检测和响应入侵行为。 2. 规则引擎:Snort依赖于强大的规则引擎来检测入侵行为。用户可以根据自己的需求编写自定义规则,这些规则定义了入侵事件的特征或模式。Snort会根据规则库的规则对经过的数据包进行匹配,一旦匹配到某个规则,就会触发报警。 3. 数据分析和日志记录:Snort能够对抓取到的数据包进行深入分析,并将分析结果记录到日志文件中,以供后续的审计和分析。这些日志包括警报信息、攻击类型和其他相关信息,可以提供给安全管理员进行分析和决策。 4. 灵活性和可扩展性:Snort具有很高的灵活性和可扩展性,可以根据需求进行定制和配置。它支持多种类型的规则和插件,用户可以根据自己的需要选择适合的规则和插件。此外,Snort还可以与其他安全工具进行集成,如防火墙和SIEM系统,以提高整体的安全防护能力。 综上所述,Snort作为一种开源入侵检测系统,利用网络嗅探技术、规则引擎、数据分析和灵活的配置等技术特点,可以有效地检测和响应网络中的入侵行为。它在网络安全领域具有广泛的应用价值,为用户提供了一个强大、灵活且可扩展的安全防护解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值