鸿蒙是一个怎么样的操作系统,真的是安卓套壳吗?

从鸿蒙项目正式推出以来,就一直有各自声音,有看好的,认为鸿蒙的出现将会成为一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展;也有的人在唱衰,觉得鸿蒙发展不起来,甚至认为鸿蒙只是安卓的换皮、套壳。

那事实是怎么样的?鸿蒙与安卓之间是什么样的关系?

1.操作系统的发展历史,万物互联时代需要一个全新的操作系统

整个操作系统的发展大致经历了3个时代:

**(1)PC时代:**主要以计算机为主,用户规模从1970年的10亿增长到1990年的30亿。这一时代诞生了Windows、Linux、MacOS等操作系统。由于Windows操作系统的广泛应用部署,微软于20世纪90年代成为全球市值最高的公司。

**(2)移动互联网时代:**随着智能手机的普及,操作系统正式进入了移动互联网时代,苹果推出了IOS操作系统,支撑苹果成为全球市值最高的科技公司;谷歌2005年收购了Android公司,并持续地进行研发投入和版本迭代,如今Android操作系统已经成为了世界上发行量最大的移动智能操作系统。

**(3)万物互联时代:**随着越来越多的设备接入接入互联网,单一操作系统很难适应多样化的智能终端、各种复杂的应用场景的需求。谷歌、华为等各大企业纷纷进入物联网操作系统领域,并持续加大这方面的投入。

谷歌从2016年开始研发基于Zircon微内核的Fuchsia操作系统,可以取代为移动设备设计的 Android,计划用于个人移动设备、IoT设备等不同算力和需求的场景。

华为于2019发布了基于物联网的鸿蒙操作系统HarmonyOS,随后于2020年正式发布了开源版本,也就是OpenHarmony,面向全场景、全连接,适用于各类智能设备。

2.鸿蒙发展历史

2012年,华为总裁任正非表示:”华为做终端操作系统是处于战略的考虑”,鸿蒙操作系统的概念首次出现在大众视野。

2016年5月,鸿蒙正式在华为公司的软件部内部立项并开始投入研发。

2019年8月9号,华为正式发布了HarmonyOS 1.0,该系统率先部署在智慧屏上。

2020年9月10日,华为在HDC大会上发布HarmonyOS 2.0。该版主要包含三个方面做出重大提升:分布式的软总线、分布式的数据管理以及分布式的安全。

同年6月,由工信部牵头的开放原子开源基金会正式成立,也是国内首个开源软件基金会。华为将HarmonyOS2.0中的基础能力部分开源出来,并捐赠给开放原子开源基金会,正式成立了OpenHarmony开源项目。

2023年4月,OpenHarmony发布了3.2Release版本,全面支持复杂标准带屏设备。
在这里插入图片描述

此外,在2023年6月,OpenHarmony发布了4.0Beta版本,ArkUI进一步完善组件能力和效果,并提供首批API Level 10接口。正式的4.0Release版本则预估在2023年9月或者2024年发布。

3.鸿蒙、HarmonyOS、OpenHarmony三者关系

从某种意义上来说,鸿蒙包括HarmonyOS和OpenHarmony。

2016 年 5 月,华为消费者 BG 软件部开始立项研发“分布式操作系统 1.0 版本”,这就是鸿蒙系统的雏形。

考虑到华为设备的现有数量和鸿蒙系统初期软件生态的不完善,华为鸿蒙系统技术上兼容Android应用,同时集成了华为自身的能力,包括HMS等,形成了一个可以在华为手机、智慧屏、平板等设备上运行的操作系统,也就是HarmonyOS,该系统不开源。

随着华为开源战略的布局,为确保鸿蒙系统能有一个良好的生态,吸纳更多共建参与,华为将鸿蒙系统的基础能力部分开源出来,开源部分也就是OpenHarmony。该部分为华为自研项目,不兼容Android生态。

所以,一般OpenHarmony指开源鸿蒙,HarmonyOS指华为闭源鸿蒙,两者在应用框架上都采用ArkUI开发框架,应用开发上互相兼容。

随着OpenHarmony生态的完善,OpenHarmony会逐步替代HarmonyOS,最终形成一个统一开源鸿蒙的生态。

4.鸿蒙是安卓套壳吗?

前面提到鸿蒙系统,或者说HarmonyOS为了解决前期软件生态的不完善、没有足够多的应用的问题,所以从技术上兼容Android应用。但是HarmonyOS能跑安卓应用并不能说明HarmonyOS是套壳安卓

我们可以以一棵树来做类别,鸿蒙的技术底座是基于OpenHarmony,这是鸿蒙这棵树的根、也是躯干。

鸿蒙这棵树要长出鸿蒙果实,需要土壤、需要一定时间的培育。而在这之前,我们需要马上可以食用的果实(大量的应用),怎么办?

于是,华为在鸿蒙这一颗树上,采用嫁接技术嫁接了安卓的一些枝干,从而能在鸿蒙这棵树上长出安卓的果实(支持安卓应用)。

但是,我们回过头来看,鸿蒙这一颗树的根、躯干都是OpenHarmony、上面也逐渐长出鸿蒙的果实。虽然它现在某些枝干上采用了嫁接技术长出了安卓的果实,但是不能说这棵树是安卓

据悉、华为明年将会发布HarmonyOS NEXT版本,该版本将会砍去所有安卓的枝干,不再技术上兼容安卓。

到时,我们可以看到鸿蒙之树将结出丰硕之果!

5.OpenHarmony与Android的对比

Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

在系统架构设计之初,OpenHarmony定位就不是Android的替代品,OpenHarmony的目标是构建一个面向万物互联时代的分布式操作系统,与Android并非同一个赛道。

两者在系统架构设计上比较相似,不过OpenHarmony在传统的系统架构上新增了分布式相关能力,如图所示。

在这里插入图片描述

可以看到,OpenHarmony有着自己一套的架构设计和实现,从开发语言、运行时、应用框架等都不同于Android,两者是完全不同的操作系统。

(1)内核对比

Android:基于 Linux 内核,程序的安全性、网络协议、内存管理、进程管理、驱动程序都由 Linux 内核所提供。另外,Android Runtime(ART)就是依靠 Linux 内核来执行底层功能的,其中包括线程和低层内存管理。

OpenHarmony:采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

(2)运行时对比

Android Runtime (ART) 是 Android 上的应用和部分系统服务使用的托管式运行时。ART 及其前身 Dalvik 最初是专为 Android 项目打造的。作为运行时的 ART 可执行 Dalvik 可执行文件并遵循 Dex 字节码规范。

方舟eTS运行时是OpenHarmony上默认的ArkTS语言运行时,提供完备的C++交互ArkTS NAPI和各种高性能的垃圾回收器,驱动着万物互联时代的OpenHarmony应用程序。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM预训练大型语言模型Pre-training large language models

在上一个视频中,您被介绍到了生成性AI项目的生命周期。 如您所见,在您开始启动您的生成性AI应用的有趣部分之前,有几个步骤需要完成。一旦您确定了您的用例范围,并确定了您需要LLM在您的应用程序中的工作方式,您的下…

设计模式第九讲:常见重构技巧 - 去除不必要的!=

设计模式第九讲:常见重构技巧 - 去除不必要的! 项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?本文是设计模式第九讲,讲解常见重构技巧:去除不必要的! 文章目录…

关于disriminative 和 generative这两种模型

但是,其实,根据李宏毅老师讲到的,generative model是做了一些假设的,比如,如果使用Naive Bayes的话,不同特征x1,x2...之间相互独立的话,其实是很容易出现较大的偏差的,因为不同特征变…

持续集成与持续交付:现代软件测试的变革之路

引言 在数字化时代,软件开发的速度和复杂性都在不断增加。为了满足市场的需求,企业需要更快、更高效地交付高质量的软件产品。在这样的背景下,持续集成与持续交付(CI/CD)成为了软件开发和测试的核心实践。 软件开发的…

微信小程序 基于Android的美容理发师预约管理系统

,本系统主要根据管理员、用户及理发师的实际需要,方便用户利用互联网实现对商品信息进行立即订购,同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便用户、理发师可以有一个非常好的平台体验&…

美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?

周末的时候,有一位小伙伴提了一些关于 ConcurrentHashMap 的问题,都是他最近面试遇到的。原提问如下(星球原贴地址:https://t.zsxq.com/11jcuezQs ): 整个提问看着非常复杂,其实归纳来说就是两个问题: ConcurrentHashMap 为什么 key 和 value 不能为 null?ConcurrentH…

LeetCode面试经典150题(day 1)

LeetCode是一个免费刷题的一个网站,想要通过笔试的小伙伴可以每天坚持刷两道算法题。 接下来,每天我将更新LeetCode面试经典150题的其中两道算法题,一边巩固自己,一遍希望能帮助到有需要的小伙伴。 88.合并两个有序数组 给你两个…

Java接收json参数

JSON 并不是唯一能够实现在互联网中传输数据的方式,除此之外还有一种 XML 格式。JSON 和 XML 能够执行许多相同的任务,那么我们为什么要使用 JSON,而不是 XML 呢? 之所以使用 JSON,最主要的原因是 JavaScript。众所周知…

单例模式的相关知识

饿汉模式 package Thread; class Singleton{private static Singleton instance new Singleton();public static Singleton getInstance(){return instance;}private Singleton(){} }public class demo1 {public static void main(String[] args) {Singleton S1 Singleton.ge…

什么是字体图标(Icon Font)?如何在网页中使用字体图标?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 字体图标(Icon Font)⭐ 如何在网页中使用字体图标⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&a…

时空数据挖掘精选23篇论文解析【AAAI 2023】

今天和大家分享时空数据挖掘方向的资料。 时空数据挖掘是人工智能技术的重要分支,是一种采用人工智能和大数据技术对城市时空数据进行分析与挖掘的方法,旨在挖掘时空数据,理解城市本质,解决城市问题。 目前,时空数据…

windows下Mysql安装配置教程

Mysql下载 在官网下载mysql community Server https://dev.mysql.com/downloads/mysql/ 可以选择下载压缩包或者MSI安装程序 使用压缩包安装 MySQL 压缩包安装通常需要以下步骤: 1. 下载 MySQL 安装包 你可以从 MySQL 官网上下载适合你系统的 MySQL 安装包&am…

裸露土堆识别算法

裸露土堆识别算法首先利用图像处理技术,提取出图像中的土堆区域。裸露土堆识别算法首通过计算土堆中被绿色防尘网覆盖的比例,判断土堆是否裸露。若超过40%的土堆没有被绿色防尘网覆盖,则视为裸露土堆。当我们谈起计算机视觉时,首先…

StableVideo:使用Stable Diffusion生成连续无闪烁的视频

使用Stable Diffusion生成视频一直是人们的研究目标,但是我们遇到的最大问题是视频帧和帧之间的闪烁,但是最新的论文则着力解决这个问题。 本文总结了Chai等人的论文《StableVideo: Text-driven consistency -aware Diffusion Video Editing》&#xff…

民族传统文化分享系统uniapp 微信小程序

管理员、用户可通过Android系统手机打开系统,注册登录后可进行管理员后端;首页、个人中心、用户管理、知识分类管理、知识资源管理、用户分享管理、意见反馈、系统管理,用户前端;首页、知识资源、用户分享、我的等。 本系统的使用…

DiskCatalogMaker for Mac简单智能快速的磁盘管理工具

DiskCatalogMaker是一款Mac上的磁盘目录管理工具。它可以帮助用户快速创建和管理磁盘目录,方便查找和访问存储在磁盘上的文件和文件夹。它具有快速扫描和索引功能,生成详细的目录列表,支持关键字搜索和自定义标签。 此外,DiskCat…

Go 切片

切片 一、切片(slice)概念 在讲解切片(slice)之前,大家思考一下数组有什么问题? 数组定义完,长度是固定的。例如: var num [5]int [5]int{1,2,3,4,5}定义的num数组长度是5&#…

taro react/vue h5 中的上传input onchange 值得区别

<inputclassNamebase-input-file-h5typefileacceptimage/*capturecameraonChange{onChangeInput} />1、taro3react 2、taro3vue3

javaee idea创建maven项目,使用el和jstl

如果使用el表达式出现下图问题 解决办法 这是因为maven创建项目时&#xff0c;web.xml头部声明默认是2.3&#xff0c;这个默认jsp关闭el表达式 办法1 在每个需要用到el和jstl的页面的上面加一句: <% page isELIgnored"false" %> 方法2 修改web.xml文件开…

回归预测 | MATLAB实现CSO-ELM布谷鸟算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现CSO-ELM布谷鸟算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现CSO-ELM布谷鸟算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介…