
从此,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,以及谷歌的新系统.
1、锅在程序员。滥用资源,依仗更高的硬件解决自己的需求,而不是考虑换个低压力的算法。2、居然用 JAVA 。JAVA 对于内存的需求很大,而且虽然极端优化,但是依然是需要解释运行。导致执行效率不高
3、项目经理,觉得自己还可以再加点料赚钱。弄一大堆没用的功能,后台跟踪搜集用户资料,开机就运行,导致手机大部分时间要留给后台的这些工作运行资源导致前台程序有问题。
4、硬件类型多,研发能力参差不齐,导致系统基础提供的执行效率就不稳定。
尽管有人认为Linux 2.4内核与其说是一个革命性的版本,不如说是一个进化版本,但现在全世界的Linux爱好者都在为之欢呼。此时此刻,我想做的是带大家回顾一下Linux内核的发展史。是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围
设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来 *** 作和控制它,发动机自身是不能工作的。完成这个控制工作的软件就称为 *** 作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。内核决定一个系统是否是Linux。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。
最早是由芬兰人Linus Torvalds设计的。当时由于UNIX的商业化,Andrew Tannebaum教授开发了Minix *** 作系统以便于不受AT&T许可协议的约束,为教学科研提供一个 *** 作系统。当时发布在Internet上,免费给全世界的学生使用。Minix具有较多UNIX的特点,但与UNIX不完全兼容。1991年10月5日,Linus为了给Minix用户设计一个比较有效的UNIX PC版本,自己动手写了一个“类Minix”的 *** 作系统。整个故事从两个在哑端终上打印AAAA...和BBBB...的进程开始的,当时最初的内核版本是0.02。Linus Torvalds将它发到了Minix新闻组,很快就得到了反应。Linus Torvalds在这种简单的任务切换机制上进行扩展,并在很多热心支持者的帮助下开发和推出了Linux的第一个稳定的工作版本。1991年11月,Linux0.10版本推出,0.11版本随后在1991年12月推出,当时将它发布在Internet上,免费供人们使用。当Linux非常接近于一种可靠的/稳定的系统时,Linus决定将0.13版本称为0.95版本。1994年3月,正式的Linux 1.0出现了,这差不多是一种正式的独立宣言。截至那时为止,它的用户基数已经发展得很大,而且Linux的核心开发队伍也建立起来了。
核心的开发和规范一直是由Linux社区控制着,版本也是唯一的。实际上, *** 作系统的内核版本指的是在Linus本人领导下的开发小组开发出的系统内核的版本号。自1994年3月14日发布了第一个正式版本Linux 1.0以来,每隔一段时间就有新的版本或其修订版公布。发展到现在,Linux内核的稳定版的最后版本有:1.0.9、1.2.13、2.0.37和2.2.11,直至今天最新的2.4.1。
还为Linux选择了精神内核——Copyleft,它使Linux的开发和销售都没有背离原来的轨道。Linus将标准的GNU许可协议改称Copyleft,以便与Copyright相对照。通用的公共许可(GPL)允许用户销售、拷贝和改变具有Copyleft的应用程序。当然这些程序也可以是Copyright的,但是你必须允许进一步的销售、拷贝和对其代码进行改变,同时也必须使他人可以免费得到修改后的源代码。事实证明,GPL对于Linux的成功起到了极大的作用。它启动了一个十分繁荣的商用Linux阶段,还为编程人员提供了一种凝聚力,诱使大家加入这个充满了慈善精神的Linux运动。
Linux内核的发展过程中,我们还不得不提一下各种Linux发行版的作用,因为正是它们推动了Linux的应用,从而也让更多的人开始关注Linux。一些组织或厂家,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。相对于Linux *** 作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。因此把RedHat、Slackware等直接说成是Linux是不确切的,它们是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的 *** 作系统软件包”。根据GPL准则,这些发行版本虽然都源自一个内核,并且都有自己各自的贡献,但都没有自己的版权。Linux的各个发行版本(distribution),都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。每个版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或是不兼容。
90年代初期Linux开始出现的时候,仅仅是以源代码形式出现,用户需要在其他 *** 作系统下进行编译才能使用。后来出现了一些正式版本。目前最流行的几个正式版本有:
Slackware是最早的Linux正式版本之一,它遵循BSD的风格,尤其是在系统启动脚本方面。现有的版本是Slackware 4.0,它是基于Linux 2.2内核。
Debian是一个开放源代码的 *** 作系统,目前基于Linux 2.2内核。它由许多志愿者维护,是真正的非商业化Linux,现有较流行的版本是2.1。
RedHat Linux是Linux最早的商业版本之一。它在美国和其他英语国家市场上获得了较大的成功。现有的最新版本是RedHat Linux 7.1,它是基于Linux 2.4内核。
SuSE由德国人开发出来,是在欧洲大陆最流行的版本之一。现有最新版本是SuSE 7.0,基于Linux 2.2内核。
Caldera OpenLinux是最早关注简易安装方法的Linux正式版本之一,同时,它还在正式版本中集成了办公软件。现有最新版本是Caldera OpenLinux 2.2。
TurboLinux公司是以推出高性能服务器而著称的Linux厂商,在美国有很大的影响。它是亚洲占市场最大的商业版本,在中国、日本和韩国都取得了巨大的成功。现在较流行的版本是TurboLinux 6.0,它是基于Linux 2.2内核。
在中国也取得了可喜的发展。从1999年三四月起,国内涌现出不少颇具实力的中文Linux发行商。如:中科红旗公司推出的第一个桌面应用版红旗Linux桌面版2.0、采用了多项新技术的蓝点Linux 2.0、完全符合国际化标准的中文Linux发行版本——TurboLinux简体中文版6.0、Xteam linux 3.2等。Xteam公司和中科红旗软件公司近期还都宣称将利用Linux2.4内核推出自己的新产品。其中即将发布的红旗Linux V1.1将以Linux 2.4.X为内核;而台式机版红旗Linux V2.0将以Linux 2.4.X以上版为内核。
2.4内核发布后,Linus Torvalds将和Linux内核开发小组着手开发Linux 2.5内核,同时,还将继续维护Linux 2.4内核,提供补丁及错误修正。也许目前的最新Linux内核版本已经是2.4.1了,人们也已经在猜测Linux2.5.0的样子了。来看看厂商们的反应吧,有关人士认为IBM公司将会在以后的Linux 2.4.x内核及Linux 2.5内核的逻辑卷管理程序(LVM)方面起着很大的作用;HP的开发人员则焦急地等待着采用2.4内核的deb软件包的出现;Red Hat将会提供一个RPM软件包让7.0版本的用户通过Red Hat Network升级;MontaVista软件公司基于Linux内核2.4开发了被其称为是硬实时完全优先Linux内核原型,并希望把这种技术或类似的技术在Linux 2.5中制定为基本标准。有了这些厂商和Hacker们的大力支持,想来未来Linux 2.5内核将不会令我们感到失望。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)