8月9日,华为于开发者大会发布基于微内核的全场景分布式鸿蒙操作系统,同时宣布方舟编译器开源。从技术角度看,操作系统作为管理分配硬件资源、实现应用软件功能的重要载体,技术含金量之高决定了其”金字塔尖“的地位。从生态角度看,操作系统厂商更是相应产业生态的主导者。鸿蒙操作系统的推出,对华为、对我国自主可控进程的意义不言而喻。
今天,我们推荐申万宏源的研究报告《华为鸿蒙操作系统全景解构》,全面解析鸿蒙操作系统的研发历程,技术特点和华为“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 时代的“苹果”,还需要加倍努力。
报告下载
想要下载这份PPT的同学们,扫描下面二维码,关注公众号 “5G产业圈”,回复“鸿蒙”即可获取下载链接。
(已关注的同学们,只需扫码打开我们公众号对话框输入“鸿蒙”发送即可)
注:链接有效期至9月12日,建议尽快下载保存哦!
本文由5G产业圈编辑整理自智东西、申万宏源,本次分享仅供学习交流,不作商业用途,如有问题,请留言。