“流水不争先,争的是滔滔不绝”,我们要做出最好的操作系统。
——鸿蒙操作系统战队
2013年立项MediaOS,2014年立项LiteOS,2015年立项AOS,华为几乎每年都有一个围绕操作系统的战略级投资。华为准备自研操作系统的意图已经非常明确,后续的探索正沿着这条路径一步步展开。
回溯至2016年,距离美国对华科技制裁还有3年,华为自研操作系统的战略布局在当时已迈出了关键性的一步:鸿蒙内核立项。
鸿蒙内核立项的决策与对根技术风险的深刻洞察密不可分。从早期的批处理操作系统解放了计算机操作员的机械化劳作,到主机操作系统采用分时复用实现多任务的飞跃,再到20世纪80年代桌面操作系统催生PC互联网的浪潮,以及21世纪初移动操作系统引领移动互联网的革命,操作系统已经逐渐成长为软硬件系统的神经中枢,更是在信息产业中掀起了一波又一波的创新浪潮。然而,一直依赖外购商用操作系统的华为,嵌入式设备几乎完全依赖美国风河公司的VxWorks实时操作系统和WRLinux
。VxWorks是一个专为实时应用设计的独立操作系统,与基于Linux的WRLinux覆盖了绝大部分华为嵌入式设备。这种高度依赖性意味着一旦这些操作系统出现问题,华为的CT业务就可能面临全面暂停的风险,业务连续性会受到严重威胁。
这个数据强烈触动了华为的底线思维,华为重新评估了对Linux体系的依赖性,尤其是在物联网这样被广泛使用的场景中,Linux似乎并不是一个好的选择。因为Linux自1991年诞生至今已有30多年,虽然在云计算领域已占据主导地位,但在面向未来的竞争时,它显得有些力不从心。中央软件院做出了决策:用自研实时操作系统替换现有的VxWorks系统,加固华为的CT业务防线,同时攻关欧拉操作系统,以应对IT领域的挑战——CT和IT这两道防线并行构建,保障未来。
接下来,就是针对终端的解决方案。终端领域如何才能拥有一个安全的、区别于安卓,甚至优于安卓的操作系统?当时终端使用的安卓系统运行框架、鸿蒙的研发,以及内部正在攻关的AOS项目、欧拉操作系统的研发都是基于Linux开发的。全面替代Linux,才谈得上拥有一个全新的操作系统备胎,即随时上阵的Plan B!
然而,当时内核研究团队规模不过百人,势单力薄的团队成为内核立项的重大阻碍。在一次重要会议上,华为一位重量级专家直白地说:“我不认为华为甚至中国有开发一个通用操作系统内核的能力。”这位专家还举了一个例子:“前几年手机上有一个调度问题,公司专家攻关两三个月都没有解决,请了外部专家指导,两天就搞定了。”专家的话几乎是2008年前中国操作系统行业的缩影。当时国内的大多数公司仅停留在写硬件设备驱动程序的阶段,几乎没有公司真正搞操作系统的开发,学术界的成果更是乏善可陈。事实上,随着中国科技的快速发展,国内的研究水平和人才浓度早已今非昔比。
陈海波就是一个颇具时代代表性的人物。
2016年中秋节前夕,时任中央软件院总裁的龚体,邀请上海交通大学教授陈海波担任华为操作系统首席科学家、操作系统内核实验室创始主任。目的就是想请他开发一个全新的操作系统内核,且要与Linux内核彻底不同。
早在2011年,陈海波的论文就被SOSP(操作系统原理大会)录用,创造了亚洲学者40多年来首次在该大会上发表论文的奇迹。同年11月,上海交通大学引进不过28岁,博士毕业刚两年多的陈海波,并将他破格晋升为教授。麻省理工学院顶尖教授、美国工程院院士亲自背书,赞誉他学术造诣深厚,可与美国前20名高校青年教师媲美。更引人注目的是,图灵奖得主约翰·E.霍普克罗夫特也亲自站台,称陈海波与麻省理工学院、斯坦福大学、康奈尔大学的青年教师水平相当。进入上海交通大学任教后,他成为系统结构、操作系统与系统安全领域的领军者,他领导的实验室在操作系统领域更是明星般的存在。2012年,华为与陈海波创办的上海交通大学并行与分布式系统研究所,展开了操作系统与系统安全领域的深度合作。双方通过软硬件结合的创新方法,共同研究防御攻击的策略,并成功发表了学术论文。这一成果当时震惊了英特尔,他们称赞这篇论文为行业带来了革命性的突破,因为它打破了纯软件或纯硬件的桎梏。
所以,2016年,华为正式向陈海波发出邀请,承诺陈海波可以“不离校园”,采用双聘制,响应教育部的号召,探索产学研协同人才机制,确保他能同时为华为和上海交通大学工作。他的导师臧斌宇教授很开明地表示支持,他说工业界的工程思维对一个教授而言同样重要,力劝陈海波抓住这次难得的机会,去工业界闯荡一番,同时向时任电子信息与电气工程学院院长的毛军发汇报了此事。毛院长在向校领导口头汇报后,对陈海波说:“没事,你就去吧。学校里的事情你该完成就完成。成果少一点也没关系,把事儿完成就行了。”此前上海交通大学已有众多师生被派遣到中华电力、中国航天科技集团等国企任职,这一次学校也全力支持陈海波。
陈海波自己也清楚,在美国,校企合作早已蔚然成风,不少企业高层与大学教授身份重叠,形成了一种独特的跨界融合的产业财富。陈海波的朋友圈里,有不少国外头部企业Fellow级的专家,同时也是大学教授。中国学术界的研发确实不能一直停留在原型阶段,华为这样的大企业有能力对研发周期长、转化难的基础科技给予长期支持,如果他亲自下场做,还能吸引更多的高手和专家加入这支队伍,加快研发进度。他很愿意接受这样双赢且全新的挑战。
陈海波在上海交通大学的第一个博士研究生刘宇涛(后担任华为德累斯顿研究所所长),已经比他早两个月进入华为。原本希望毕业后在学术界发展的刘宇涛,在和华为招聘专家交流后改变了想法,他满心忐忑地给导师陈海波打电话,说明自己改变职业规划的想法。让他颇感意外的是,陈海波完全尊重他的想法,并支持他到华为去打拼。待2017年刘宇涛博士毕业,被分配到操作系统内核团队后两个月,刚加入华为不久的陈海波见到刘宇涛后还跟他开玩笑地说:“你再怎么翻转还是没脱离‘如来’的手掌心。”
在陈海波这个操作系统内核主导人到岗后,2016年年底,徐直军亲自决策,正式启动了自研操作系统内核的研发。陈海波到任后的内核队伍,从最初的北京、杭州两个据点,9个人的规模,扩展到上海、南京、北京、杭州、深圳以及海外的数百人规模。继陈海波的成功案例之后,龚体几乎为华为的各个基础软件攻关领域都“配置”了一名高校教授来担任实验室主任,形成了华为公司内部的“产学研无缝对接”的良性生态。
另一位重量级内核专家贾宁,也在此时被陈海波引入,并于2023年接棒,出任操作系统内核实验室主任。
贾宁读博士期间,陈海波已是知名教授。因为研究相同的领域,他们在学术上有过一些探讨与交流。陈海波引荐贾宁加入华为时,贾宁正在北京大学微处理器研究开发中心研究北大众志CPU上的操作系统,十多年的研究经历让他深刻地体会到,以操作系统为代表的基础软件需要理论和大量实践的结合。虽然不舍得离开学校,但他知道,单靠学校实验室和小公司的力量很难做好,就像“重工业”必须重兵持续投入才行。即便像华为这样的商业公司,要做新内核,单靠“自研”的光环也不会为它带来太大的增值,它必须有绝对的商业竞争力,才有可能说服产品线去替换并获得成功。现在,虽然他不太了解华为当时的操作系统投入策略,但是有“华为”和“陈海波”这两面旗帜,他隐约觉得,这事儿应该“有戏”!
贾宁被分配到了欧拉团队,在陈海波的带领下,他们要为华为设计一款有竞争力的操作系统内核。当看到内核团队正快速奔着百人以上的规模发展时,他不禁惊叹——华为对操作系统的投入“竟然这么大”,果然是真金白银、真刀实枪地做操作系统研究。此时的华为,正积极践行任正非对基础科学的战略部署:“科学和技术的边界越来越接近,科学转化为技术的时间越来越短,如果等到大学把理论完全研究明白再去进行技术开发,就已经没有先发优势和竞争力了。所以我们华为每年投入30亿~50亿美元用于基础理论研究,与大学一起共同研究看似无用的科学。”
2017年,贾宁从计算机系统顶级学术会议ASPLOS(编程语言和操作系统的体系结构支持会议)参会归来,对高水平论文的作者做了一个简单统计,发现华人姓名的作者已经不少了。华为外部操作系统行业的飞速前进,以及华为内部对操作系统大手笔的投入,对于消除华为老专家的“思想钢印”起了很大作用,内核立项得以顺利完成。
2016—2017年,龚体、时任欧拉部长的谢桂磊和陈海波等人在综合分析业界趋势的情况下做出判断:操作系统面向未来将迎来万物智联这一“换道超车”的重大机遇。
基于以上目标,尚未进行系统性创新的华为已然看到了操作系统微内核的潜力,技术团队一致同意使用微内核作为新内核的基础架构。与微内核对应的架构是宏内核
,即把所有的东西糅到一起来实现高性能。操作系统“泰斗”安德鲁·坦嫩鲍姆曾调侃宏内核架构,说它就像建设了一艘航母,只要其中一个马桶堵了就会导致导弹无法发射,也就是说,任何一个组件里,但凡有一行代码写坏了,整个系统就会出现不可预期的行为。微内核架构的优势之一就是安全和可靠,即一个组件坏了,不会影响另一个,故障和扩散半径是十分可控的。微内核的另一个优势是组件解耦,可以自由组合和独立演进,在面向多个产品交付时可做到场景适配且相互不影响。
在项目成立之初,陈海波灵感迸发,为新内核取了一个名字——鸿蒙,这个名字取自《道德经》中“一生万物,万物归一”的思想,他希望在这个万物智联时代,各种各样设备的操作系统都能够实现架构同源,并实现统一生态与智慧协作。2018年,华为提交了相关商标注册,包括中文商标“华为鸿蒙”和英文商标“Huawei HongMeng”。
在做了充分调研和讨论后,陈海波和贾宁等核心骨干认为,在终端万物智联、5G远程作业、AR(增强现实)/VR(虚拟现实)、自动驾驶等场景,以Linux为代表的现存操作系统已经难以满足需求,尤其是在时延、多场景适配、安全性、可靠性等方面。鸿蒙内核的愿景定位为“One OS Kit For All”,即用一套操作系统开发工具包来适配多种场景,解决场景众多、技术生态割裂的“昆虫纲悖论”
,并初步规划了弹性扩展、确定性时延、形式化安全三个关键技术特征。
鸿蒙内核的愿景吸引了一大批有理想的技术专家踊跃加入,他们包括内核专家王楠、虚拟化专家李雨、形式化验证专家付明、内存和存储领域专家缪勰、调度领域专家王飞、系统安全专家刘宇涛,以及项目管理专家张殿芳、赵鸿江、马宇航,技术规划专家钱梽杨,安全认证专家刘哲等团队关键成员。他们被凝聚在一起,开启了鸿蒙内核研发和场景落地推广的新征程。
鸿蒙内核如火如荼地开始后不久,内核团队就遇到了一个十分棘手的问题:谁先吃这个内核的“螃蟹”,即哪个产品率先规模商用鸿蒙内核?陈海波带着贾宁等骨干跑遍了公司的绝大部分产品线,向各个产品团队推销鸿蒙内核。产品团队专家听了内核的技术介绍都表示很先进,很有竞争力,但一谈到商用就一脸犯难。有些领导直接说:“投资一些资源,一起搞个预研项目没问题,但内核这么重要的基座,我只相信经过时间和部署规模检验过的。一个新的内核,技术再领先,我也不敢先用。”没有产品规模商用过,就不能证明鸿蒙内核的质量可靠;不能证明质量可靠,就没有产品敢规模商用,内核团队很快陷入了一个“先有鸡还是先有蛋”的死循环。华为最看重产品质量,除非鸿蒙内核能提供其他产品无法拒绝的竞争力,否则很难打破这个循环。
经过多轮沟通,鸿蒙内核团队终于找到一个关键机会点:Mate 20系列手机的芯片搭载了NPU(网络处理器)处理器,华为公司计划将金融级安全的3D人脸识别作为核心卖点,要求手机的TEE(可信执行环境)操作系统必须具备高安全性和高性能,并且能支持AI框架,而之前采用的内核难以满足这些需求。
有了这样难得的机会,内核团队一鼓作气,半年内就做出了一个较为完整的原型系统。基于鸿蒙内核的TEE系统能成功执行指纹解锁流程。有了原型系统带来的信心,安全OS部门领导下了决心,全力保障鸿蒙内核的商用落地。
直到内核被推入“首次商用”的进程,贾宁才真正体会到之前产品线领导对质量的要求有多苛刻。他做过一个简单测算,虽然程序错误发生的概率极低,低到一百台测试机器运行一年都未必能遇到一次,但一旦这个程序被安装在一亿台手机上,由于设备数量的激增,错误每天至少会发生一千次。如果每天出现一千次因内核问题导致的整机重启,那就是‘一级质量事故’,领导下课,项目泡汤,这些问题将对华为手机形成巨大的打击。当时安全OS部门的领导,三天两头就到内核团队看进展,他最常念叨的话就是“我在华为的职业生涯就押在你们团队身上了”“华为上千亿(元)的生意也都押在你们身上了”。
从安全角度看,内核是操作系统的“可信基”,换句话说,是整个系统安全的“命门”。鸿蒙内核在研发之初,就以最高标准的形式化验证技术来保障内核的安全性。
形式化验证起源于欧洲,通过数学公式和逻辑推理来确保软件的每个部分都能按预期工作。不过,这种方法非常复杂,需要很多数学高手,他们得用很长的数学证明来验证软件中短短一行代码的正确性,只有早期的航天系统、卫星系统中特别关键的部件,才会采用如此高代价的形式化验证方式。但它依然没有被历史淘汰,因为经它验证的代码零漏洞,远比其他普通代码安全和可靠。你可以把它想象成在软件中植入了一段非常坚固的“钢钉”,被“钢钉”加固的代码非常稳定,可以保证在未来很多年内都不会出现问题;你也可以把形式化验证视作给软件做一次彻底“体检”,虽然过程复杂且成本高,但一旦通过,就能保障软件的质量和安全性,这对高可靠性系统而言极具价值。
所以,贾宁虽然心里也很忐忑,但总会用充满信心的口吻来安慰黄津:“我们的核心组件是经过形式化验证的,您不相信我,还不相信这些数学博士吗?”
为了确保内核安全,华为组织了一支由形式化验证专家和操作系统专家组成的团队,对鸿蒙内核中的关键代码进行了形式化验证。通过形式化验证的鸿蒙内核展现出三大突破性优势:一是用户体验更流畅,二是安全性更高,三是更加弹性。Mate 20手机的TEE也足够支撑人脸识别认证、指纹认证、手机盾、手机车钥匙、电子钱包等一系列高安全隐私业务的安全性。
Mate 20成功担负起鸿蒙安全内核首个落地场景的历史重任,它迈出了证明自身质量关键的第一步,更为后续多个场景规模的商用奠定了基础。随后的几年,鸿蒙内核稳扎稳打地沿着“封闭场景—半封闭场景—开放场景”的策略进行场景落地。此后,更陆续在连接设备和嵌入式设备这类半封闭场景进行商用落地,包括无线基站、数通园区设备、智能车等,为华为关键产业带来操作系统核心技术自主可控的同时,还提升了性能,减少了系统资源开销。
任正非曾对外界澄清鸿蒙的起源:“鸿蒙并非专为手机而生。”这句话的深意可以和鸿蒙内核的这段历史联系在一起,不管这个阶段叫“前鸿蒙”还是“前前鸿蒙”,鸿蒙从一开始瞄准的就不仅是手机等终端设备,而是要在万物智联的世界里大有可为!