近日,华为在北京举办了“鸿蒙手机开发者大会”,正式发布了 Harmony (鸿蒙) OS2.0智能手机开发者测试版。
Harmony (鸿蒙) OS2.0发布
此外,还使用搭载了 Harmony (鸿蒙)操作系统的P40系列演示机,在活动现场展示了基于 Harmony (鸿蒙)操作系统的分布式功能。
如同这封邮件一样,轻轻一点就可以将手机页面和信息同时转到 Pad上,啪一下的这个速度还是很快的。
传邮件
鸿蒙系统还会自动匹配各种设备,如手机将视频发送到平板上,还会根据产品的相应属性和屏幕调整布局。
发送视频
还有我们在一个购物平台上,看到自己想要的东西,就以适配鸿蒙 OS的京东 App为例,点击跳转按钮可以传到其他手机,实现分布式无缝移动。
商品分享
还有打车软件 App可以同时显示在手机和手表上,但是显示方式不同,用户不用掏出手机就可以看到手表上的车辆信息和剩余距离。
手表交互
可见,鸿蒙实现了不同类型多个设备之间的交互连接。
套用官方的话就是:HarmonyOS ,是面向万物互联时代的全场景分布式操作系统。
分布式OS
想想苹果全家桶, iOS, iPad, macOS,甚至手表,电视,音箱都可以通过一个 iCloud来连接,甚至今年芯片和系统都自产了。
显然,华为的“鸿蒙”的这盘棋也是很大的。
如果对标别家系统,鸿蒙系统与 安卓、 ios有何不同?
总体而言,鸿蒙体系无疑更好。
鸿蒙系统不仅仅是一个手机系统,还是一个基于微内核的系统。可按需求扩展,且延迟低,效率更高。
鸿蒙系统可以让所有的硬件都在他身边工作,是5 G时代的顶级操作。
鸿蒙系统可以用来简化操作系统,它比安卓和 ios具有更好地适应性和性能。
鸿蒙系统是可以与5G通信一起超越 ios系统。
由这些特点来看,鸿蒙系统的确是先进的,但追根溯源,鸿蒙系统到底是真的是一个全新的系统呢,还是像前些年的国产系统一样,只是换了皮?
鸿蒙系统不是 Linux也不是安卓
许多人会把鸿蒙和 Linux混为一谈。
首先就拿 Windows来举例吧,大家都很熟悉的 Windows里面有内核,也有 UI系统,有桌面程序,一般人都能直接使用 Windows。但 Linux只是一个内核(它提供了进程管理、文件系统等概念),而且必须在 Linux上安装各种 APP,以供普通人才使用。在 Linux内核基础上开发的完整系统包括 Ubuntu、 debian等,一般人都能直接使用它们。
安卓系统架构图
所以鸿蒙要对标的是Windows、安卓、IOS这类完整系统,而Linux只是鸿蒙支持的内核之一。鸿蒙支持多种内核,有Linux,也有Liteos-a。让鸿蒙系统可以有更多兼容的可能,比如安卓APP、物联网、车载系统等。
整个 HarmonyOS都遵循层次结构设计,由下而上依次是:内核层,系统服务层,框架层,应用层。按照“系统>子系统>功能/模块”逐级展开,在多设备部署方案中,支持根据实际需要裁剪某些非必需的子系统或功能/模块。
鸿蒙系统构架图
内核层内核层主要包括两个子系统,即内核子系统和驱动子系统,从这里看, HarmonyOS并不是传统意义上的单一内核架构,从上图中可以看出,这是一种可以支持多种内核的机制,这也就是决定了HarmonyOS可以同时支持无MMU的架构和有MMU的架构,从其源代码“code-1.0.tar\code-1.0\kernel\liteos_a”和
“code-1.0.tar\code-1.0\kernel\liteos_m”可以看出这一点。
HarmonyOS的 驱动和HarmonyOS驱动框架(HDF)是 HarmonyOS硬件生态开放的基础,它提供了统一的外部访问能力和驱动开发、管理框架。HDF的驱动负载分为需求负载和顺序负载两种。
HDF框架的按需加载支持在系统启动期间默认加载驱动,或在系统启动后动态加载。
HDF框架的按序加载支持在系统启动时按照优先级装载驱动。
HDF框架能够集中管理驱动服务,使用者可以通过 HDF框架外部提供的功能界面直接获得驱动相关服务。与此同时, HDF框架提供了统一的驱动消息机制,它支持用户态应用向内核态驱动发送消息,也支持内核态驱动向用户态应用发送消息。
有关 HDF框架的详细说明和开发过程,请参考技术参考文档中的“driver\ HDF开发实例”。
系统服务层HarmonyOS的核心功能是系统服务层,它通过框架层向应用程序提供服务。这一层由以下部分组成:
基础功能子系统:为分布式应用在 HarmonyOS多设备上运行、调度、迁移等分布式应用所需的基本功能,包括分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形处理、安全、 AI等子系统。方舟编译器运行时提供了 C/C++/JS多语言运行时和基础系统类库,还提供了静态化Java程序(即用 Java语言开发的应用程序或框架层部分)的运行时。
基本软件服务子系统:提供面向 HarmonyOS的通用软件服务,包括事件通知、电话、多媒体、 DFX、 MSDP和 DV等子系统;
增强软件服务子系统:为 HarmonyOS提供增强的软件服务,该子系统针对不同的设备提供差异化的功能,包括智能屏幕专用业务、穿戴专用业务、 IoT专用业务等。
硬件服务子系统:为 HarmonyOS提供硬件服务,包括位置服务、生物识别、穿戴专用硬件服务、 IoT专用硬件服务等子系统。
依据不同设备形态的部署环境,可分为基础软件服务子系统、增强软件服务子系统、硬件服务子系统三大类,其中硬件服务子系统可按子系统粒度进行裁剪,每个子系统又可按功能粒度进行裁剪。
框架层框架层为 HarmonyOS的应用提供了 Java/C/C++/JS等多种语言的用户程序框架和 Ability框架,以及各种软硬件服务对外开放的多种语言的框架 API;同时为采用 HarmonyOS的设备提供了 C/C++/JS等多种语言的框架 API,这些不同设备支持的 API与系统的组件化裁剪程度相关。
应用层其中包括系统应用和第三方非系统应用。harmonyOS的应用程序是由一个或多个 FA (Feature Ability)或 PA (Particle Ability)组成。FA拥有 UI界面,能够与用户进行交互;而 PA没有 UI界面,能够在后台运行任务和统一的数据访问等。在 FA/PA的基础上开发的应用程序可以实现特定的业务功能,支持跨设备的调度和分配,为用户提供持续高效的应用体验。
上述内容就是对鸿蒙操作系统内核的简要分析,所有上述内容均来源于华为的 《HarmonyOS 入门文档》。
由这篇文档可以看出,鸿蒙操作系统是真正的微内核设计,它与 Android、 ios系统都不一样:微内核只包含操作系统所需的处于核心地位的功能模块(任务管理、内存分配等)具有最高权限,而其他模块则不具有,也就是说,其他模块出现问题时,对整个系统的运行没有任何影响。虽然微核的开发比较困难,但系统的稳定性更好。从现在透露出的信息,我们可以推测鸿蒙系统是用 C, C++语言编写的,即直接使用机器语言编写 app,可以直接编译成二进制机器代码,这样做的好处是无需中转,执行速度快。
鸿蒙操作系统是一个“面向未来”的操作系统,它面向全场景(移动办公、运动保健、社交通讯、媒体娱乐等等),它可以随需应变地扩展,实现更广泛的系统安全,达到用于物联网的,低延迟,甚至可以达到毫秒级甚至亚毫秒级相应的特点。它实现了模块化的耦合,对应不同的设备的弹性部署。现在已经适配智慧屏、手机、平板、手表等将来它还可能会适配更多电脑,智能汽车,可穿戴设备等多种终端设备。