响应了物联网世界的召唤,鸿蒙操作系统诞生了。鸿蒙操作系统是基于微内核的全场景分布式操作系统。这里面有3个关键词:“微内核”“全场景”和“分布式”,而这3项创新性理念可以说均是为了物联网设备而设计的。接下来,让我们仔细分析一下。
微内核(Micro Kernel)是相对于宏内核(Monolithic Kernel)而言的,是一种内核的设计理念,即仅保留内存管理、任务调度和进程间通信(Inter-Process Communication,IPC)等内核基础性的必要功能,将所有能被移出内核的功能全部移出,保证内核的最小化,使其“粒度”最小。
不过,微内核并不是一个新鲜名词。早在20世纪80年代,微内核的概念就已经被提出来了。例如著名的minix就是典型的微内核操作系统。那么微内核有什么好处呢?由于内核精简,分配的任务少了,代码量也就少了,所以不容易出现系统漏洞和设计失误,因而提高了系统的安全性、稳定性和可维护性。另外,微内核通过网络可以方便地进行进程的统一调度,先天支持分布式操作系统。不过,微内核也存在一些缺点,其中最为重要的就是性能较低。这是因为许多重要且常用的系统组件(如硬件驱动、系统服务等)被移出内核,而这些组件的通信又需要内核IPC的支持,因此原先只需要在内核内部完成的事情,现在需要内核在中间进行调度,性能自然就降下来了。长期以来,由于计算机硬件性能的限制,微内核并没有成为主流。
如今,微内核的概念再次引领潮流。这主要因为随着物联网的发展,许多小型的物联网设备开始寻求一种安全、稳定且轻巧的操作系统。背负着大量历史包袱的Linux宏内核操作系统显然不是最佳选择,因此,许多科技公司开始研发微内核操作系统。无独有偶,不仅华为在研发微内核的鸿蒙操作系统,谷歌也开始研发使用Zircon微内核的Fuchsia操作系统。
不过,微内核的性能问题也需要解决,鸿蒙操作系统采用了确定时延引擎和高性能IPC两大技术弥补了微内核低性能的缺陷。确定时延引擎可以为请求IPC调度的系统组件设置优先级,优先调度用户界面更新等重要功能组件,从而提高系统的实时性和流畅度。高性能IPC可使进程通信效率较现有系统提升5倍左右。
综上所述,微内核具有高稳定性、高安全性、高可维护性和高实时性。由于轻便的内核设计使得系统保持低功耗和低内存占用,因此鸿蒙操作系统选择了微内核。
鸿蒙操作系统不仅仅是可以运行在手机、手表上的移动操作系统,更是可以运行在各种各样的物联网设备上的全场景操作系统。目前,鸿蒙操作系统不仅支持了手机、手表、智慧屏等常规硬件,还支持了许多开发板,如海思WiFi IoT开发板、IMX6ULL开发板等。今后,由于鸿蒙操作系统的开源性质,它将会支持更多的设备,如车机、平板计算机及各类开发板,成为真正的全场景操作系统。
全场景操作系统的一大优势就是可以利用其分布式的特征整合硬件资源。例如,在一个区域内,如家庭中,实现分布式任务调度、分布式数据管理等。跨地区的物联网设备也能形成集群提供统一服务。在物联网技术的推动下,鸿蒙操作系统可以实现跨设备的无缝协同和一次开发多端部署的要求。
得益于微内核,鸿蒙操作系统从底层就具备了分布式操作系统的特性,包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等关键技术。
1)分布式软总线
分布式软总线是鸿蒙操作系统分布式能力的最为基础的特性,其设计理念参考了计算机硬件总线:以手机为中心将总线分为任务总线(传输指令)和数据总线(同步数据),如图1-1所示。
图1-1 分布式软总线
分布式软总线的主要特征如下:
(1)分布式软总线针对不稳定的无线环境进行了优化,相对于传统的传输协议具有高带宽、低时延、高可靠、开放、标准等特点。
(2)通过分布式软总线可以实现设备间快速自动发现(同一网络且登录同一华为账号)。
(3)分布式软总线支持并可以整合WiFi、蓝牙、USB等多种有线/无线传输协议。通过手机等中转设备,可以打通蓝牙设备与WiFi设备之间的隔离,使其互联互通。
(4)分布式软总线具有极简API和极简协议,不仅方便了开发者,而且有效地提高了网络传输能力。开发者只需面对1个逻辑协议,而不感知其具体的传输协议。
通过分布式软总线,鸿蒙操作系统可以为处在统一网络内的设备提供高效通信能力,实现万物互联。
2)分布式设备虚拟化
分布式设备虚拟化建立在分布式软总线的基础上,可以实现多个鸿蒙设备性能和资源的整合,形成超级虚拟终端。例如,同一个家庭中的手机、路由器和智慧屏可以以单一的超级虚拟终端的方式共享硬件资源。
3)分布式数据管理
分布式数据管理建立在分布式软总线的基础上,可以实现多个鸿蒙设备之间进行高效数据同步和管理。
4)分布式任务调度
分布式任务调度建立在分布式软总线和分布式数据管理之上,可以实现多个鸿蒙设备间高效地进行应用流转和协同。
应用流转是指同一个应用程序在不同设备上的迁移和迁回。例如,用户正在使用手机进行视频通话,但是此时不方便拿手机了,在此种应用情景下可以将该应用界面迁移到智慧屏上继续进行视频通话。当然,用户还可以再将视频通话界面迁回到手机上。
应用协同是指在不同的鸿蒙设备上显示同一个应用程序的不同功能组件。例如,在手机上显示新闻列表,在智慧屏上显示新闻内容,通过手机的新闻列表就可以流畅地切换智慧屏上的新闻内容。
综上所述,鸿蒙操作系统响应了时代的召唤,微内核是前提,分布式是手段,全场景是目的。鸿蒙操作系统的上述特性让鸿蒙本身不仅仅是现有移动操作系统的替代品,而是全新的分布式操作系统,为鸿蒙未来的发展提供动力源泉。