华为鸿蒙os的内核是Linux,谈华为鸿蒙内核和操作系统

f284577cf5f237aa0c208206643c0efe.png

作者 | 陆首群

出品 | 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 的微内核还很不成熟,存在的技术问题也不小,完善起来还需化极大力气和很长时间。

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

4月20日晚八点,欢迎来到CSDN悦读时间直播间,与四位大咖一起探索UNIX传奇往事的启示,围观《UNIX传奇》新书发布会!

?华为自动驾驶车首次公开试乘;台积电:全球芯片短缺或持续到明年;龙芯发布完全自主指令集架构LoongArch|极客头条?“诺奖摇篮”贝尔实验室:从辉煌到衰败的百年沉浮?直接学 Vue 3 吧 —— 对话 Vue.js 作者尤雨溪

你可能感兴趣的:(华为鸿蒙os的内核是Linux)