当前位置: 首页 > news >正文

【HarmonyOS】鸿蒙操作系统架构

HarmonyOS架构

  • 一. 鸿蒙系统定位
  • 二. 架构整体遵从分层设计
  • 三. HarmonyOS具有的技术特性
  • 四. HarmonyOS有三大特征

在这里插入图片描述

其它相关推荐:
软考系统架构之案例篇(架构设计相关概念)
系统架构之微服务架构
系统架构设计之微内核架构

所属专栏:系统架构设计师

一. 鸿蒙系统定位

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。

在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR眼镜等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。

二. 架构整体遵从分层设计

鸿蒙(HarmonyOS)整体采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层。

HarmonyOS技术架构如下所示:
在这里插入图片描述

  • 内核层:鸿蒙系统分为内核子系统驱动子系统。在内核子系统中鸿蒙系统采用多内核设计,支持针对不同资源受限设备选用合适的OS内核;鸿蒙系统驱动框架是鸿蒙系统硬件生态开放的基础,它提供统一外设访问能力和驱动开发、管理框架。

  内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。

  内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

  驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

  • 系统服务层:系统服务层是鸿蒙系统的核心能力集合,通过框架层对应用程序提供服务。包含了系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统四个部分。

  • 应用框架层:框架层为鸿蒙系统应用程序提供 Java/C/C++/JS等多语言用户程序框架和Ability框架,及各种软硬件服务对外开放的多语言框架 API,也为搭载鸿蒙系统的电子设备提供C/C++/JS等多语言框架API。
    加粗样式

  • 应用层:应用层包括系统应用和第三方非系统应用,鸿蒙系统应用由一个或多个FA或PA组成。

三. HarmonyOS具有的技术特性

  1. 分布式架构首次用于终端OS,实现跨终端无缝协同体验
    Harmony OS 的“分布式OS架构”具有分布式软总线、分布式数据管理、分布式任务调度和虚拟外设等4大能力,将相应分布式应用的底层技术实现难点对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
  2. 确定时延引擎和高性能IPC 技术实现系统天生流畅
    确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使 IPC (进程间通信)性能大大提高,进程通信效率较现有系统提升5倍。
  3. 基于微内核架构重塑终端设备可信安全
    关于微内核架构的介绍可参考:https://blog.csdn.net/qq_41273999/article/details/133957987
    Harmony OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。
    Harmony OS架构的系统安全性主要体现在搭载HarmonyOS的分布式终端上,可以保证"正确的人,通过正确的设备,正确地使用数据"。这里通过“分布式多端协同身份认证”来保证“正确的人”,通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”,通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据”。
  4. 通过统一IDE 支撑一次开发,多端部署,实现跨终端生态共享

四. HarmonyOS有三大特征

  • 搭载该操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享。
    对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。

  • 面向开发者,实现一次开发,多端部署。
    对应用开发者而言,HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。

  • 一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。
    对设备开发者而言,HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。

后话:鸿蒙取名有什么含义

据中国神话传说,盘古开天辟地之前,世界是一团混沌的元气,这种自然的元气被称为鸿蒙。

庄子的《在宥》中,“鸿蒙”是一个神仙,是一个创造天地元气的古神。但是在其他神话传说中,“鸿蒙”二字有了更加丰富的内涵。在后世的神话传说中,“鸿蒙”二字引申为一个上古时期,或者说是天地开辟之前的混沌时期。从此可以看出华为在申请这个商标时的追求。

所以从整个历史的角度来看,“鸿蒙”可以说是天地之始,是世界太元之初。鸿蒙孕育着一切,是一切美好的开端,是创世万物的源头。因此,华为将自己的操作系统命名为“鸿蒙”,正寓意着自主研发、开创新时代、成为源头的美好信念。

华为敢为天下先,敢于开拓天地。他们凭借着“鸿蒙”,以自己的信念和创新精神,成为了科技界的领先者。当然,华为的“鸿蒙”也不仅仅是一个名字,它蕴含着公司的理念和文化,代表着华为在技术领域的进步和创新。可以说,“鸿蒙”不仅仅是华为的操作系统,更是一个符号,一个时代的象征。它代表着华为不畏艰难,勇于创新的精神,也代表着中国科技企业的崛起和成长。

参考HarmonyOS Developer:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/harmonyos-overview-0000000000011903

在这里插入图片描述

其它相关推荐:
软考系统架构之案例篇(架构设计相关概念)
系统架构之微服务架构
系统架构设计之微内核架构

所属专栏:系统架构设计师

相关文章:

  • 【设计模式】第6节:创建型模式之“原型模式”
  • C#中GUID的五种格式化输出
  • python发送企业微信群webhook消息(文本、文件)
  • 我应该删除低质量页面以提高Google排名吗?
  • k8s中label标签、deployment控制器、service、ipvs管理简介
  • Yuhan Blu-ray DVD Creator for Mac: 打造专属的高清视听盛宴
  • 功率放大器的种类和作用是什么
  • Gluster安装
  • cartographer去ros
  • org.springframework.cloud:spring-cloud-starter-openfeign:jar is missing详解
  • Spring MVC的常用注解(设置响应篇)
  • 3D网页游戏外包开发引擎
  • “排队领奖,购物狂欢!开启全新商业模式
  • Mybatis学习
  • springsecurity详解
  • #Java异常处理
  • Docker入门(二) - Dockerfile
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • iOS 颜色设置看我就够了
  • 高度不固定时垂直居中
  • 技术:超级实用的电脑小技巧
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 聊聊directory traversal attack
  • 写给高年级小学生看的《Bash 指南》
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​一些不规范的GTID使用场景
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #图像处理
  • $GOPATH/go.mod exists but should not goland
  • (6)添加vue-cookie
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (力扣)循环队列的实现与详解(C语言)
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (三)c52学习之旅-点亮LED灯
  • (算法)Travel Information Center
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)菜鸟学数据库(三)——存储过程
  • ***原理与防范
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • ..回顾17,展望18
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET 表达式计算:Expression Evaluator
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .Net中wcf服务生成及调用
  • [Android] 修改设备访问权限
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [Assignment] C++1
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [CDOJ 1343] 卿学姐失恋了