要说科技领域今年最红的话题,华为的鸿蒙系统肯定算一个。相关传闻真真假假,前后闹腾了好几个月。就在刚才,华为总算是在自家的开发者大会上,给了各位吃瓜群众一个交代:
鸿蒙系统,来了。
史上最安全系统?
首先得明确一下,鸿蒙并不是之前很多人想的那样,是另一个基于Linux内核发展起来的套壳系统,而是基于华为自己搞的一套微内核。
是的,内核也分大小。 搬好板凳,极果君稍微科普一下:众所周知,安卓系统是基于Linux内核的。而Linux本身是一个“胖内核”,进程控制、网络、外围设备、文件系统……什么都要管。
这样的内核功能很强大,但代码很多,对硬件的性能也有一定要求。再加上外边的安卓系统,需要的性能就更多了。余承东在现场透露,Android系统的代码大概1亿行,Linux内核就有2000万行。而到用户手里,真正每天经常调用的,只有这当中的8%。
鸿蒙则换上了“微内核”设计,代码行数很少,只提供最基本的服务。其它服务则放在互相独立的进程当中运行,即使其中一个崩溃,也不会引起整个内核挂掉。这让鸿蒙变得比Linux内核,理论上更加安全:Linux的各种基本服务都跑在内核态,设计上也留下了一个“上帝模式”的root权限。一旦被攻破,就可以对整台设备为所欲为。
而鸿蒙的微内核设计,天然没有root,服务之间的权限是分开的。即使其中一个沦陷,也很难影响其它模块的安全。
代码数量少也是一大优点。这本质上是个概率问题:再好的编程高手也有出错的时候,而代码数量越多,越可能有潜在的错误。而且代码简洁的程序,还可以进行形式化验证,更加安全。
这种手段基于(某种极果君完全看不懂的)数学原理,过去只用在航空和芯片设计上,非常复杂但是效果拔群。因为1行程序,可能要对应100行形式验证代码。这对Linux内核这种2000万行的怪兽来说就是灾难,只有代码够少的微内核才能这么干。余承东表示,鸿蒙OS未来会进行安全测试。不过他相信,这应该会是全球首个5级,甚至5+安全级别的操作系统。
但微内核互相独立的设计也有问题。各种基本服务之间互相隔离,进程之间的沟通成本却要大大增加。就好比两个人,明明可以坐在一个办公室里口头交流,进了隔间却只能互相打字,敲键盘敲到手酸。所有的微内核设计都要面临这个问题(对,鸿蒙不是第一个微内核系统),但华为最擅长的就是通信:他们优化了协议,抛弃了之前一层套一层的复杂结构。同样是微内核架构,鸿蒙的通信效率是QNX(黑莓内核)的3倍,谷歌Fuchsia的5倍。
代码量低、高性能、安全性,我全都要。
能兼容安卓吗?
能。目前的鸿蒙内核,还处于和Linux的并存状态。但在未来的版本中,鸿蒙系统会通过软件方式,实现对安卓App的兼容。包括更加专业的Linux、Unix软件,未来都可以通过这种方式,跑在鸿蒙系统上。余承东在现场更是放言,可以“一夜间让中国所有的应用,都兼容鸿蒙操作系统”。
不过儿子还是亲生的好。作为一个新出生的系统,华为肯定还是希望开发者能贡献更多的原生应用。华为为鸿蒙提供了一整套工具,可以在开发过程中,通过很少的改动,就能让一个App通吃手机、电视和汽车。不知道是不是对标苹果,华为还提供了非常方便的UI工具。只要通过简单的鼠标拖拽,就可以为各种不同设备提供适配,非常方便。
另外,不同的鸿蒙设备间还可以互通有无。电脑没有摄像头,旁边的手机可以替它代劳。而这种能力天生根植在鸿蒙的“软总线”里。不需要费劲安装软件,系统自己就会互相协调。这样的互通能力,甚至比目前的mac和iOS之间还要深入。那么搭载鸿蒙的硬件全家桶,什么时候能买到呢?
什么时候能用上?
你已经用了好几个月了。跟本君之前分析一样,华为手机中的硬件安全部分,已经用到了鸿蒙进行驱动。在华为手机上的每次解锁、支付,背后都有鸿蒙系统的支撑。
不过在手机上,鸿蒙暂时还是作为备胎。华为后续还是会继续发展Android,今天新发布的EMUI 10,也依然基于Android系统。不过,一旦Android不能继续为华为服务,鸿蒙应该也可以随时准备接棒。
说起来,鸿蒙系统中对硬件虚拟化的强调,也很符合陈海波教授的研究方向和风格。但这位80后学霸今天没上台……大概是忙着干活没空下凡吧。 至于其它产品,华为今天也公开了鸿蒙系统的发展路线图。明天推出的荣耀智慧屏,会是华为系第一款搭载鸿蒙系统的硬件产品。国产电脑、车机、手表手环之类,则会在接下来的一两年中陆续有来。
想知道首发鸿蒙的智慧屏长啥样?明天下午记得回来看看!
鸿蒙OS真这么好?
鸿蒙的概念并不新,不管是微内核系统,还是一次编程全家适配的思路,都不是华为第一个提出。1995年,Java语言首次发行。基于虚拟机技术,Java程序可以摆脱硬件的束缚,在各种设备上运行。也是它提出了那个著名的口号:Write once,run everywhere。(一次编写,各处运行)。
但事与愿违,Java虽然在各种设备上开花结果,却出现了各种不同的虚拟机实现,承诺的“一次编写,到处运行”,最后成了一纸空谈。程序员不得不对每种运行环境单独适配,改bug改到秃头。那个口号也成了著名的笑话:write once,debug everywhere。
进程间通信的性能,这次发布会其实也有所保留:在已知的微内核系统里,鸿蒙的确是性能最强的。可跟宏内核的Linux相比,它究竟是快还是慢?华为没有放出这部分的对比数据,性能到底如何,恐怕只有真货出来之后才知道了。
不过,华为也有自己的优势。跟当年Java面对的窘境不同,鸿蒙都是运行在华为自己的硬件上。何况华为一贯严谨,一致性应该不成问题。至于软件性能,华为也承诺会将鸿蒙开源。更多的软件细节,到时候自然水落石出。
不管怎么说,中国又多了个新系统,而且不靠Linux,这总归是件大喜事,对吧?