硬嗑HarmonyOS开篇之Linux内核

Python038

硬嗑HarmonyOS开篇之Linux内核,第1张

鸿蒙(Harmony OS)是华为自2012年开发的一款可兼容Android 应用程序的跨平台操作系统. 截至2019年6月14日, 华为高管证实了新系统的存在以及华为在全球申请“Hongmeng”商标一事, 并且说明主要是用于物联网, 未必会发展为手机系统. 2019 年 8 月 9日华为开发者大会上,华为消费者业务首席执行官余承东正式宣布发布自有操作系统鸿蒙,内核为Linux内核、鸿蒙微内核和LiteOS. 未来将摆脱Linux内核和LiteOS, 只有鸿蒙微内核.

从此,Harmony OS(鸿蒙操作系统,简称鸿蒙)正式进入公众视野. 与支持者相对的各种黑化声音同样不绝于耳,相对于这些无脑黑,节奏黑, 难道我们不能好好的找找资料,真正了解鸿蒙是个啥. 后面将从 Linux 内核, 鸿蒙微内核, 兼容 Android, 全场景交互体验等方向来一次 HarmonyOS 的学习之旅...

PS: 这几篇所有整理的内容都基于网络上的公开资料(维基百科等),为了基本上所有非技术人员也都能无障碍看懂.

要想了解操作系统,必然先了解一下操作系统的发展 历史 ,不过是不查不知道,一查吓一跳,这世上的操作系统是真的好多啊,因此肯定是没必要一一道来的, 一些 历史 脉络部分,我这里大致的梳理一下一些关键的标志性系统,辅助我们来了解 HarmonyOS,从此不再人云亦云.

目前大家接触比较多的常见操作系统也就那几个, 大致分类有, 电脑端: Unix, Linux, MacOS,Windows, 手机端:Android, iOS.

1969年在AT&T的贝尔实验室开发Unics, 1973年, 用C重新编写后正式命名为 Unix, 标志着通用操作系统的到来, 一开始和学术界有合作(加州伯克利大学),从而快速在各大高校传开

1977年,伯克利大学的Bill Joy 教授获得Unix的核心原始码后, 修改成适合自己机器的版本,并增加了编译工具和很多功能软件,最终命名为BSD

1979年 AT&T 公司发行Unix7.0, 出于商业考量将Unix的版权收了回去. 这也导致了BSD的后裔一直跟AT&T 相关公司产生了法律纠纷,直到1994年1月才了结.

1994年6月,4.4BSD 以两种形式发布:可自由再发布的4.4BSD-Lite, 不包含AT&T源码另有 4.4BSD-Encumbered,跟以前的版本一样,遵照AT&T的许可证。几种基于4.4BSD的包(比如FreeBSD、OpenBSD和NetBSD)也得以继续维护。

这期间, 学术界自力更生, 在1986年一个叫 Andrew Tanenbaum(安德鲁·塔能鲍姆)教授就参照Unix的功能编写完成并发布一个Minix系统, 用于教学用途, 并于次年发布了相关书籍。

1991年,一个叫 Linus Torvalds 的学生对只能用于教学用途的 Minix 系统不满足,于是就基于Minix开始编写自己操作系统, 并于9 月份开源, 也就是 Linux。

Linux 有多牛, 今天的Linux系统掌管着超级计算机和大部分服务器、主机,再加上 Android 的智能移动设备, 还有桌面系统,嵌入式设备,以及纯粹的上网本, Linux王国的领土几乎扩展到了整个网络系统,搜索,购物,聊天等全球数十亿人离不开的服务,都运行在Linux之上。

到此,所以鸿蒙的内核里有 Linux 内核的存在,有毛病吗?

首先,前面有了解到 Linux 之所以成功, 在于其技术的更加先进,但是这种先进它并不是颠覆,他本身就是基于 Minix 的基础之上, 它在一开始的一段时间内是必须要有 minix 才能运行的起来的,

其次, 是有这么一个长达两年多的 Unix 的版权之争, 从而给 Linux 提供一个绝佳的成长时间, 毕竟就像Linus 自己说的那样,当时如果有可用的 386BSD,他也不会选择自己再去重新开发一个 Linux.

再者, Linux 1991 年开发并开源出来, 到 1993 年大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。到鸿蒙正式公开的2019年, Linux 内核已有大约2500万行代码。

对比之下, 挺有意思的是, 余承东也说过 HarmonyOS 一开始并没有打算放到手机上, 相较于 Unix 闭源后逼出来的这个 Linux, HarmonyOS 却是美国的打压和制裁逼出来的, 而鸿蒙的今后的成长, 我们是可以共同见证得到并也可以参与得了的.

思考二: Linux 这么牛,为什么在电脑时代的桌面操作系统上,没有竞争过 Windows 和 MacOS 呢? 但是到了手机时代, Linux 内核的 Android 却可以和 iOS 平分天下? 原因同样也很多, 其中也有两个公认的关键点,

另一个最重要的关键点则是有一家强有力的公司所支撑的系统开发和生态建设, 桌面时代 Windows 有微软,MacOS 有苹果, Linux 呢是一个松散的开源社区, 但是到了手机时代,iOS 有苹果, Android 有谷歌

这篇先留点坑,鸿蒙的微内核和智能生态先不表, 我们依然从 Linux 这条线, 再来看一下 Android

大家一般都知道的, Android 是一个基于 Linux 的、由 Google 主导的开源系统。那么为什么谷歌还能掐华为的脖子,而华为却还是能兼容 Android 呢?

其实严格意义上来说,Android=AOSP+GMS, 谷歌的手机 Pixel 出厂自带的系统即为Android,而一般来说,谷歌在自己(主导)开发的新一代Android系统成型时,都会放出其中的aosp代码。也就是Android系统等于开源的aosp,加上额外的闭源部分(其中包括GMS)的组合。AOSP 全名为Android Open-Source Project, 华为的开放源代码 OpenHarmony 是一种概念的. GMS 全名为 Google Mobile Service(谷歌手机服务),而这也就是谷歌限制华为的关键之处,GMS 是谷歌的应用和服务全家桶,包括电话,邮件,应用商店等一系列应用和消息推送服务,海外的手机没有这些东西,就跟砖头没什么两样了.

这个服务本身在国内是无法使用的, 国内的各种定制 ROM(如小米的 MIUI,华为的 EMUI 等)都是基于AOSP 加上自家的云服务的定制修改.各大品牌的操作系统如下:

苹果--iOS

谷歌--Android(AOSP+GMS)

三星--Android(AOSP+GMS)

小米--MIUI(基于AOSP)

OPPO--Color OS(基于AOSP)

VIVO--Funtouch OS(基于AOSP)

一加--H2 OS(基于AOSP)

锤子--Smartisan OS(基于AOSP)

魅族--Flyme(基于AOSP)

联想--ZUI(基于AOSP)

华为--国内: EMUI(基于AOSP),国外 Android(AOSP+GMS), HarmonyOS2

其一,看到这里,那些一直老是质疑鸿蒙就是安卓(AOSP)套壳的质疑是怎么回事,估计大家也都清楚了.其实啊,大家都知道,技术发展的现在,开发一款系统并不能难倒这些 科技 大厂,生态的支撑才是决定一个体统生死的关键,鸿蒙兼容安卓,有错吗?鸿蒙兼容安卓本来就是一个正确的决策嘛. 当然,这里是在做科普,而非为了争辩什么. 因为其实有些东西它就在那里,有公开的资料.

其二,看到这里,其实也能看到国内的手机厂商没有第一时间去响应鸿蒙一个原因了,一个明显的问题就是支持鸿蒙是有两套方案的:一是组织团队基于Open Harmony开发呢?还是说直接放弃已有的生态直接用HarmonyOS2?如果是你,你会第一时间选择这其中的一项吗?最近魅族宣布接入鸿蒙的,不是魅族手机,而是其Lipro品牌下的智能家居生态产品。

关于生态还是放到下次在统一聊,还是回到主线,我们再来梳理一下安卓的大致 历史 。

2005年 7 月 11 日,Google 收购了 Android 科技 公司,Android的关键人物包括安迪·鲁宾、利奇·米纳尔和克里斯·怀特,以及所有Android 科技 公司的员工都一并加入Google,作为收购的一部分。

2007年11月5日,在Google的领导下,成立了开放手持设备联盟(Open Handset Alliance),那是包括Google在内的 科技 公司联盟,其他成员包括HTC、摩托罗拉、Samsung等设备制造商,无线运营商则包括Sprint及T-Mobile,芯片制造商高通及德州仪器,目标是为移动设备开发“首个真正开放和全面的移动设备平台”。随后,其他厂商加入,包括Broadcom、Intel、LG、Marvell等。联盟开放手持设备联盟的创建目的是为了创建一个更加开放自由的移动电话环境。而在开放手持设备联盟创建的同一日,联盟对外展示了他们的第一个产品:一部搭载了以Linux 2.6为核心基础的Android操作系统的智能手机。

2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索尼等公司.

为了跟iPhone 3G能互相媲美,诺基亚和黑莓手机于2008年均宣布有关触摸屏的智能手机的信息,Android的焦点最终也转向触摸屏。第一款运行Android系统的商用智能手机是HTC Dream,亦名为T-Mobile G1,该智能手机于2008年9月23日发布

同时,一个负责持续发展Android操作系统的开源代码项目成立了AOSP(Android Open Source Project)。除了开放手持设备联盟之外,Android还拥有全球各地开发人员组成的开源社区来专门负责开发Android应用程序和第三方Android操作系统来延长和扩展Android的功能和性能。

之后便是大家熟悉的各种基于 AOSP 的安卓智能机出现在了大家的手上.

至此,大家应该真正都明白 Android 和 AOSP 的关系了,也能理解 OpenHarmony 和 HarmonyOS2 的关系了吧.

OpenHarmony 是不兼容安卓的,至于很多人一直还在质疑 HarmonyOS2 是安卓套壳这个事, 我是有点奇怪的, OpenHarmony的开源代码已经放出来了, 华为的官方解释也就是在那里?他们都视而不见.HMS Core(华为移动服务)是基于华为终端设备和安卓平台,对应用开发者开放并提供各种服务能力的移动服务框架。, 适用产品是手机和平板, 并且其升级不涉及系统版本,HMS Core (华为移动服务)同GMS(谷歌移动服务)一样,可以在安卓开源项目(安卓系统)上运行,支持安卓应用,但部分需要GMS支持的安卓应用,在HMS Core平台下可能无法运行。

作为结尾,想说明一下,到现在为止,所有的关于对鸿蒙的解读还只是按照安卓的框架和场景设定来思考的, 实际上,鸿蒙的定位是服务于物联网. 关于鸿蒙微内核,全场景交互体验我们放到下一篇,这里还涉及到 iOS,以及谷歌的新系统.

6 月 2 号,华为自研的操作系统 HarmonyOS 2.0 的 beta 版本正式发布,在业内引起了极大的讨论。一方面,这是中国首个自主知识产权的操作系统,现在已经开源,且正式面向市场开始商用;另一方面,操作系统作为智能终端等信息技术载体的核心,谁最终抢占高地,谁就可分得物联网市场“万亿”蛋糕。

所以,不难理解为何华为 HarmonyOS 自面世之初就受到了无数的目光、质疑与期待。那么作为普通Android开发者, 到底该不该学 HarmonyOS 呢 ?

时间给出了答案。截至 8 月 6 日,华为 HarmonyOS 的升级用户,已经 超过 5000 万 ,按照这个进度,今年将有望 超 4 亿 台设备搭载 HarmonyOS 。说实话,这个升级的速度,或许是华为自己都没想到。

HarmonyOS 是一个 面向全场景的分布式微内核的操作系统 ,在框架层提供了用户程序框架、Ability 框架和 UI 框架,可以做到 一次开发,多端部署, 很大程度上提升了应用跨设备的开发效率。

应用场景之广,不仅可以应用到TV、穿戴设备(手表)、车载设备还可以应用到智能手机等场景,“分布式技术”铸就了 HarmonyOS 的核心竞争力。目前,HarmonyOS 2.0 已覆盖 50 多万的开发者,预计两年内将突破 200 万的数量。在此技术支持下 HarmonyOS 有望成为 全球第三大移动应用生态

而且,HarmonyOS 学习门槛很低, 它支持 Java 和 JS 双语言开发。整体看,Android 的同学上手HarmonyOS 开发难度不大(基于 Java 的)。视图层面,View 相关的 API、功能的 API 大部分和 Android 类似,比如页面生命周期、权限、线程间消息机制。 所以无论是对于前端开发者还是移动端开发者,都可轻松上手

对新技术时刻持有敏锐嗅觉,是一位优秀工程师的必备要素之一 。更何况,在物联网快速发展的今天,终端开发者可以通过 HarmonyOS 来拓宽就业场景,也算是让 职业生涯多一份选择

所谓外行看热闹,内行看门道,对开发者来说,大家更关心:

这些问题在 《HarmonyOS快速入门与实战开发手册》 中,都找到了答案。 需要完整版的朋友麻烦转发点赞支持下,然后私信回复【999】即可入手获取!

分成 5 大部分:

第一部分: 学习 HarmonyOS 的特性、核心能力,了解和使用 HarmonyOS 系统接口和海量三方组件库,轻松上手开始实战;

第二部分: 详解 HarmonyOS 的混合开发模式 ,以及分布式技术原理和应用

第三部分: 全场景的分布式开发流程,了解分布式的组网能力和消息首发机制;

第四部分: 通过案例分析分布式任务调度和分布式设备虚拟化,是如何赋能 HarmonyOS 在电商直播领域的实践和创新的。

第五部分

由于篇幅原因在这只展示了内容目录截图, 需要完整版的朋友麻烦转发点赞支持下,然后私信回复【999】即可入手获取!

丢失的五本图书位置如下:

工具/原料:荣耀magic2、HarmonyOS2.0.0.145、原神2.4

1、第一步:丢失的图书1

打开原神APP,在地图里第一本图书在稻妻八重堂商店购买即可。

2、第二步:丢失的图书2

进入狭间之街右上方海域的迷宫,在红框位置可以找到第二本图书。

3、第三步:丢失的图书3

点击常夜灵庙右上角的迷宫,完成解密即可获得第三本图书。

4、第四步:丢失的图书4

进入蛇心之地左下角的岛屿,即可找到第四本图书。

5、第五步:丢失的图书5

最后一本图书在蛇心之地左上方的迷宫里,解密后即可获得。