华为鸿蒙操作系统简介及系统架构分析(1)

本文部分内容参考:

鸿蒙系统学习笔记(一) 鸿蒙系统介绍

特此致谢。

一、简介及历史

1. 简介

鸿蒙操作系统(HarmonyOS)是华为公司研制的一款自主版权的操作系统。2019年8月9日,鸿蒙系统在华为开发者大会<HDC.2019>上正式发布,华为会率先部署在智慧屏、车载终端、穿戴等智能终端上,未来会有越来越多的智能设备使用开源的鸿蒙OS。HarmonyOS是一款基于微内核的“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备的能力。

HarmonyOS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构:第一层是内核,第二层是基础服务,第三层是程序框架 。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。HarmonyOS底层由鸿蒙微内核、Linux内核、Lite OS组成,未来将发展为完全的鸿蒙微内核架构。

  • 消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验
  • 应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用
  • 设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求

2. 发展历程

  • [2012] 2012年华为开始在上海交通大学规划“鸿蒙”操作系统。
  • [2019] 华为已经对100万部搭载有自研“鸿蒙”操作系统的手机进行了测试。
  • [2019.5.17] 华为操作系统团队开发了其自主产权的“鸿蒙操作系统”。
  • [2019.5.24] 注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。
  • [2019.8.9] 华为官方发布“鸿蒙操作系统”,并且宣布“鸿蒙操作系统”将开源。

二、系统特点

1. 分布架构

分布式架构首次用于终端OS,实现跨终端无缝协同体验。HarmonyOS的“分布式OS架构”和“分布式软总线技术”通过公共通信平台分布式数据管理分布式能力调度虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。

2. 低延时+高性能IPC技术实现系统天生流畅

HarmonyOS通过使用确定时延引擎高性能IPC两大技术解决现有系统性能不足的问题。确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使IPC(进程间通信)性能大大提高,进程通信效率较现有系统提升5倍。

3. 基于微内核架构重塑终端设备可信安全

HarmonyOS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。

HarmonyOS将微内核技术应用于可信执行环境(TEE),通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。传统验证方法如功能验证,模拟攻击等只能在选择的有限场景进行验证,而形式化方法可通过数据模型验证所有软件运行路径。 鸿蒙OS首次将形式化方法用于终端TEE,显著提升安全等级。同时由于鸿蒙OS微内核的代码量只有Linux宏内核的千分之一,其受攻击几率也大幅降低。

4. 通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享

HarmonyOS凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。华为方舟编译器是首个取代Android虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器未来将支持多语言统一编译,可大幅提高开发效率。

三、系统构成与层次架构

鸿蒙操作系统的构成包括:安卓开放平台的开源代码 - GMS - 安卓UI + HMS + 鸿蒙UI + 分布式软总线 + 以Ability为核心的应用开发框架。鸿蒙操作系统解决了设备与设备之间的连接问题,通过软总线将设备连接在一起。在应用开发时,只需要写很少的代码就可以调用第三方设备,使得设备之间的连接更加方便。从使用者的角度来看,华为鸿蒙操作系统将手机变成了一个超控控制终端,可以调用手机本身的硬件和外部的硬件,实现更多的功能。

HarmonyOS整体采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统” -> “子系统” -> “功能 / 模块”逐级展开。在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。鸿蒙操作系统的层次化架构如下图所示:

更多内容请看下回。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/270481.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型:未来科技的新篇章

目录 1AI大模型&#xff1a;未来科技的新篇章 2AI超越数学家攻克经典数学难题&#xff1b;非侵入式设备解码大脑思维 1AI大模型&#xff1a;未来科技的新篇章 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经成为了我们生活中不可或缺的一部分。而AI大…

图解机器学习神器:Scikit-Learn

算法进阶 ​​本文详解 Scikit-learn 工具库的用法&#xff0c;覆盖机器学习基础知识、SKLearn讲解、SKLearn三大核心API、SKLearn高级API等内容。 https://www.showmeai.tech/article-detail/203 我们在上一篇SKLearn入门与简单应用案例 [1] 里给大家讲到了 SKLearn 工具的基…

docker的一些思考

1.docker是啥&#xff1f; 2.镜像执行流程 3.一些疑惑和解答 1. 2.

【Jmeter、postman、python 三大主流技术如何操作数据库?】

前言 1、前言 只要是做测试工作的&#xff0c;必然会接触到数据库&#xff0c;数据库在工作中的主要应用场景包括但不限于以下&#xff1a; 功能测试中&#xff0c;涉及数据展示功能&#xff0c;需查库校验数据正确及完整性&#xff1b;例如商品搜索功能 自动化测试或性能测试…

Python中assert的用法

assert翻译成中文是“断言”的意思&#xff0c;用于判断一个表达式&#xff0c;在表达式条件为 false 的时候触发异常。断言可以在条件不满足程序运行的情况下直接返回错误&#xff0c;而不必等待程序运行后出现崩溃的情况&#xff0c;例如我们的代码只能在 Linux(Windows) 系统…

Pycharm的码云代码上传、下载步骤

前提&#xff1a;本地已经安装 git 安装包才行 注意注意&#xff1a;避免少出现 冲突&#xff1a;建议&#xff0c;先 pull &#xff0c;再 push。 下载&#xff1a; 上传&#xff1a;

〖Python网络爬虫实战㊹〗- JavaScript Hook 的用法

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

MicroPython的中断处理

本文会简单介绍中断的基本原理&#xff0c;对MicroPython在处理中断时的一些机制和问题进行阐述&#xff0c;并对实时控制中断编程做简单的介绍。 中断 什么是中断&#xff1f; 中断是计算机系统中非常重要的一种机制&#xff0c;简单的说就是当有I/O或其它因素发出中断信号…

C++书籍推荐(持续更新...)

目录 新手C Primer Plus 初级数据结构算法设计与分析 中级C Core GuidelinesEffective CMore Effective C 高级C并发编程实战C Templates 专家C新经典 设计模式 大师计算之魂 神级传说 新手 完全适合小白的书籍 C Primer Plus 《C Primer Plus》这本书是一本深入浅出的C/C编程指…

openGauss学习笔记-173 openGauss 数据库运维-备份与恢复-导入数据-对表执行VACUUM

文章目录 openGauss学习笔记-173 openGauss 数据库运维-备份与恢复-导入数据-对表执行VACUUM openGauss学习笔记-173 openGauss 数据库运维-备份与恢复-导入数据-对表执行VACUUM 如果导入过程中&#xff0c;进行了大量的更新或删除行时&#xff0c;应运行VACUUM FULL命令&…

AI 引擎系列 8 - 运行时比率参数简介

简介 在 Versal AI 引擎 2 一文 中&#xff0c;我们注意到计算图 (graph) 文件中有一行内容用于为每个内核实例定义运行时比率参数。 在本文中&#xff0c;我们将讲解该参数如何影响 AI 引擎应用的资源使用率和性能。 要求 下文要求您通读前几篇 AI 引擎系列博文。 AI 引擎系…

2023/12/25日作业

串口通信 成果图 头文件uart4.h #ifndef __UART4_H__ #define __UART4_H__ #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h" //灯初始化 void led_init(); //灯1 void led_1_on(); void led_…

vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)

下载安装HBuilder X编辑器 https://www.dcloud.io/hbuilderx.html 新建 5APP 项目 打开 HBuilder X&#xff0c;新建项目 此处项目名以 ‘test’ 为例 含跨域代理的vue项目改造 若 vue 项目中含跨域代理&#xff0c;如 vue.config.js module.exports {publicPath: "./&…

C语言中关于if else的理解

if else我们可以理解为 if(条件1) //如果条件1成立 语句1&#xff1b; //执行语句1 else //如果条件1不成立 语句2; //执行语句2 这是一个经典的if els…

智慧幼儿园视频监管方案及实施建议:AI智能技术构建新引擎

一、背景需求 随着科技的快速发展&#xff0c;智慧化监管已成为幼儿园管理的重要趋势。智慧幼儿园监管解决方案通过引入先进的技术手段&#xff0c;提高幼儿园的管理效率&#xff0c;保障幼儿的安全与健康&#xff0c;为家长提供更便捷的服务。为了保障幼儿的安全&#xff0c;…

使用TLS/SSL Pinning保护安卓应用程序

使用TLS/SSL Pinning保护安卓应用程序 在现代术语中&#xff0c;“SSL”&#xff08;安全套接层&#xff09;通常指的是“TLS”&#xff08;传输层安全&#xff09;。虽然 SSL 和 TLS 不是同一个东西&#xff0c;但 TLS 是 SSL 的改进和更安全的版本&#xff0c;并且在实践中已…

git命令和docker命令

1、git git是分布式的版本控制工具 git可以通过本地仓库管理文件的历史版本记录 # 本地仓库操作的命令 # 初始化本地库 git init # 添加文件到暂存区 git add . git checkout 暂存区要撤销的文件名称 # 提交暂存区文件 git commit -m 注释# 版本穿梭 # 查看提交记录 git log…

SOLIDWORKS Plastics基础功能详解(二)

浇口顾问 浇口顾问可迭代确定填充型腔所需的最佳注塑位置数量&#xff08;最多 10 个&#xff09;。 位置数量的默认值为自动&#xff0c;这将激活用于查找最佳注塑位置数量的迭代方法。要指定注塑位置的自定义数量&#xff0c;请选择用户定义。 具有压力相关粘度的材料 填充和…

走向边缘智能,美格智能携手阿加犀成功在高算力AI模组上运行一系列大语言模型

近日&#xff0c;美格智能发挥软硬件一体协同开发能力&#xff0c;融合阿加犀卓越的AI优化部署技术&#xff0c;在搭载高通QCS8550平台的高算力AI模组上&#xff0c;成功运行了一系列大语言模型&#xff0c;包括LLaMA-2、通义千问Qwen、百川大模型、RedPajama、ChatGLM2、Vicun…

Linux驱动

字符设备驱动模型 在字符设备中使用struct cdev这种结构来描述设备。 应用程序&#xff1a;读写文件&#xff0c;点灯&#xff1b;获取按键。用一些接口调用驱动程序去实现一些引用。 open这些函数&#xff0c;是C库实现的。从而进入内核&#xff0c;C库怎么进入内核&#xf…