鸿蒙操作系统正式发布,支持全平台硬件,挑战Android地位
几经风雨波折,华为在今天的开发者大会上正式宣布推出鸿蒙操作系统,而英文名则订为Harmony OS,字面上翻译就是“和谐”系统。
一直以来,鸿蒙操作系统总是犹抱琵琶半遮面,外人看不清底细,而华为几位领导的发言,也让业界对该系统充满了幻想。
而根据华为在发布会上的演示,鸿蒙系统是个基于微内核(Micro kernel)的分布式操作系统,与Android的宏内核(Monolithic kernel)设计有很大的不同。
微内核,只提供操作系统最基本的少数核心功能,是精简版本。核心模块互相独立,运行提供服务时有自己的内存空间,和用户进程一样运行,不是特权模式。微内核很灵活,要什么服务就把相关的模块放上来,互相独立不影响,不用太顾虑配合问题,这样就有很好的扩展性。另一方面,微内核代码少,维护简易,也不易出现会被入侵破解的漏洞。
而Android系统所用的linux内核虽经过裁剪,然而这并未改变其还是宏内核的本质。为了满足不同设备与应用程序的执行,Android在其内核之上的runtime中又增加了虚拟机设计与特定的系统权限。
宏内核是由一堆底层特权模式的核心代码紧密组合在一起。严格上来说这种架构的灵活性不高。但面对硬件配置各异的手机,或者平板、电视之类的系统,于是就搞出一个叫“虚拟机”的执行层,不同类型设备的应用程序都是在虚拟机上运行,让代码获得跨平台的能力。另外,每一个安卓应用,都在操作系统底层对应着一个虚拟机实例,由这个虚拟机来伺候运行应用程序的代码。
不过也因为虚拟机的设计,Android在应用执行的效率方面并不高,即便是使用了再大的内存,性能再高的处理器,系统用久了,安装的程序一多,都难免会卡顿。
理论上,Android上的应用程序仍然可以针对特定的硬件平台进行优化,甚至将应用程序转成专属的机器码,取得最高效率,但很少有软件开发商愿意这么干。华为方舟编译器基本上直接生成高效机器码,从而取得最高效能,而这只能用在硬件平台单一,或者仅有少量平台的系统中,否则平台一多,每个软件都要根据不同平台重新编译,是非常耗费时间的工作。
而这也是Android一直以来在系统和应用执行性能方面一直被诟病的原因。当然,Google也知道自己的毛病,因此早从数年前就开始投入研发Fuchsia操作系统,试图从底层重新出发,解决安卓系统的问题。
Fuchsia最大的特点在于舍弃了Linux的宏内核,改用灵活的微内核。谷歌的计划,是时机成熟时用Fuchsia取代安卓系统,手机、平板等各种机器都包括。其实看上去和鸿蒙系统有些象。
鸿蒙规划虽久,但实际上投入开发就最近几年的时间,应该也是受到Fuchsia的启发,并且学习其设计理念。然而鸿蒙发布了,Fuchsia却还遥遥无期,主要还是Google的Android有太多历史包袱需要承担,不能断然舍弃过去的硬件平台与软件支持,这让Fuchsia的开发难度极高,
回到今天所发布的鸿蒙操作系统,华为希望做到以单一操作系统对应不同的终端,从手机、电脑、平板、手表、电视,都可以在同一套系统框架之下进行开发,理论上不需要进行额外的转换工作,或者是针对不同设备打造不同的操作系统。
而这也就是微内核的最大特点,只要抽换针对不同设备的底层模块,就能适用于不同的设备设计。而应用程序也同样可以在不同的设备上通用。
而鸿蒙也不再将个别硬件独立处理,而是将其视为同一个操作系统下的不同输出输入部份,这部份和苹果在MacOS或iOS上的Hand Over设计有著异曲同工之妙。
另一个鸿蒙值得称道的地方,在于其内核调度机制进行了很大的改善,就好比过去Android使用的是车种分流,相同类型的工作被排在一起,而不是依照工作效率需求调配,而鸿蒙使用的是车速分流,内核会依照应用对性能需求的不同,而有不同的调度流水线,不会让快慢不同的应用塞在一起。这也有助于整体效率的提升。
通过先进的调度逻辑,可以将应用的响应时间降低25.7%,同时时延的波动率也能下降55.6%。
而在安全性方面,鸿蒙微内核之间是互相隔离的,权限也不同,不会有像Android被取得主要系统权限之后,所有的应用信息或权限保护都会被剥干净,让整个系统私密信息完全暴露的风险。另一方面,微内核代码极少,维护简易,远较宏内核不易被入侵。另一方面,鸿蒙也可以保留Linux内核,借以扩展必要的兼容性或安全性。
而做为一套全新的操作系统,目前鸿蒙一方面通过各种利诱方式吸收开发者开发原生应用,一方面也通过方舟编译器来转换现有的Android应用到鸿蒙上,而不只是Android应用,该编译器也能转换基于C/C++、Java、JS或Kotlin等程序语言写成的应用。
而根据发布会上的信息,首款基于鸿蒙系统的设备是电视,8月10日就会正式发布,随后在2020年,会新增电脑、智能手表以及智能汽车的支持,2021年将会进入耳机、智能扬声器以及VR/AR等应用当中。
那么手机呢?
华为方面表示,考虑到既有移动生态系统的合作,智能手机还是会持续使用Android平台,但未来如有万一导致Android平台授权被彻底终止,鸿蒙就可以上场取而代之。
而余承东也在最后强调,做为全球首个发布的基于微内核的全场景分布式操作系统,鸿蒙操作系统也会彻底开源。
当然,开源是吸引开发者的有效手段之一,然而开源并非一定就会成功,过去很多开源操作系统发展到最后都只能进入历史的坟墓,或者是隐没于在特定产品中,最后仅剩系统原始拥有者在维护,开源失去意义。
这些失败的原因不外乎平台太过局限,或者是操作系统的和特定厂商结合得太紧密,使得第三方软硬件开发者兴趣缺缺,而这也是未来华为在推广鸿蒙时需要注意的事情。