要说科技领域今年最红的话题,华为的鸿蒙系统肯定算一个。相关传闻真真假假,前后闹腾了好几个月。就在刚才,华为总算是在自家的开发者大会上,给了各位吃瓜群众一个交代:
鸿蒙系统,来了。
史上最安全系统?
首先得明确一下,鸿蒙并不是之前很多人想的那样,是另一个基于 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 工具。只要通过简单的鼠标拖拽,就可以为各种不同设备提供适配,非常方便。