「鸿蒙初辟原无姓,打破顽空需悟空」,在国产自研操作系统短缺的窘境之下,天惊一声雷,「鸿蒙」踏风来。
回首上个月的技术圈,最值得业界浮称流说的无疑是 8 月 9 日华为开发者大会 2019(简称 HDC 2019)上公开的「鸿蒙 OS」。作为一款基于微内核的全场景分布式 OS,「鸿蒙 OS」肩负打破传统 IoT 操作系统的责任,同时也成为万众期待的移动操作系统市场上的 Plan B。
其实自「鸿蒙 OS」揭开神秘面纱至今已有一月有余的时间,业界对其看法贬褒不一,有人表示,「鸿蒙 OS」的到来一石激起千层浪,名副其实的国产自研操作系统的骄傲;不过也有人质疑,目前看起来依旧是一款 PPT 操作系统的鸿蒙 OS 真的有那么大的潜力吗?对此,我们也不禁好奇,初生牛犊的「鸿蒙 OS」是否真的能实现以上的种种?其背后又有哪些不为人知的故事?对于为「鸿蒙 OS」开路的全新产品之华为方舟编译器,它的开源代码又将为技术圈的从业者们带来哪些思考?
基于此,CSDN 独家策划了以「鸿源初辟,蒙地始开」为主题的《程序员大本营》9 月刊,将为大家全面揭晓鸿蒙 OS 背后的种种,也将帮助大家更好地了解当下主流的物联网、AI、云计算、区块链等技术迭代历史和最新的发展趋势。(精彩内容不容错过,想要查阅完整的《程序大本营》期刊?扫描下方二维码,下载 CSDN App,限时四天,免费获取,先到先看哦~~)
1、十年磨一剑,霜刃未曾试
事实上,和素有“动物园”之称的阿里相比,华为更像是一本《山海经》。被命名为「鸿蒙」的操作系统就是典型的华为版《山海经》重要组成之一。
众所周知,,但霜刃始终未曾试。
早在 2009 年,华为就于内部创立了编译组,开启了秘密研发模式,旨在为自研芯片、新一代通信、云计算、操作系统等技术提供编译器的基础建设。
到了 2012 年,华为再次成立了一个代号为“2012 实验室”,面向未来进行 5-10 年的长期布局,基于以上新兴科技开始深入技术研究。
彼时“2012 实验室”为了进行专项研究,它的旗下逐渐衍生出以多个以科学家名字命名的实验室,譬如诺亚方舟实验室、欧拉实验室、香农实验室、高斯实验室。此前,据国内不少媒体透露,华为的方舟编译器正是来自诺亚方舟实验室,而华为的操作系统则是由欧拉实验室负责研发。
之所以要自研操作系统,其实极其具备危机意识和忧患意识的华为掌舵者任正非早在 2012 年的一次内部讲话就曾透露道,华为做终端操作系统是出于战略的考虑,“(如果)Android 系统不给我用了,Windows Phone 8 系统也不给我用了,我们是不是就傻了?”
果不其然,短短几年后,这个担忧还是发生了。2018 年之际,华为一朝被美国政府列入“实体清单”(Entity List),这意味着华为在未来倘若没有美国政府的许可,所有美国企业将不能再给华为供货。
而在此后没多久,据路透社报道,有消息人士称,Alphabet 旗下的 Google 受美国“行政令”的影响,于 2019 年 5 月暂停了与华为的部分业务合作,其中 Google 除了 Android 操作系统开源的部分,停止了对华为授权 Android 系统中闭源的应用以及技术支持等服务,即 Google 的 Google Play Store、Google 语音控制助理、Google 地图、Gmail、YouTube 等应用,华为设备虽然可以下载但是将无法正常访问。
操作系统被扼喉,外患加内忧的双重压力下,华为暗中发力,加快自己产品的研发速度,而更多有关鸿蒙 OS 的消息也接踵而至:
5 月 24 日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标,申请日期是 2018 年 8 月 24 日,注册公告日期是 2019 年 5 月 14 日,专用权限期是从 2019 年 5 月 14 日到 2029 年 5 月 13 日;
5 月 17 日,有网友曝光由上海某教授领导华为操作系统团队开发的自主产权操作系统「鸿蒙」的相关技术应用;
依旧是 5 月,华为消费者业务 CEO 余承东终松口表示,鸿蒙最早将于今秋面世;
7 月,华为董事长梁华表示,鸿蒙是为物联网开发的系统,可在自动驾驶,远程操作医疗环境,提供低时延的一个操作系统;
......
2、今日把示君,谁有不平事
秋季未至,而华为「鸿蒙 OS」提早面世。
在今年 HDC 2019 上,作为“理工”出身的华为消费者业务 CEO 余承东带着为极具技术性的「鸿蒙 OS」惊艳了全场。
对此,余承东正面解释了
而从技术架构来看,鸿蒙 OS 具备四大特性:
分布式架构:实现跨终端无缝协同体验
鸿蒙 OS 的“分布式 OS 架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
实现系统天生流畅:确定时延引擎和高性能 IPC 两大技术
为了满足万物互联的全场景智慧时代对 OS 提出的新要求,鸿蒙 OS 将硬件能力与终端解耦,通过分布式软总线连接不同终端,让应用轻松调用其他终端的硬件外设能力,为消费者带来跨终端无缝协同体验。
内核安全:基于微内核架构重塑终端设备可信安全
鸿蒙 OS 采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。同时,它还将微内核技术应用于可信执行环境(TEE),首次通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。
统一 IDE 支撑一次开发,多端部署,实现跨终端生态共享
鸿蒙 OS 配备面向多终端开发的统一 IDE(集成开发工具),可以帮助开发者实现真正的一次开发,多端部署,在跨设备之间实现共享生态。
整体而言,鸿蒙是全球第一个微内核、面向 AI 全场景的分布式 OS。
3、「鸿蒙 OS」的领军人物
那么,要问这款伟大且极具里程碑意义的产品究竟来自哪些精英之手?其是否有着灵魂人物的存在?
众里寻他千百度,据了解,鸿蒙 OS 背后的灵魂人物是一位来自上海交大的教授、博导——陈海波,与此同时,他还兼任华为 OS 首席科学家、操作系统内核实验室主任。
乍一听,或许很多人并没有直观感受到全球操作系统领域顶尖人才的技术魅力,但是当打开这位年轻 80 后教授陈海波的个人介绍页面(https://ipads.se.sjtu.edu.cn/zh/pub/members/haibo_chen/)时:
2010 年,亚洲学者们连续 40 年,都没能在 SOSP(操作系统原理大会,成立于 1967 年)上独立发表研究论文。2011 年,陈海波的论文被 SOSP 录用,难破的纪录,就这样被一位三十来岁的年轻人 Kill。
此外,陈海波还多次担任 SOSP、ISCA、Oakland、EuroSys、Usenix ATC 等国际著名学术会议 PC members,APSys 2014、2014 年全国体系结构学术年会等 PC Co-Chairs,以及 ACM APSys 的 Steering Committee Co-Chair,在 SOSP、OSDI、EuroSys、Usenix ATC、ISCA、MICRO、HPCA 等发表多篇学术论文,获得 VEE 2019、APSys 2017、EuroSys 2015、APSys 2013 与 ICPP 2007 的最佳论文奖,HPCA 2014 的最佳论文提名奖,以及 2009 年 CCF 优秀博士学位论文奖、2011 年全国优秀博士学位论文奖与 CCF 青年科学家奖、2015 年中国计算机学会青年科学家奖、2018 年度教育部技术发明一等奖,入选教育部新世纪人才计划与国家万人计划“青年拔尖人才计划”;
以下是近五年来,陈海波在操作系统领域所做的一些贡献:
我们才深刻感受到真正的王者,从来低调。
4、鸿蒙 OS 的第一枪:方舟编译器
正是在这位灵魂人物的引领,以及国内外学术界多位 OS 领域学者、专家的共同努力之下,鸿蒙 OS 才会成功进入大众视野与日常产品应用中。
不过,如今距离这款操作系统的发布已经过去了一个多月的时间,但是用户依然未能亲眼目睹彼时余承东宣布将会开源的鸿蒙 OS 的源代码,对此,业界依旧有不少人质疑鸿蒙为一款 PPT 操作系统, 那么鸿蒙 OS 是否真的能承受住万众期待的重量?
实则,8 月底华为开源的方舟编译器已在无形之中打响了鸿蒙 OS 起跑的第一枪。
为何会如此评价?对此,CSDN 特邀上海鉴释科技创始人、前华为人&原方舟编译器立项负责人之一梁宇宁解剖到:
如果要一个操作系统高效,它的设计必须和它的芯片或多或少有更密切的关联,而这些关联就是用编译器去达成的,就是负责把程序源代码根据芯片的设计去做最大化优化。
华为手机的技术一直是以苹果手机对标的,自然而然,华为就要构造这些能力从芯片,操作系统到编程技术。
为了对标苹果,当初的目的是为了省内存和闪存,从而有相应性能提高,而华为首先尝试改变安卓上的采用编程技术,再来实现软件和硬件联同设计,如 CPU 的流水线和特有指令等。
从方舟编译器的开源,就可以很清晰的看到,当初决定的技术方向,就是把动态语言特性静态化在运行前预处理,这还是属于 AOT 范围,但是比 SUN 当时在 Java 上做的 AOT 激进:
把 Java 的字节码预编译成机器码,当然有华为自己的 IR 为编译转换和优化所用;
把 Java 的内存垃圾管理 GC 改成和苹果自动引用计数 ARC 一样。
这是不包含传统编译器:
Java 编程语言解析器,负责把 Java 程序源代码转换成 Java 的字节码;
生成的机器码还是 ARM 标准的指令集,没有华为芯片特定的指令;
没有自己链接器,所以没有对应的优化。
简单来看,编译器虽没有被集成到操作系统内核中,但也是操作系统的功能中很重要的组成部分。
5、鸿源初辟,蒙地始开
而未来鸿蒙 OS 会如何?
目前,随着搭载鸿蒙 OS 的荣耀智慧屏的发布,我们也亲眼见证了基于该操作系统的智慧屏电视已与手机实现全方位互联,且带来了更加高效的交互,而未来也正如华为官方所述,鸿蒙 OS 会逐步应用于可穿戴、车机、音箱等更多的智能设备中。
其实,最初业界对于鸿蒙 OS 的期待是希望它能成为 Android 的替代者,而并非是面向全场景的 IoT 操作系统。
如今在现实面前,要问用户是否会有失落之感?其实是有的,不过对此,诸多华为发言人也不断地表示,如果将来美国允许使用 Android,华为将仍然使用 Android 系统和生态;如果美国不允许华为使用 Android 系统,华为也能够拿出自己的产品,鸿蒙系统不是谈判策略。
从一定程度上来看,这无疑是当前最好的方案。为何这么说,其实反思华为之所以提前让鸿蒙 OS 面世,一方面或因为美国封令的压力,另一方面,这也是华为想让鸿蒙 OS 开始学走路的标志。
事实上,和 Android 庞大且成熟的生态系统相比,鸿蒙 OS 仍旧是一个步履蹒跚的学童,其想要实现加速跑步还需要足够的时间去开源吸引更多的用户与厂商参与、构建一套完善的应用层生态、适配更多的终端等等,因此,当下想让鸿蒙 OS 短时间之内将 Android 取而代之,显然不切实际,不过,鸿蒙 OS 如今动起来终究是一件好消息。
对此,梁宇宁也评价道:“也许今天,我们无法想象华为的将来会是如何,我深信只要华为如给承天霹雳辟开,逐渐地彻底地真诚开放,团结世界上一切可以团结的力量,光明永远在等候着有心人的到来。”
最后,想要了解更多更详细更专业的鸿蒙 OS 内容与 IoT 领域内容,与你相约《程序员大本营》9月刊,扫描下方二维码,下载 CSDN App,立即查阅文章~~
华为 | 泰山之巅 鲲鹏展翅 扶摇直上九万里
聊聊我是如何在面试别人Spring事务时“套路”对方的
腾讯开源物联网操作系统 TencentOS tiny,最小体积 1.8KB!
免费开源!新学期必收藏的AI学习资源,从课件、工具到源码都齐了
阿里云智能运维的自动化三剑客
走出腾讯和阿里,大厂员工转型记
鸿蒙 OS 的到来,能为我们改变什么?| 程序员大本营9月刊