21页报告解密华为鸿蒙系统,七年沉淀、称霸IoT时代的野心
上周,华为于开发者大会发布基于微内核的全场景分布式鸿蒙操作系统,同时宣布方舟编译器开源。从技术角度看,操作系统作为管理分配硬件资源、实现应用软件功能的重要载体,技术含金量之高决定了其”金字塔尖“的地位。从生态角度看,操作系统厂商更是相应产业生态的主导者。鸿蒙操作系统的推出,对华为、对我国自主可控进程的意义不言而喻。
本期的智能内参,我们推荐申万宏源的研究报告《华为鸿蒙操作系统全景解构》,全面解析鸿蒙操作系统的研发历程,技术特点和华为“5G+IoT” 时代的野心。
一、 七年沉淀,发力“鸿蒙” 1、ICT 领域之“大脑”,得系统者得天下
操作系统(OS,Operating System)是管理计算机软硬件资源的“大脑”。常见 ICT系统包括硬件和软件两部分,软件又可分为操作系统软件和应用软件。其中操作系统是介于硬件和应用软件之间的一层重要部分,是管理分配硬件资源、实现应用软件功能的重要载体。
操作系统在 ICT 领域扮演重要角色,其作用可从技术、生态两方面佐证:
技术角度看,操作系统在程序运行的过程中起重要作用。一般而言,软件程序的运行需要四大要素:程序设计语言、编译系统、操作系统、指令集。粗略理解:1)程序设计语言是编程的工具基础,包括常见的 C、C++、Java、C#等;2)编译系统的作用是将编写好的程序语言“翻译”成机器能够识别的二进制码;③操作系统是调度资源、执行程序的“大脑”;④指令集则决定了程序以何种方式来执行。
可作以下类比:硬件相当于高速公路、铁路等基础设施资源,软件相当于驾驶员/旅客,而操作系统则相当于各种类型的交通工具。汽车、火车等交通工具借助公路、铁路等基础设施得以行驶,驾驶员/旅客在交通工具上方能到达不同目的地。操作系统则是向下对接硬件,使硬件资源的存在有实际意义,同时向上承载各类应用程序,得以实现各种应用功能;编译系统在程序运行的过程中,起到方向盘或导航仪的作用,将驾驶员(软件)的操作(程序指令)转化为车辆的位移(机器语言)。
▲操作系统在程序运行的过程中起重要作用
生态角度看,总结 Win-tel 与我国自主可控历程,操作系统厂商处于 ICT 产业链的核心环节 。 Win-tel 联盟下,微软股价随 Win95、WinXP 等版本的发布屡创新高。1980s 微软与英特尔组成 Win-tel 联盟,使得 Windows 系统搭配 x86 的 Intel 处理器成为 PC 领域的绝对主流,二者结合后,在软硬件版本迭代、生产、销售等环节协同,一时形成“双寡头垄断”的格局。1995 年 Win95 的发布首创了“桌面”的概念,使人机交互界面更加友好;Windows XP 的发布进一步稳固了微软在操作系统领域的领先地位。
▲Win-tel发展历程
尽管芯片是 ICT 生态的底层核心,但 Windows 背后庞大的应用生态决定了微软对芯片商有较高话语权。微软于 2018 年公布 Win10 操作系统已拥有 3500 万个应用、超 1.75亿个软件版本,支持 1600 万个硬件/驱动组合。微软三十余年积累海量开发者,拥有庞大的应用基础,因此对芯片架构的选择拥有一定话语权。在 x86 以外微软已针对 ARM 架构推出新一代操作系统,英特尔以外的芯片商将受益 Win 生态的拓展。
另外,ICT 领域自主可控不仅体现在以芯片为代表的硬件层,更需要操作系统带动生态可持续。“基础软件的短板主要在操作系统,芯片的短板主要在 EDA(电子设计自动化)设计工具等领域”。芯片层的创新与投入一直是产业与资本的关注重点,但持续研发需要商用以及操作系统带动应用软件同步推进,如果没有商用阶段的现金流再投资,则芯片层的创新难以持续迭代。
▲国内已出现一批商用操作系统,且初具生态
2、早期鸿蒙雏形 LiteOS 就已体现华为发力 IoT
华为“鸿蒙”概念的公开时点虽受到外部环境影响,但实际已积淀大量商用经验。鸿蒙操作系统的发布时点体现重大意义,但并非是“从无到有”的过程,2012 年华为就已开发物联网操作系统 LiteOS,并在可穿戴设备、智能家居、车联网、LPWA 等领域应用,是鸿蒙操作系统的雏形。
▲华为早在 2012 年就已开始研发名为 LiteOS 的物联网操作系统
LiteOS 解决物联网应用成本、连接、安全三大痛点,体现华为早期就已探索布局 IoT领域 。
(1)低成本、低功耗。物联网需要海量终端接入,且大多数边缘设备为小型化、可移动,因此对续航能力与单位成本提出较高要求。LiteOS 内核小于 10k,同时通过 MCU 和通信模组二合一的 OpenCPU 架构,能够显著降低终端体积和终端成本。且超低功耗,甚至 1 节 5 号电池可工作 5 年。
(2)连接多样。物联网终端在不同场景下需要不同形式的网络连接,尤其进入到 5G时代后,对系统的连接性能和兼容性要求严格。连接拓展性能强,支持 6LoWPAN、WiFi、BTE、Zigbee 等多种协议,且设备间可以自组网、自发现、互操作,能够满足物联网应用的不同连接需求。
(3)安全。物联网边缘计算需要“云”+“端”协同,互联互通后数据泄露成为物联网系统的重大隐患。LiteOS 以极小体积的内核实现了双向认证、差分升级、DTLS/DTLS+等机制。
▲LiteOS 众多特性表明该系统专为物联网设计
未来成熟商用的 LiteOS 将逐步融入鸿蒙操作系统,逐步增强鸿蒙生态的多终端开发能力。在鸿蒙之前,华为已形成 HiLink(连接标准)+LiteOS(操作系统)+芯片(算力)的IoT“三件套”体系。在这一体系下,华为 2C 的智能家居、智能手机、手表手环等设备出货量已累计超过 2 亿件,2B 的水电表、摄像头、单车等设备出货量已累计超过 1 亿件,拥有成熟稳定的商用方案。进一步 LiteOS 与鸿蒙结合,将在 IoT 领域形成强大合力。
▲华为已形成 HiLink+LiteOS+芯片的 IoT“三件套”体系
二、两大核心要素 :微内核、方舟编译器
鸿蒙从设计之初就为多终端(如边缘计算 IoT、服务器等)而生,微内核、方舟编译器作为鸿蒙操作系统生态的两大核心要素。
微内核乃操作系统的一种结构形式,将系统实现各功能的模块化,更灵活,易于拓展、易于维护与更新迭代;编译器可视为人与机器的“翻译”,将人的程序语言翻译给计算机可理解并执行,是人与计算机之间实现沟通的桥梁。
▲微内核、方舟编译器是鸿蒙生态的两大核心要素
华为 10 年来在编译器与系统内核的布局演进,已经为鸿蒙操作系统和进军物联网做好了充足的铺垫。
▲华为 10 年布局多终端系统,为进军物联网做好铺垫
1、鸿蒙微内核从底层即为物联网设计
微内核与宏内核相对应,是操作系统的一种结构形式。操作系统的核心功能包括文件系统、内存和 I/O 设备管理、CPU 调度等,宏内核即指操作系统将上述功能全部“打包集成”在内核里,不同的功能模块之间耦合度高,所以具有高效率的优点,代表系统包括 Linux、Unix 等)。微内核则将系统分为各个小的功能模块,仅将最核心的调度、内存管理功能保留在内核中,驱动、文件系统等以“外部模块”的形式与内核连接,相应的优势是易于拓展、易于维护与更新、稳定性高,代表系统包括 Windows、Mac OS X 等。
微内核更适应复杂的程序功能,且能够更灵活地移植至不同硬件平台。微内核仅在操作系统的内核中保留最基本功能,大大降低了内核的开发难度;分布式思维,将非核心的程序和模块隔离在内核之外,因此当单一程序出现错误时不会影响系统整体功能;同时,微内核相比宏内核更易于移植,开发、更新周期也得以缩短。
仿照第一部分,同样可作以下类比:若操作系统类比为车辆等交通工具,则不同内核结构相当于车辆的不同定制方式。宏内核相当于商用整车,而微内核则类似支持深度定制车。在行驶过程中,商用整车虽整体运行效率高,但如果某一部件出现故障,则需要专人、同款备件才能维修;而定制车的很多模块可替代性本身就非常强,且能够通过简单改装在不同路况下行驶(不同硬件环境)。
▲微内核在结构形式上比宏内核更扁平化,也更灵活
鸿蒙微内核从底层即为物联网设计。上述可知,微内核的最大特性是仅在内核中保留最核心功能,因此对于鸿蒙而言:连接实时性更好(响应时延降低 25.7%、时延波动率降低 55.6%),同时结合 5G 低时延场景,尤其适用于工业控制、智能交通等物联网领域;可以做到故障隔离,最大程度保证系统的稳定性与安全性,在 5G 超多连接场景下更能满足万物互联的要求。
鸿蒙微内核体现分布式的特点,解决 IoT 生态协同的痛点。目前已有操作系统基本只对应于某一种硬件,如 Windows 对应 x86 PC、iOS 对应苹果手机等。但 IoT 时代终端种类数量极大拓展,难以针对每种硬件分别开发操作系统或应用程序,不同硬件终端的生态无法共享协同,开发效率低。而鸿蒙实现了硬件解耦,即可针对应不同设备进行弹性部署(例如智慧屏、穿戴设备、车机、音箱、手机等)。同时创新的分布式软总线使得拥有不同功能的硬件可以彼此协同。
例如:传统的相机、电视、音响等设备原本相互独立;但在鸿蒙的分布式软总线下,这些设备被“虚拟化”成摄像模组、显示模组、外放模组,并成为有机整体,用户无需另行设置即可按需调用各种功能,硬件终端之间形成相互协同。
▲未来基于微内核的鸿蒙操作系统将广泛应用于 IoT 领域
微内核是 IoT 操作系统演进方向,鸿蒙微内核之效率、安全性业内领先。一般微内核系统,由于驱动、文件系统等进程被外置,各模块之间的通信需要经过内核“搭桥”,因而效率往往比宏内核要低。但鸿蒙微内核对进程间通信进行了高度优化,使得鸿蒙相比QNX、Fuchisia 效率提升 3 至 5 倍3。此外,由于微内核的代码数量远远少于宏内核,因此鸿蒙能够以对每行代码进行充分的“形式化”的安全验证,显著提升了内核安全性。
2、 方舟编译器是鸿蒙的取胜关键
方舟编译器最早系华为于 2019 年 4 月在 P30 系列手机发布会上公布,但实际积淀十年,定位是多终端系统。华为早期表示方舟编译器将大幅提升手机端安卓系统的运行效率,而开发编译器其实是协助鸿蒙操作系统更深层次布局边缘计算、服务器等领域。
对传统编译器而言,编译时点、跨语言编译是制约应用程序执行效率的瓶颈。应用程序的执行要经过字节码到机器码的转换,程序员在编程时使用上述 C、C++、Java、C#等程序语言,但硬件的执行逻辑是基于 0 和 1 的二进制。因此要让硬件能够“读懂”指令,就需要编译器把“程序语言”转译成“机器语言”。
(1)编译时点:根据编译器工作时点的不同,编译方式可分为两种,但执行效率仍有提升空间。一种是“边执行、边翻译”,程序调用了某一句指令,编译器就实时将其转译为二进制码(早期版本安卓使用该方案,程序执行效率低下);另一种是引进高性能虚拟机(在安卓系统中为 ART,即 Android Run Time),在程序安装时或系统空闲时就提前将代码转译完毕,进一步提升了程序执行效率,但新的问题在于程序安装时间长。
(2)跨语言编译:程序往往使用不同语言编写,对编译效率产生较大影响。例如采用Java 和 C/C++等多种语言混合开发的应用程序,在运行时需要借助通用接口来协调不同代码(即 Java Native Interface,JNI)。通用接口需要占用硬件资源,同时不同代码的协调本身就低效,所以传统编译器下跨语言应用的执行效率较低。
方舟编译器对以上两大瓶颈的解决方案是:将编译过程提前至开发者环节。在安卓的体系下,一些复杂动态语义的编译仍需交由虚拟机完成。方舟编译器开发团队通过梳理 Java的动态语义,进行了大规模的数据建模,尤其是在跨语言编译时,大大提高了动态语义分析的精度;另外,华为设计了一套具有核心专利的动态语义匹配机制,有效降低了运行时动态语义的开销。最终结果是,方舟编译器能够在应用程序执行之前,就将 Java 代码编译成机器语言,极大释放了硬件资源,这一点对于多终端尤其是物联网边缘计算而言尤为重要。
方舟编译器对开发者友好,利于形成良好生态。过去安卓等系统避免在开发者环节涉及编译,一大原因是为了降低开发难度,开发者只需完成代码编写即可,而无需考虑如何跨语言编译。但方舟方案下将编译过程提前至开发环节,并不增加开发者负担,相反开发者还能通过方舟预置算法进行代码优化,还可自行开发代码优化算法,未来代码优化甚至有可能迁移至云端。开发环境友好是鸿蒙搭建良好生态的重要因素。
对于方舟编译器,也可类比如下:过去 ART 虚拟机搭配安卓系统,相当于经验丰富的司机驾驶传统的手动挡汽车;而方舟编译器搭配鸿蒙操作系统,则相当于搭载了 L4 级别自动驾驶的车辆,车辆行驶可以随时根据车况、路况灵活调整,保证所有乘客的乘车体验均为最佳。
兼容 Java 和 C、C++等多种语言增强了鸿蒙即战力,并与自有麒麟、鲲鹏等硬件架构协同,形成类似 Win-tel 的软硬件格局。
▲华为 IoT 已形成类似 x86 领域成体系的芯片家族
因此综合微内核、方舟编译器两大要素看,鸿蒙生而为物联网设计,并非单纯以手机操作系统为主要阵地。一方面,对于华为成熟的手机业务而言,做系统容易,但建生态难,当前安卓和苹果已构建了几乎不可打破的生态系统,在条件允许的情况下继续使用安卓对于华为是一种资源节约。
进一步更通俗地解释:对于开发者编写的不同程序,只需经过方舟编译器的处理,鸿蒙操作系统即可顺利执行;且微内核下的鸿蒙可移植于不同平台。这样的系统特性天然适配于物联网时代的海量终端与海量应用。
三、 5G+IoT 时代的苹果
苹果曾是 3G、4G 移动互联网时代成长的新兴巨头,回顾苹果的崛起路程,在生态、硬件、先发优势+持续创新三方面体现优势。
1、生态。在苹果之前,微软曾于 1996 年发布可运行于手机的 Windows CE 操作系统;塞班于 2001 年发布 symbian S60 操作系统,一度获得诺基亚、三星、索尼爱立信、摩托罗拉、西门子等众多手机大厂支持,但由于 symbian 系统对开发者不友好、内核臃肿,在3G 时代到来后苹果抓住移动互联网的机会推出iOS,并搭建拥有高质量应用的 AppStore,强大的开发者生态不断增强苹果公司的生命力 。
2、硬件。相较之前的手机品牌,苹果拥有体系完整的硬件产业链,且在上下游拥有极强的议价能力,并在手机之外推出 Macbook、iPod、iPad 等产品,不断拓宽硬件“能力圈”。在优质生态的基础上,紧密的硬件产业链一方面可以提升公司盈利能力,另一方面软硬协同也极大提升了方案本身的使用体验。
3、 先发优势+持续创新。通过良性循环的生态+软硬件协同形成护城河之后,苹果不断前瞻移动设备领域的新技术、新应用,且能够持续迭代,逐步把持了行业的发展方向,最终成为移动互联网时代的一大巨头。
但随着 C 端移动互联网红利见顶,苹果在 5G+IoT 时代增长乏力。随着技术演进,苹果近年来也暴露出一些问题:生态不如安卓开源;核心硬件受制于外部(比如基带依赖高通、英特尔);后续创新乏力(新款 iPhone 难言成功)。在 5G+IoT 时代,其他 ICT 厂商开始面临新的机会。
产业互联网新蓝海下,“华为之于物联网”可类比“苹果之于移动互联网”。生态。鸿蒙与方舟编译器将开源,拥抱海量开发者。以手机端为例,方舟编译器与超过 40 个高质量 App 合作,明显优化 Android 操作系统的流畅度。在更广泛的 IoT 领域,方舟编译器支持多语言统一编译,也支持混合编程,实现“一次编程,多端使用”,极大降低了开发者负担(例如对于某款应用,只需要一次性完成代码,就可以适配于手机、电视、车机等多种终端)。因此借助方舟编译器,鸿蒙将搭建完善的 IoT 生态。
硬件。华为拥有强大 ICT 硬件基因,已推出从底层硬件到中间件、操作系统,再到到编译工具、应用软件的全栈软硬件方案。类比苹果产业链,华为内部已基本形成核心硬件环节的自研,例如新发布的前端昇腾 310+后端鲲鹏 920 的安防软硬标准化解决方案,又如自研基于鲲鹏 920 的 Taishan 服务器等全栈软硬件系统在山东移动 BSS 实现国产替代等。因此鸿蒙相比谷歌 Fushcia 等纯软件体现出硬件优势(苹果于 2019 年 7 月收购英特尔 5G 基带部门也体现自研芯片对系统生态的重要性)。
▲包括网络芯片在内,华为海思已形成全系列芯片组平台
▲华为全栈软硬件已在运营商 CRM 核心系统应用
先发优势+持续创新。鸿蒙前身 LiteOS 早已推出,拥有商用经验和先发优势。物联网基础是网络,华为在 5G 领域的深厚积淀。例如,其于 2019 年初发布首款商用 5G 多模终端芯片 Balong 5000 和首款 5G 商用终端华为 5G CPE Pro。Balong 5000 在 Sub-6GHz频段实现 4.6Gbps、在毫米波频段达 6.5Gbps 的峰值下载速率,并支持 SA 和 NSA 组网,已经完全满足未来 5G 产业不同阶段的商业需求,相比行业标杆的高通 X50 已取得领先。华为 5G 技术的先发优势与持续创新是鸿蒙作为 IoT 多终端操作系统取得成功的保障。
▲华为 5G 声明专利量排名居各厂商第一位
操作系统意味着应用平台与流量入口。上述从生态、硬件、先发优势+持续创新三方面看,拥有操作系统将帮助华为在物联网领域拥有更强话语权,将沿苹果在移动互联网时代的路径,成长为 5G+IoT 的巨头。
四、鸿蒙将完善华为 IoT 生态,催化产业进程
IoT 是华为在产业物联网时代的重要布局,华为主要聚焦于基础设施领域。海量低成本终端设备连接需要保证联接可管可控,且全网连续覆盖,以及端侧(终端)、传输、云端安全。华为多年深耕 ICT 基础设施,全栈软硬件保证 IoT 方案稳定性。据华为 2018 年全联接大会,华为物联网联接数超过 2 亿,每月增长 600 万联接,日均 API 调用超过 1.3亿,方案成熟度高。
鸿蒙操作系统与华为“云+端”芯片形成强大合力,形成杀手锏应用。华为优质网络设备是 IoT 的连接基础,连接获得了大量数据,但只有通过智能分析才能够形成杀手锏应用。华为已在云侧和端测拥有昇腾、鲲鹏、麒麟等芯片,具备强大算力,叠加鸿蒙操作系统高效、灵活的执行能力,将培育大量高价值应用。
车联网、智慧城市、工业是华为 IoT 的三大应用方向,目前三大应用成熟度各有不同,鸿蒙操作系统预计将在三大领域起催化作用。
▲华为已培育车联网、智慧城市、工业三大 IoT 方向
车联网:快速兴起的 IoT 场景。当前车联网更多是实现车与路的主动协同沟通,逐步实现从辅助驾驶到自动驾驶,并做到大大降低成本。基于 C-V2X,华为已拥有完整的车联网硬件体系,具体包括芯片、OBU 盒子、RSU 实现路边感知设备、云端搜集数据和数据处理的 V2X 服务器等。我们预计未来终端的前装和后装市场、定位与地图(华为已获得甲级测绘资质,未来鸿蒙+巴龙 5000 芯片+高精地图具有想象空间)、后端数据处理(鸿蒙+Taishan 服务器+鲲鹏芯片的强大算力组合)将是重要的产业方向。
智慧城市:较为成熟,从互联网向物联网过渡。智慧城市是城市级网络接入、NB-IoT 广覆盖、低成本低功耗特点的体现,我们预计未来拓展方向包括智慧园区(鸿蒙+安防领域基于鲲鹏/昇腾的 Huawei HoloSens)、智慧家居(鸿蒙+基于鸿鹄 818 芯片的荣耀智慧屏)等。
工业:5G 提供新机会。工业互联网痛点之一在于网络连接,痛点之二在于行业Knowhow。网络连接的难题将在 5G 商用与网络切片推广后迎刃而解,华为将是网络基础设施的核心供应商;对于行业 Knowhow,鸿蒙强调搭建生态圈,且具备开发者友好的特性,利于培育不同垂直行业客户并积累经验。此外华为已面向各行业推出“华为云 EI 智能体”,华为云已拥有超过 100 万开发者和企业用户4,初步形成良性生态。
综上,鸿蒙操作系统的推出将对华为各业务板块产生积极作用,并推动 IoT 产业进程,预计华为产业链众多公司将受益。
智东西认为,华为创始人任正非曾在接受法国媒体采访时详细介绍了鸿蒙操作系统。他表示,鸿蒙系统的处理延迟小于5毫秒,将完美地适应物联网,还能够应用于自动驾驶。现在,随着华为在全球开发者大会上正式发布鸿蒙系统,鸿蒙操作系统的神秘面纱也已被揭开。作为一款微内核面向全场景的分布式操作系统,鸿蒙诞生之初似乎就是为了物联网准备的,但是,一款操作系统的成功与否最重要的还是生态系统的搭建,未来,华为若想不负众望,在5G万物互联时代搭建起强大的生态系统,成为5G+IoT 时代的“苹果”,还需要加倍努力。
你也许感兴趣的:
- 彭博社:华为与腾讯接近达成协议,不向微信“抽成”
- 鸿蒙开发者的梦醒时分
- 华为正式发布HarmonyOS 3操作系统:六大升级
- 鸿蒙负责人王成录被曝已离职:华为技术元老,1998年哈工大博士毕业后加入
- Linux在多核可扩展性设计上的不足
- 鸿蒙系统三挑战:应用如何兼容,生态怎么搭建,开放还是闭合
- 对比鸿蒙、Android、Tizen、KaiOS和苹果
- 李楠点评华为鸿蒙:和阿里云OS无用论形成鲜明对比
- 华为鸿蒙系统惊现ADB模式 兼容安卓还是抄袭安卓?
- 鸿蒙对标不是安卓,是谷歌下一代系统Fuchsia
你对本文的反应是: