鸿蒙是linux内核吗,谈华为鸿蒙内核和操作系统-程序员宅基地

技术标签: 鸿蒙是linux内核吗  

作者|陆首群

出品 | COPU开源联盟(ID:COPU2004)

谈到华为自研鸿蒙内核和操作系统,从华为透漏出来的信息来看,有点自相矛盾、扑朔迷离!我曾说过:真真假假,虚虚实实!这里有技术原因,也有外部原因。

一开始(大概是 2016 年左右),华为的说法:其自研的首款操作系统是搭载物联网(IoT)的(这时要求操作系统小型化、实时性、响应快,采用微内核), 连任正非都坚持这个说法。

当时我就看出来,华为自研的操作系统其技术思路是仿效谷歌 Fuchsia 操作系统:微内核、跨平台的,华为叫微内核、多场景(加上分布式),后来(2019 年 3 月 10 日)余承东接受德国媒体 WELT 采访时的谈话证实了这一点。Fuchsia 开发周期计划是 2015~2020,华为起步晚一些,是 2016~2019(有意提前半年)。开始时 Fuchsia 搭载的硬件终端是 IoT,后来(2018)便把重点转向智能手机和桌面 PC,但这样的重负载给采用微内核带来很大困扰,而华为操作系统搭载的终端也从 IoT 变成多场景:1+8+N,实际上华为主攻的终端其重点应转向智能手机。

下面来谈谈华为的鸿蒙内核或鸿蒙操作系统:2020 年 4 月 18 日,华为轮值董事长徐直军说:“鸿蒙是一个内核的名字,不是操作系统”。这就是说:有鸿蒙内核(或者鸿蒙内核就是微内核),没有鸿蒙操作系统。徐直军同时说:“鸿蒙是基于 Linux 内核源内码开发的”,这就不能自圆其说了!如果理解为:鸿蒙操作系统(也可以是)基于 Linux 内核源代码开发的,这就可以说通了,但这时说 明鸿蒙操作系统还是有的。

2019 年 9 月 10 日华为发布鸿蒙 1.0(操作系统),定义为多内核(或混合内核),即①Linux 宏内核,②鸿蒙微内核,③LiteOS 的内核。

对华为发布鸿蒙 1.0 时这段话是否可理解为:

有鸿蒙内核,也有鸿蒙操作系统;

鸿蒙操作系统 1.0 版本是一个多内核的操作系统;

直到 2019 年 9 月 10 日,华为在开发含有微内核的操作系统没有把握时,华为定义鸿蒙操作系统为多内核操作系统,这时启动含有 Linux 宏内核的(鸿蒙)操作系统是比较有把握的,如此可避免鸿蒙操作系统配置微内核久呼不出的冏境!而徐直军随后所说的“鸿蒙(操作系统)是基于 Linux(宏)内核源代码开发的”也可理解了。

在鸿蒙 1.0 发布时,华为并提出 1+8+N 多场景应用,即以鸿蒙操作系统搭载 1+8+N 硬件终端设备运行,这里 1——手机,8——智慧屏、音响、眼镜、手表、车载、耳机、平板、PC,N——外设。

下面我们重点关注的是 1——手机:

2020 年 4 月 18 日华为发布鸿蒙 2.0(操作系统),决定加快搭载智能手机的鸿蒙操作系统的开发步伐,华为计划在 2021 年下半年推出鸿蒙操作系统及其配套的新款智能手机;并决定以开发含有 Linux 宏内核的鸿蒙操作系统为主,以开发含有鸿蒙微内核的鸿蒙操作系统为副,提出具体计划进度:

2020 年 12 月 16 日,完成(含 Linux 宏内核的)鸿蒙操作系统 2.0 beta 测试版;

2021 年 2 月 22 日,完成鸿蒙操作系统 2.0 正式版本;

2021 年 4 月,正式上线;

2021 年 3 月 31 日完成鸿蒙操作系统 3.0 版本(完成最后一次测试),提供较完善的鸿蒙操作系统版本。与此同时,2020 年 11 月,自行设计微内核(微内核高调唱了 4 年,拖到这时才设计,说明采用微内核方案遭遇到了很大困扰);

2021 年 2 月,微内核初步测试成功 ;

2021 年 4 月,微内核完成全面测试 。

这里我还要谈一件事:2019 年 7 月,我与 Linux 创始人、图灵奖获得者 Linus Torvalds 举行“炉边谈话”时,专门讨论 Fuchsia 的微内核问题,即便谷歌的 Fuchsia 已开发时久, Linus 与 Greg Kroah 两位 Linux 基金会的 Fellow 一致认为,Fuchsia 的微内核还很不成熟,存在的技术问题也不小,完善起来还需化极大力气和很长时间。

这次讨论可供华为借鉴参考,好在华为的肖然也参加了这次讨论。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39572168/article/details/116648990

智能推荐

3dmax如何建模隧道-程序员宅基地

文章浏览阅读326次。3dmax中建模隧道的方法:首先,选择合适的建模工具,如折线、矩形、圆弧等。根据隧道的形状和尺寸创建几何形状,如创建一个圆弧形的矩形代表隧道。使用编辑工具,如拉伸、修改顶点等,调整隧道的形状和尺寸。对隧道进行细节处理,如创建隧道的壁、顶等,调整隧道的表面纹理。添加灯光和阴影,让隧道看起来更逼真。最后,使用渲染工具,如 mental ray、V-Ray等,进行渲染,得到最终的..._隧道3d建模摄影

美赛整理之投影寻踪模型及其求解-程序员宅基地

文章浏览阅读1.8w次,点赞61次,收藏317次。投影寻踪模型1.模型的简介和应用2.基本步骤:3.遗传算法求解模型的优化问题1.用MatlabMatlabMatlab的gagaga工具箱求解:2.遗传算法求解:3.LINGOLINGOLINGO工具箱求解1.模型的简介和应用投影寻踪是处理和分析高维数据的一类统计方法,其基本思想是将高维数据投影到低维(1~3维)子空间上,寻找出反映原高维数据的结构或特征的投影,以达到研究和分析高维数据的目的。1974年,美国Stanford大学的Friedman和Tukey首次将该方法命名为Projection Pur_投影寻踪模型

计算机应用 拒稿,论文投稿频繁被拒怎么办?985博士学长经验分析-程序员宅基地

文章浏览阅读1.7k次。原标题:论文投稿频繁被拒怎么办?985博士学长经验分析在现行科研体制之内,对于硕博生而言,如果没有发表论文你甚至就无法证明自己的存在,硕博生毕业、老师的晋升都需要论文的保驾护航。因此发表论文是科研学者的主要工作和主要目标。相信很多科研学者都会有论文投稿频繁被拒的经历,投稿被拒出内伤是常有之事,那么如何提高论文的命中率,听学长仔细道来。论文被拒可以先从三个方面思考一看自己论文质量是不是没有达到那个水..._计算机综述投稿一直不中

基于python的opencv项目实战P1_python opencv实验-程序员宅基地

文章浏览阅读691次。基于python的opencv项目实战 01-简介教程b站:https://b23.tv/av77390697/p1准备软件下载anaconda清华镜像网站(lenovo Anaconda3-2019.10-Windows-x86_64)官网安装opencv 下载.whl安装网址p.s.在prompt窗口进入anaconda的Scriptsd:#转到D盘cd sof..._python opencv实验

python发邮件--中文附件报错问题_server.sendmail 附件报错-程序员宅基地

文章浏览阅读784次。# -*- coding: utf-8 -*-"""Created on Thu Apr 11 14:01:30 2019@author: zhang-peng"""#coding: utf-8 import osimport sysimport smtplibfrom email.mime.text import MIMETextfrom email.mime.ima..._server.sendmail 附件报错

Servlet中模板引擎的使用_servletcontexttemplateresolver-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏2次。一.本机环境及模板引擎依赖因为使用模板引擎技术,需要在Maven中的pom.xml中引入thymeleaf依赖。我这里jdk使用的是1.8;模板引擎的依赖版本为3.1.0。如果开发环境相同,可以参考下面的依赖。在dependencs中添加下面依赖即可。 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.s_servletcontexttemplateresolver

随便推点

thinkphp5和php区别,thinkphp5.1和thinkphp5.0验证的区别-程序员宅基地

文章浏览阅读409次。最近在学习tp5.1,沿用5.0的代码发现不能触发验证,打开thinkphp5.1官方手册发现,原来的写法只能验证全部或者不验证全部规则,但是不能为去掉某个不需要的验证规则。以下是thinkphp5.0的验证规则,验证提示和验证场景写法:..._validate 5.0和5.1 不一样吗?

记一次磕磕绊绊的组建跨区卷过程_新建跨区卷-程序员宅基地

文章浏览阅读1.6k次。最近买了个地平线4,80多G,我这条500G的固态马上就容量告急了,于是下单了一块新的1T的固态。因为不喜欢分太多个分区,整个盘只分了系统(C盘)和软件(D盘)两个区,个人文件放在另一块机械盘里(E盘)。所以就想着把新的这块盘直接并到D盘上,组个跨区盘。然后就开始百度怎么组跨区盘。百度说要先转换成动态磁盘,于是就打开计算机管理——磁盘管理,选上两块盘点转换为动态磁盘。然后跳出提示“包名称无效”。遂再次百度,说是计算机名称要改成纯英文才能改。同时发现原来的500G盘里有个未知无用分区,估计是以前用Disk_新建跨区卷

Android基本控件和Activity的基本应用_android activity和控件-程序员宅基地

文章浏览阅读189次。Android基本控件和Activity的基本应用Android基本控件TextViewButtonAndroid基本控件TextView<TextViewandroid:id="@+id/name_text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:gr..._android activity和控件

Java——聊聊JUC中的原子变量类_java原子变量-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏4次。Java——聊聊JUC中的原子变量类_java原子变量

Java实现ftp文件上传工具类及踩过的坑_java ftps 工具类-程序员宅基地

文章浏览阅读834次。一、环境jdk1.8 + springboot2.3.2.RELEASE + commons-net-3.6.jar + commons-lang3-3.8.jar + commons-io-2.6.jar二、添加pom.xml文件依赖<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6<_java ftps 工具类

HTML5兼容手机-程序员宅基地

文章浏览阅读754次。web网站如何实现兼容手机一、总结一句话总结:加上这句话即可:<meta name=“viewport” content=“width=device-width,initial-scale=1.0”>。1、移动设备上的三个viewport是哪三个,分别代表什么?ppk把移动设备上的viewport分为layout viewport 、 visual viewport 和 ide..._html5兼容手机