美文网首页@IT·互联网人工智能通识
【软件】鸿蒙OS和微内核

【软件】鸿蒙OS和微内核

作者: zhyuzh3d | 来源:发表于2019-08-14 23:58 被阅读179次

    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
    更多相关文章请点击【量子计算通识】


    这些是收集和整理的一些信息,未必严谨,仅供参考。

    鸿蒙OS到底有没有?

    随着2019华为开发者大会HDC的召开,所有对于鸿蒙OS到底是否存在的怀疑都应该死心了。
    鸿蒙OS实有其物,而且已经达到了商业应用的级别,华为最新发布的智慧屏(就是智能电视)搭载的就是鸿蒙OS的1.0版本。

    官方放出的智慧屏系统信息

    到现在还怀疑华为是否有能力开发操作系统的人,只能说智商让人着急。

    智慧屏到底怎么样?

    没用过不好乱说,只能看看参数作比较。

    普通老百姓买电视机就图两个事儿,个儿大,功能诱人,别跟我们谈什么参数色域画质背光原理之类有的没的,就说实惠不实惠吧。

    荣耀智慧屏分两个版本,普通版(无摄像头¥3799)和PRO版(有摄像头¥4799),都是55寸,作为对比,小米55寸4X降到了¥1799,65寸4A是¥2699,这个2000~3000元的差价是非常让人吃惊的。

    官方放出的智慧屏鸿蒙界面

    荣耀智慧屏的最大卖点是秒开机,无广告。其实现在电视机都是安卓系统,不关机只待机,就和手机、笔记本亮屏差不多,开机速度的差别也就是1秒和2~3秒的区别,基本没感觉。所以,花2000元差价来去开机广告,意思不大,而且现在很多智能电视开机广告也都是静音的,拍摄的也很漂亮,就5秒10秒的,并非无法接受。

    摄像头通话绝对是好创意,很多老人小孩一定喜欢。但这只在4799的PRO上才有,说实话,愿意出5000块买55寸的人根本不在乎性价比这个事儿。

    其实荣耀智慧屏上,华为还是很下功夫很用心的,除了视频通话之外,还实现了双向投屏,不仅可以把手机画面投到电视上玩王者荣耀,更可以把电视界面投射到手机上,这样可以操作手机一样控制电视,而不是把手机变成传统遥控器。另外一个小亮点是这种电视到手机的投屏还可以把声音投过来,手机上接个耳机看电影看球赛就不会打扰老婆大人了。

    荣耀智慧屏虽然实际上并没有什么黑科技,但是功能上的微创新还是值得其他电视厂商好好学习一下的。

    华为两个月开发出鸿蒙OS?

    对于搞系统的专业人士来说,开发一个系统真没那么难,虽然Windows、MacOS、iOS、Android都是十年几十年磨一剑,但君不见红旗、红帽、乌班图各种Linux改版满天飞?君不见曾经的智能电视大战中五花八门的操作系统?

    Android最初经历了数代好几年直到4.x才算走上正轨,但iOS几乎就是横空出世天降英雄。这里面可能最大的原因有两个,一是苹果只适配自家硬件,二是乔布斯其实几年前就启动开发,只是保密工作做得好。

    华为鸿蒙OS也满足这两个条件。首先鸿蒙OS也是只适配自家硬件的(至少目前是海思自用),其次鸿蒙也一定是很早就动工,而不是今年事发之后才有的新产品。

    华为什么时候开始研发鸿蒙OS?十年前?二十年前!华为上个世纪就在做通讯设备,通讯设备也是要有操作系统的,虽然简单但也是系统,国内在系统开发这方面技术来说,华为要是第二,恐怕没人敢算第一了。

    华为通讯设备上的系统后来就演化成了2015年发布的LiteOS物联网系统,已经开源。
    LiteOS的Github地址看这里

    2010年之后的互联网时代,国内巨头都尝试做自己的操作系统,最成功影响也最大的当属阿里巴巴的AliOS,早期叫YunOS,也是参照安卓、基于Linux研发出来的,也是因为这层关系,AliOS被谷歌踢出门不予承认。AliOS曾经在国产二三线手机厂商中拥有非常可观的装机量,一度成为仅次于安卓苹果的第三大手机系统,当然后来AliOS也随着这些不知名手机品牌的死亡而销声匿迹。近年,AliOS又在国内汽车企业中获得支持,也在天猫精灵中大规模使用,并且也推出了AliOS Things物联网系统,这些在国内都有一定的影响力。

    百度也推出了类似的百度手机操作系统和手表操作系统,以及后来推出的智能交互操作系统DuerOS和面向自动驾驶的Apollo系统。腾讯2015年也曾推出TencentOS,基本宣告失败之后也推出了面向物联网的tiny版。

    小米和魅族则选择了更加简单轻量的做法,那就是直接在Android基础上进行界面美化和功能改进,虽然也会做一些底层的代码优化适配,但标准意义上说,不能算是操作系统开发。

    这个时期华为在做什么?表面看上去华为和小米一样,只是在做他的EmotionUI,但我们有理由相信,注重软件系统研发的华为肯定做过更多。

    为什么会有鸿蒙OS?

    我认为,即使没有实体名单这个事儿,也照样会有鸿蒙OS,而且十有八九也是这个时间节点发布。

    鸿蒙OS很可能和美国搞事情没什么关系。为什么这么说?

    Android系统存在着很多无解的问题,虚拟机技术导致的性能瓶颈,开源问题导致的系统碎片化,以及对Oracle家Java的依赖,谷歌全家桶的捆绑等等这些都是不可回避的。

    作为全球最大的安卓手机厂商,三星从未放弃自研操作系统的计划,BADA系统不成功,后来就把因特尔和诺基亚的Meego系统整合到一起成为新的Tizen操作系统,然而终于还是没能在手机上站稳脚,只能在三星自家的手表上强行搭载。

    小米可能是这几年国内智能电视销量最大的品牌,但小米仍然是抄了近路,直接把安卓系统改造之后运行到电视机上,事实证明,效果非常不错,安卓APP的兼容性自然也是杠杆的。这也是国内电视机厂家最明智的选择。

    但我们有理由相信,华为的选择会和小米不同,因为智能电视市场,华为是晚来者,不占优势。而为了物联网,为了抢占智能家庭的中枢位置,华为一定会做更多的准备。而把自身的互联网操作系统LiteOS升级成为智能电视操作系统,明显是一步具有战略意义的好棋。

    从事实上看就是,华为不可能在两三个月内研发出完成度如此之高,功能体验如此完整的操作系统,所以这一定原本就在计划之中。

    鸿蒙OS兼容安卓APP?

    鸿蒙OS是搭载了华为应用市场的,应该是可以兼容安卓APP的。

    有人说兼容安卓APP那就一定是安卓系统,这就扯了,Windows装个模拟器还能模拟游戏机呢,难不成Windows也是游戏机系统改的?

    最近Windows也宣布要原生支持安卓APP了。因为安卓是Linux基础上派生的,所以Windows就是在原来Windows基础上加一个Linux系统来运行安卓APP。当然实际做起来没说的这么简单,但原理差不多。

    华为不可能为了一个智能电视产品重写Android系统的全部功能,也不可能重写Linux系统的全部功能,如余承东会上所说,光Linux系统就有一亿行代码。重写这些功能至少要好几年。

    那么鸿蒙OS到底是怎么实现的?

    HDC2019现场视频截图

    这个截图不是很清晰,但我们也能看清大致状况。

    强烈要求你注意左边的标题,“鸿蒙OS架构图(当前)”字样,也就是说,左边是真实现状,右边是美好未来。

    鸿蒙OS到底是不是Linux?

    我认为,当前来说,鸿蒙OS就是Linux。

    为什么?因为如图所示,当前鸿蒙OS的内核有三部分:Linux内核、鸿蒙微内核、LiteOS。从代码量上来看,按照余承东的话,Linux内核1亿行代码,鸿蒙1万行,LiteOS没说,但肯定远少于Linux。所以,Linux内核至少占了鸿蒙整个内核的绝大多数代码,这个情况下你再说它不是Linux就太不厚道了。

    那么是否可以说鸿蒙是Linux基础上改出来的?我认为不是。

    为什么?余承东会上作了很多关于微内核、宏内核的科普,他没瞎说,台下坐了那么多开发者,他也不敢瞎说。
    鸿蒙是微内核架构,Linux是宏内核架构,设计原理都不同,怎么可能是Linux改出来的?我个人认为,鸿蒙OS的确是遵照微内核架构设计研发的,而微内核只提供虚拟内存管理、任务线程管理和线程间通信等最基础的功能,而这个条件下最快速实现兼容安卓APP的方法就是直接将Linux嫁接到鸿蒙的微内核之上,借用Linux内核来运行安卓APP。

    简单说就是,鸿蒙OS是鸿蒙微内核上面嫁接了Linux内核,你用鸿蒙OS基本上就是在用Linux,在用安卓,没毛病。更多内容可以参考一些关于微内核架构的技术文章,这种套路是惯用的。

    微内核是怎么回事?

    微内核就是小内核,宏内核就是大内核。这就好比一组散装刀具和一组盒装刀具的概念差别,有的刀具负责文件系统,有的负责视觉界面,有的负责网络通信,有的负责媒体声音。微内核只提供一个简单的道具支架,而宏内核是把这些刀具组装到一起成为一把万能的瑞士军刀。

    余承东说Linux内核要1亿行代码,鸿蒙OS内核只要1万行,这绝对是扯淡忽悠人的,真那么好的话你华为帮微软改造一下,让全世界人民每人都省100G硬盘空间出来好不好?

    鸿蒙的小内核只是提供了一个简易刀架,你可以把各种刀具摆到上面,摆好了一起称下重量,差不多还得是1亿行。你不能拿一个刀架和人家一盒子刀具比重量,这是很不要脸的。

    当前的情况是,鸿蒙微内核的刀架上放上了Linux这把瑞士军刀,所以才能实现各种安卓APP的煎炒烹炸。

    华为未来的愿景是把Linux拆开,把壳子扔掉,刀具还是要留下来的,否则怎么切菜?

    当然,华为还是要把这些刀具重新制造一遍才行,这个工作量就比较大了,差不多就是重写1亿行代码的事情。当然,拆开的好处就是可以把多余的刀具扔掉,只保留需要的那几把,这样可能几千万行代码或者更少些就能实现需要的功能。

    余承东现场说,普通用户日常只需要使用安卓全部代码的8%。这就是个笑话,就像说人类只使用大脑的10%一样可笑,你试试看把另外90%脑浆倒出来,还能活着不?

    微内核好不好?

    上个世纪90年代,全球系统研发领域曾经有一场关于微内核、宏内核的大讨论,最后也不了了之,没有定论。

    事实是,这二十多年都是宏内核操作系统的胜利,Windows是宏内核,Linux也是,当然MacOS、iOS、Android也都是,微内核的操作系统你可能从来就没听说过。

    但是宏内核的确笨重,系统功能越复杂就越容易出错,越不安全。实际上,现在的宏内核操作系统都已经融入了微内核的模块化分割理念,Windows2000以后、MacOS X以后,都已经不是纯粹的宏内核,而是混合内核操作系统了。

    可以切身感受到的是,计算机老玩家都记得windows95、98时代经常死机蓝屏,而到Windows2000之后蓝屏情况就极为少见了。蓝屏就是系统内核崩溃,在windows98时候,文件系统、媒体服务等等这些都是放在系统内核里面的,只要有一个服务崩溃就导致整个系统蓝屏。但比如说把文件系统挪到系统内核之外,如果它崩溃了最多系统把它重新启动一下就好了,并不会死机蓝屏,这就是Windows NT、Windows2000的不同。

    微内核可以从根本上实现模块化隔离定制,最大限度实现系统的稳定。模块之间的权限对象也单独传输,这就能实现精细化的用户身份验证和安全管理,有效增加系统的安全性。当然余承东在会上还说了很多好处,基本都是真的。

    微内核也有缺点,功能模块被分割开来,信息就要反复的传来传去。微内核有各种墙分割当然就要比宏内核之内没有阻碍的传输费事一些,所以微内核的性能要比宏内核差,这也是二十年来微内核一直不得势的重要原因。但好在鸿蒙OS还有方舟编译器,它可以直接把Java代码和其他代码直接编译成机器语言,这相对于安卓的虚拟机模式来说,性能会有明显的提升,也算是弥补。当然还有很多好的底层优化方法,微内核的性能劣势现在几乎可以忽略不计。

    谷歌目前Android系统也是会自动将部分Java代码编译成机器语言执行的,但不是全部,因为考虑到兼容更多的手机硬件,Android会不编译那些不能完美兼容的代码,这自然导致性能吃亏。而华为方舟编译器可以只针对自己的机型和硬件进行优化,没有谷歌Android那么大的包袱。

    附加

    微内核的概念虽然20多年前就已经被提出来,还被深度讨论过。但是并不影响此次鸿蒙OS的重大意义,虽然当前鸿蒙OS还不是一个纯正意义上的微内核操作系统,但无可否认华为实现的分布式软总线技术是很有创新性和前瞻性的,利用微内核架构优势,打通多终端计算资源,这才是未来操作系统该有的样子。

    加油,华为,不负众望,砥砺前行,开发出用实力征服世界的操作系统,与全球一流公司共同开拓未来!

    最先正式打开微内核操作系统大门的是谷歌前两年启动的新操作系统Fuchsia['fjuʃə],华为也是率先参与其中,在IT领域联合开发,开源共享,互相借鉴早就不是稀奇的事情,所谓英雄所见略同,谷歌也好,华为也好,最后谁抓到老鼠的谁就是好猫。

    鸿蒙OS,Harmony OS,意味和谐,非常好的名字。
    微内核,Micro kernel。
    宏内核,Monolithic kernel,也叫单内核。


    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


    每个人的智能新时代

    如果您发现文章错误,请不吝留言指正;
    如果您觉得有用,请点喜欢;
    如果您觉得很有用,欢迎转载~


    END

    相关文章

      网友评论

        本文标题:【软件】鸿蒙OS和微内核

        本文链接:https://www.haomeiwen.com/subject/itmijctx.html