鸿蒙不是一款单纯的手机操作系统,而是面向万物互联时代的全场景分布式操作系统。
鸿蒙“微内核”的模块化设计思路更顺应万物互联时代的需求。华为HDC大会上公布的鸿蒙操作系统架构图的内核层级,当前阶段鸿蒙的内核子系统是Linux宏内核、LiteOS内核、鸿蒙微内核等多个内核混合的设计,其中Linux宏内核同样是Android OS的内核,这也是鸿蒙系统可以快速兼容安卓应用的主要原因,华为消费者BG软件部总裁、鸿蒙总负责人王成录在接受采访时也承认鸿蒙目前使用了部分AOSP开源代码,成为外界质疑鸿蒙“套壳”安卓的主要原因,但实际上AOSP社区也有不少代码是非谷歌贡献的,需要理性看待,在今年7月预计开源的鸿蒙3.0系统将几乎看不到谷歌贡献的AOSP代码。
LiteOS内核是华为专门针对IoT设备研发的轻量级、低功耗操作系统内核;鸿蒙微内核则是鸿蒙系统未来将主要采用的自研核心;鸿蒙操作系统可以针对其运行设备的不同,选用最适合的内核,为上层提供基础操作系统能力。鸿蒙系统目前在手机等高算力设备上还是主要使用Linux内核,鸿蒙微内核作为正处于快速开发阶段的备用内核未来可能逐步替换其他内核,这也是产业发展和生态建设的正常过程,不应过度神化或者妖魔化鸿蒙系统。对于微内核的理解,简单来说其核心思想就是尽可能简化内核的功能,内核只提供最基础的服务,如多进程调度、多进程通信(IPC)等,将原先宏内核包含的不少系统服务(如文件系统、虚拟内存管理、网络协议栈等)放到用户态应用,变成一个个服务,等待其他应用的请求。这样的好处的系统服务模块化、可插拔、易于拓展、安全性更高等等,且经过技术的长期发展目前微内核的性能表现已经不亚于宏内核。
鸿蒙把“微内核”的模块化设计思路上升到系统服务层,系统服务层是操作系统核心能力的聚合,鸿蒙将其分为适用于各类设备的基础能力以及面向特定设备的三类专有能力,根据不同设备形态的部署环境,后三类子系统集内部可以按子系统粒度裁剪,子系统内部还可按功能粒度进行裁剪,通过模块化的设计,操作系统的量级可以自由变化,硬件开发商可以根据自身硬的件算力需求来选择要使用哪些代码,小到一个128KB内存的IoT模组,大到一个12GB内存的高端智能手机都可以采用这套核心系统,一个操作系统实现通吃。
华为现在在基于安卓系统深度定制的EMUI系统框架下实际上也是用的ShareKit等工具赋予EMUI部分分布式能力
“分布式”是鸿蒙系统设计的最大初衷,帮助鸿蒙跨越了单体硬件的边界,多硬件互联互通形成同一操作系统下的“超级终端”。过去的操作系统都是局限在一个硬件内部,PC的操作系统只负责PC内部、手机的操作系统只负责手机内部,他们只能直接调用本机的软硬件功能(比如可以直接激活手机屏幕、打开手机麦克风),却不能直接调用外界设备的能力(比如用智慧屏直接显示手机内容、调用智能音箱播放音频),外界能力通常需要通过有线或无线的方式来接外设,这是一个复杂且痛苦的过程,主要体现在设备发现效率低、连接和响应速率的不稳定、能力调控差等问题上。为了实现业务流在不同终端上几乎无感的不中断的自由迁移,华为在鸿蒙操作系统内设计了分布式软总线、分布式数据管理、分布式任务调度三大系统基本能力,每一个能力都可以拓展一章进行理解,受限于篇幅我们同样只阐述其解决的核心痛点。
分布式软总线技术解决各设备的发现与连接问题。传统总线技术在计算机系统内部微观层面是通过物理导线进行硬连接,在宏观层面是商业级分布式计算系统通过光纤实现各地分散的设备与设备之间的连接,这些设备通常的算力、功能通常较为类似,从而构成一个“同构对称式分布式系统”。鸿蒙则属于面向民用需求的“异构非对称式分布式系统”,在同一个分布式系统下连接的设备既有单核512MB内存的路由器,也有8核12GB内存的手机,也还有智能灯泡这种KB级内存的低算力IoT设备,且这些设备都需要靠蓝牙/Wi-Fi等无线方式进行连接,不能进行物理连接,华为为解决这种连接需求推出了通过无线连接的分布式软总线技术,其核心包括异构融合网络技术、自发现自组网技术、动态时延校准技术,具体到消费者的体验上,只要两个鸿蒙设备经过一次简单的激活(如触碰),后续就可以实现自动发现与连接,无需手动下载APP进行繁琐的配置,如华为手机与华为智慧屏、华为笔记本的一碰投屏的连接方式,极大的改善用户体验。
鸿蒙2.0操作系统的手机使用体验上,从右侧下滑菜单栏则会直接显示所有处于同一个分布式鸿蒙操作系统下的各个智能家居的状态,单击即可在不用下载独立APP的情况下对各智能家居进行操作,降低APP发现和连接成本。
分布式数据管理解决的是数据传输效率的问题。其使得跨设备数据处理的效率和处理本机数据一样快速,配合分布式软总线技术,极大降低设备时延、提高带宽吞吐量、降低丢包率,根据华为2020HDC大会官方披露的数据,鸿蒙2.0相比鸿蒙1.0,时延从20ms降低至10ms,带宽从1.2G提高至2.4G,抗丢包率从25%提高到30%,分布式文件读写性能是微软Samba系统的4倍,分布式数据库OPS性能是安卓本地ContentProvider数据库的1.3倍,分布式检索性能是iOS Core Spotlight的1.2倍。从消费者使用体验角度来看,搭载EMUI11系统的华为手机与智慧屏的实际投屏时延可以控制到30-90ms,基本接近于无感的体验(一般来说时延低于200ms用户体验便比较良好),如果华为手机升级鸿蒙系统可能还会有更好的时延表现。
分布式任务调度可以实现系统级的跨设备软硬件能力整合,真正打造超级终端。以安全能力为例,华为手机具备指纹识别、面部识别能力,华为耳机具备骨声纹识别能力,如果他们在共同的网络连接下接入同一个鸿蒙操作系统里,鸿蒙可以做到在系统级别实时调度三种安全能力进行风险识别。一旦各种硬件接入鸿蒙分布式系统里,他们便不再是单独的硬件个体,而是成为分布式系统的不同组成部分,他们的各项能力汇总形成一个能力资源池,就像一个超级终端一样,系统可以灵活调用各种能力、发挥各类硬件的优势。
例如在在线教育的场景下,学生用户可以通过手机接入在线教育APP、通过电脑键盘和手机触控屏操作输入、通过智慧屏和AI音箱观看教师讲解过程并与教师进行互动,鸿蒙系统帮助将各种软硬件的优势整合到一起提供一个高质量的在线教育方案。
当然现在有很多终端厂商也可以通过APP实现跨设备的连接和调用,但 app 想在手机和电视等不同设备之间流转,就要做针对性的适配修改,未来不管是手机升级,还是电视机升级或是 app 版本升级,都可能导致 app 在手机和电视之间流转不起来,应用层打通这条路走下去的代价会越来越高,通用性和扩展性有较大限制。鸿蒙则是在底层系统上实现硬件模组的融合,上层 app 原来的业务逻辑几乎不需要修改,就可以实现多设备间的流转,通用性和扩展性更强。
分布式系统的核心是实现各硬件的互联互通,实现各种设备通讯语言的统一,因而做通讯业务出身的华为在做分布式系统上具有降维打击的优势。目前设备与设备之间的链接存在大量延迟、丢包等问题影响用户体验,这背后的原因在于现在的网络通讯标准协议是在一个低速网络中创造出来的,我们现在所使用的 TCP/IP 等各种网络协议都诞生于 20 世纪 70 年代,当时冷战的时代背景带来了许多来回握手协议,设备与设备之间的互联会天然地有网络带宽延迟、丢包等问题,但也表示其有被大幅提升的空间。华为本身做通讯业务出身,其最精通通讯协议技术,目前的华为主推的HiLink、Share Kit协议已经对过去很多网络通讯协议做了大幅修改,他们已经不再是标准的协议,这让华为鸿蒙的通讯速度变得更快,所以华为在做分布式系统上可以说有降维打击的优势。
“元程序”的设计理念也是鸿蒙的模块化、分布式技术在应用开发层面的一个创新体现。
基于鸿蒙系统原生的APP为HAP格式,一个HAP应用包含一个或多个FA/PA基本组成单元,FA有UI界面,PA无UI界面。例如,一个视频通话应用,“视频通话主界面FA”提供UI界面以便于用户交互,PA1/PA2/PA3分别提供摄像头视频采集/美颜处理/超级夜景能力等,一个HAP应用在不同设备终端上可以按需下载、加载、运行FA/PA,继续上述视频通话应用,手机会下载全部的FA/PA模块,而如果智慧屏硬件不支持美颜和超级夜景能力,他就只下载主界面FA和摄像头视频采集PA1即可,从而减小安装包,提高程序的特定功能运行效率。
给到一个更具体的应用场景下,假设我们在手机地图上规划了一个导航路线,希望在使用手机其他功能的同时在华为手表上追踪导航路线,就需要把导航功能流转到华为手表上,传统安卓上高德地图的安装包达到150MB,除了导航功能以外其实还包含了很多打车、旅游、餐饮、机酒、公交等功能,造成软件臃肿无比,上述数据全部流转至手表上显示是没必要的,在鸿蒙HAP元程序的理念下,就可以做到只流转导航功能PA及UI界面FA至手表上,提高流转效率。
鸿蒙系统通过分布式技术,将多个物理上相互隔离的设备融合成一个“超级终端”,按需调用、组合不同设备的软硬件能力,为用户带来最适合其所在场景的智慧体验,即使用户切换场景,智慧体验也能跨终端迁移,无缝流转。
本文来源于网络有不同意见可以讨论。
鸿蒙“微内核”的模块化设计思路更顺应万物互联时代的需求。华为HDC大会上公布的鸿蒙操作系统架构图的内核层级,当前阶段鸿蒙的内核子系统是Linux宏内核、LiteOS内核、鸿蒙微内核等多个内核混合的设计,其中Linux宏内核同样是Android OS的内核,这也是鸿蒙系统可以快速兼容安卓应用的主要原因,华为消费者BG软件部总裁、鸿蒙总负责人王成录在接受采访时也承认鸿蒙目前使用了部分AOSP开源代码,成为外界质疑鸿蒙“套壳”安卓的主要原因,但实际上AOSP社区也有不少代码是非谷歌贡献的,需要理性看待,在今年7月预计开源的鸿蒙3.0系统将几乎看不到谷歌贡献的AOSP代码。
LiteOS内核是华为专门针对IoT设备研发的轻量级、低功耗操作系统内核;鸿蒙微内核则是鸿蒙系统未来将主要采用的自研核心;鸿蒙操作系统可以针对其运行设备的不同,选用最适合的内核,为上层提供基础操作系统能力。鸿蒙系统目前在手机等高算力设备上还是主要使用Linux内核,鸿蒙微内核作为正处于快速开发阶段的备用内核未来可能逐步替换其他内核,这也是产业发展和生态建设的正常过程,不应过度神化或者妖魔化鸿蒙系统。对于微内核的理解,简单来说其核心思想就是尽可能简化内核的功能,内核只提供最基础的服务,如多进程调度、多进程通信(IPC)等,将原先宏内核包含的不少系统服务(如文件系统、虚拟内存管理、网络协议栈等)放到用户态应用,变成一个个服务,等待其他应用的请求。这样的好处的系统服务模块化、可插拔、易于拓展、安全性更高等等,且经过技术的长期发展目前微内核的性能表现已经不亚于宏内核。
鸿蒙把“微内核”的模块化设计思路上升到系统服务层,系统服务层是操作系统核心能力的聚合,鸿蒙将其分为适用于各类设备的基础能力以及面向特定设备的三类专有能力,根据不同设备形态的部署环境,后三类子系统集内部可以按子系统粒度裁剪,子系统内部还可按功能粒度进行裁剪,通过模块化的设计,操作系统的量级可以自由变化,硬件开发商可以根据自身硬的件算力需求来选择要使用哪些代码,小到一个128KB内存的IoT模组,大到一个12GB内存的高端智能手机都可以采用这套核心系统,一个操作系统实现通吃。
华为现在在基于安卓系统深度定制的EMUI系统框架下实际上也是用的ShareKit等工具赋予EMUI部分分布式能力
“分布式”是鸿蒙系统设计的最大初衷,帮助鸿蒙跨越了单体硬件的边界,多硬件互联互通形成同一操作系统下的“超级终端”。过去的操作系统都是局限在一个硬件内部,PC的操作系统只负责PC内部、手机的操作系统只负责手机内部,他们只能直接调用本机的软硬件功能(比如可以直接激活手机屏幕、打开手机麦克风),却不能直接调用外界设备的能力(比如用智慧屏直接显示手机内容、调用智能音箱播放音频),外界能力通常需要通过有线或无线的方式来接外设,这是一个复杂且痛苦的过程,主要体现在设备发现效率低、连接和响应速率的不稳定、能力调控差等问题上。为了实现业务流在不同终端上几乎无感的不中断的自由迁移,华为在鸿蒙操作系统内设计了分布式软总线、分布式数据管理、分布式任务调度三大系统基本能力,每一个能力都可以拓展一章进行理解,受限于篇幅我们同样只阐述其解决的核心痛点。
分布式软总线技术解决各设备的发现与连接问题。传统总线技术在计算机系统内部微观层面是通过物理导线进行硬连接,在宏观层面是商业级分布式计算系统通过光纤实现各地分散的设备与设备之间的连接,这些设备通常的算力、功能通常较为类似,从而构成一个“同构对称式分布式系统”。鸿蒙则属于面向民用需求的“异构非对称式分布式系统”,在同一个分布式系统下连接的设备既有单核512MB内存的路由器,也有8核12GB内存的手机,也还有智能灯泡这种KB级内存的低算力IoT设备,且这些设备都需要靠蓝牙/Wi-Fi等无线方式进行连接,不能进行物理连接,华为为解决这种连接需求推出了通过无线连接的分布式软总线技术,其核心包括异构融合网络技术、自发现自组网技术、动态时延校准技术,具体到消费者的体验上,只要两个鸿蒙设备经过一次简单的激活(如触碰),后续就可以实现自动发现与连接,无需手动下载APP进行繁琐的配置,如华为手机与华为智慧屏、华为笔记本的一碰投屏的连接方式,极大的改善用户体验。
鸿蒙2.0操作系统的手机使用体验上,从右侧下滑菜单栏则会直接显示所有处于同一个分布式鸿蒙操作系统下的各个智能家居的状态,单击即可在不用下载独立APP的情况下对各智能家居进行操作,降低APP发现和连接成本。
分布式数据管理解决的是数据传输效率的问题。其使得跨设备数据处理的效率和处理本机数据一样快速,配合分布式软总线技术,极大降低设备时延、提高带宽吞吐量、降低丢包率,根据华为2020HDC大会官方披露的数据,鸿蒙2.0相比鸿蒙1.0,时延从20ms降低至10ms,带宽从1.2G提高至2.4G,抗丢包率从25%提高到30%,分布式文件读写性能是微软Samba系统的4倍,分布式数据库OPS性能是安卓本地ContentProvider数据库的1.3倍,分布式检索性能是iOS Core Spotlight的1.2倍。从消费者使用体验角度来看,搭载EMUI11系统的华为手机与智慧屏的实际投屏时延可以控制到30-90ms,基本接近于无感的体验(一般来说时延低于200ms用户体验便比较良好),如果华为手机升级鸿蒙系统可能还会有更好的时延表现。
分布式任务调度可以实现系统级的跨设备软硬件能力整合,真正打造超级终端。以安全能力为例,华为手机具备指纹识别、面部识别能力,华为耳机具备骨声纹识别能力,如果他们在共同的网络连接下接入同一个鸿蒙操作系统里,鸿蒙可以做到在系统级别实时调度三种安全能力进行风险识别。一旦各种硬件接入鸿蒙分布式系统里,他们便不再是单独的硬件个体,而是成为分布式系统的不同组成部分,他们的各项能力汇总形成一个能力资源池,就像一个超级终端一样,系统可以灵活调用各种能力、发挥各类硬件的优势。
例如在在线教育的场景下,学生用户可以通过手机接入在线教育APP、通过电脑键盘和手机触控屏操作输入、通过智慧屏和AI音箱观看教师讲解过程并与教师进行互动,鸿蒙系统帮助将各种软硬件的优势整合到一起提供一个高质量的在线教育方案。
当然现在有很多终端厂商也可以通过APP实现跨设备的连接和调用,但 app 想在手机和电视等不同设备之间流转,就要做针对性的适配修改,未来不管是手机升级,还是电视机升级或是 app 版本升级,都可能导致 app 在手机和电视之间流转不起来,应用层打通这条路走下去的代价会越来越高,通用性和扩展性有较大限制。鸿蒙则是在底层系统上实现硬件模组的融合,上层 app 原来的业务逻辑几乎不需要修改,就可以实现多设备间的流转,通用性和扩展性更强。
分布式系统的核心是实现各硬件的互联互通,实现各种设备通讯语言的统一,因而做通讯业务出身的华为在做分布式系统上具有降维打击的优势。目前设备与设备之间的链接存在大量延迟、丢包等问题影响用户体验,这背后的原因在于现在的网络通讯标准协议是在一个低速网络中创造出来的,我们现在所使用的 TCP/IP 等各种网络协议都诞生于 20 世纪 70 年代,当时冷战的时代背景带来了许多来回握手协议,设备与设备之间的互联会天然地有网络带宽延迟、丢包等问题,但也表示其有被大幅提升的空间。华为本身做通讯业务出身,其最精通通讯协议技术,目前的华为主推的HiLink、Share Kit协议已经对过去很多网络通讯协议做了大幅修改,他们已经不再是标准的协议,这让华为鸿蒙的通讯速度变得更快,所以华为在做分布式系统上可以说有降维打击的优势。
“元程序”的设计理念也是鸿蒙的模块化、分布式技术在应用开发层面的一个创新体现。
基于鸿蒙系统原生的APP为HAP格式,一个HAP应用包含一个或多个FA/PA基本组成单元,FA有UI界面,PA无UI界面。例如,一个视频通话应用,“视频通话主界面FA”提供UI界面以便于用户交互,PA1/PA2/PA3分别提供摄像头视频采集/美颜处理/超级夜景能力等,一个HAP应用在不同设备终端上可以按需下载、加载、运行FA/PA,继续上述视频通话应用,手机会下载全部的FA/PA模块,而如果智慧屏硬件不支持美颜和超级夜景能力,他就只下载主界面FA和摄像头视频采集PA1即可,从而减小安装包,提高程序的特定功能运行效率。
给到一个更具体的应用场景下,假设我们在手机地图上规划了一个导航路线,希望在使用手机其他功能的同时在华为手表上追踪导航路线,就需要把导航功能流转到华为手表上,传统安卓上高德地图的安装包达到150MB,除了导航功能以外其实还包含了很多打车、旅游、餐饮、机酒、公交等功能,造成软件臃肿无比,上述数据全部流转至手表上显示是没必要的,在鸿蒙HAP元程序的理念下,就可以做到只流转导航功能PA及UI界面FA至手表上,提高流转效率。
鸿蒙系统通过分布式技术,将多个物理上相互隔离的设备融合成一个“超级终端”,按需调用、组合不同设备的软硬件能力,为用户带来最适合其所在场景的智慧体验,即使用户切换场景,智慧体验也能跨终端迁移,无缝流转。
本文来源于网络有不同意见可以讨论。