开辟鸿蒙,今日播种。
在今天下午举行的2019华为开发者大会上,华为余承东正式宣布推出Harmony OS鸿蒙。至此,这款华为研发七年之久、备胎计划中杀手锏之一、受到万千关注的鸿蒙操作系统终于揭开面纱。如果你没有观看今天的开发者大会直播,可能对鸿蒙OS还缺乏一个整体性的了解,本文将对鸿蒙OS进行一个汇总性的梳理,方便大家一文掌握鸿蒙OS的方方面面。
1、鸿蒙Harmony OS是什么?
答:HarmonyOS鸿蒙是一款基于微内核的全场景分布式OS,是华为开发的自主操作系统,是一套主要面向未来5G引领的物联网时代的操作系统,具备支持全场景、跨多设备和平台的能力以及应对低时延、高安全性挑战的能力。余承东在会上表示,“鸿蒙在中文有开天辟地的意思,英文是harmonyOS,意指给这个世界带来更多的和谐和方便。”
2、为什么会打造鸿蒙HarmonyOS?
答:华为开发鸿蒙HarmonyOS的初衷是应对即将到来的全场景智慧时代。当前的OS系统已经不能满足未来的需要,以安卓为例,发展多年其代码已经庞大冗余,难以保证不同终端流畅体验,安卓代码已经超过1亿行,安卓Linux内核代码也有2000万行,其中只有8%的核心代码被频繁调用。
而华为认为需要进一步提升操作系统的跨平台能力,包括支持全场景、跨多设备和平台的能力以及应对低时延、高安全性挑战的能力,因此逐渐形成了鸿蒙OS的雏形。鸿蒙OS的出发点和Android、iOS都不一样,是一款全新的基于微内核的面向全场景的分布式操作系统,能够同时满足全场景流畅体验、架构级可信安全、跨终端无缝协同以及一次开发多终端部署的要求,鸿蒙应未来而生。
当然,谋求国产自主操作系统的发展,在风云变化的国际市场能做到自力更生,鸿蒙OS对于华为来说也是必须要做的事情。
3、鸿蒙HarmonyOS的微内核是什么?和宏内核有什么区别?
答:鸿蒙HarmonyOS是基于微内核的全场景分布式OS。那么这里的微内核到底是什么?微内核就是内核中只有最基本的调度,把其他系统模块都做成内核外的一个进程,每个子程序运行空间彼此不会干扰,子程序可单独调试开发,反复优化;可移植性好;升级速度快。
宏内核相反,宏内核是把系统所需的很多部分都集成进内核。例如Linux系统的进程、线程管理、内存管理、文件系统、驱动、网络协议等等部分都在内核里,所有的服务都在一个地址空间运行,相互之间直接调用函数,简单高效。
4、鸿蒙HarmonyOS整体有什么特点?
答:鸿蒙HarmonyOS包含四大技术特性:
分布式架构首次用于终端OS,实现跨终端无缝协同体验。
鸿蒙OS采用“分布式OS架构”和“分布式软总线技术”,通过公共通信平台、分布式数据管理、分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
确定时延引擎和高性能IPC技术实现系统流畅。
鸿蒙OS通过使用确定时延引擎和高性能IPC两大技术解决现有系统性能不足的问题。确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使IPC(进程间通信)性能大大提高,进程通信效率较现有系统提升5倍。
基于微内核架构重塑终端设备可信安全
鸿蒙OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。
鸿蒙OS将微内核技术应用于可信执行环境(TEE),通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。传统验证方法如功能验证,模拟攻击等只能在选择的有限场景进行验证,而形式化方法可通过数据模型验证所有软件运行路径。鸿蒙OS首次将形式化方法用于终端TEE,显著提升安全等级。同时由于鸿蒙OS微内核的代码量只有Linux宏内核的千分之一,其受攻击几率也大幅降低。
通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享
鸿蒙OS凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。华为方舟编译器是首个取代Android虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器未来将支持多语言统一编译,可大幅提高开发效率。
5、鸿蒙HarmonyOS系统开源还是闭源?
答:鸿蒙OS将向全球开发者开源,并推动成立开源基金会,建立开源社区。
6、鸿蒙HarmonyOS的系统构成是怎样的?
答:鸿蒙HarmonyOS当前包括底层内核(Linux内核、鸿蒙微内核、LiteOS)、基础服务(多Run Time如方舟等、通用系统服务、IoT设备专有服务、分布式数据管理、虚拟外设、UI图形、分布式软总线)、程序框架(多用户程序框架如鸿蒙、Web……)、应用(手表应用、大屏应用、车机应用、PC应用)四个层面。
未来鸿蒙HarmonyOS会继续发展,会将基础服务设为外核,并新增文件系统、电源管理、内存管理与设备驱动,内核为鸿蒙微内核。
大家看下图:
7、鸿蒙HarmonyOS开发、落地进度规划如何?
答:鸿蒙HarmonyOS开发进度如下:
2017年鸿蒙内核1.0完成技术验证、2018年鸿蒙内核2.0用于终端TEE、2019年鸿蒙OS 1.0将首先用于智慧屏产品(也是鸿蒙OS第一款产品)、2020年鸿蒙OS 2.0将在创新国产PC、手表、手环、车机等产品落地、2021年鸿蒙OS 3.0将用于音箱、耳机等产品,2022年以后将用于VR眼镜等更多设备。详细的规划路线大家可以看下图:
8、鸿蒙HarmonyOS和安卓有什么区别?
答:鸿蒙OS的出发点和Android、iOS都不一样,它基于微内核、面向全场景,能够同时满足全场景流畅体验、架构级可信安全、跨终端无缝协同以及一次开发多终端部署的要求,鸿蒙应未来而生,应物联网而生。
鸿蒙OS比安卓安全,安卓系统有Root权限,用户可以完全掌控经过Root之后的安卓系统。而鸿蒙则没有Root这一选项。此外鸿蒙基于微内核技术的可信执行环境,通过形式化方法显著提升了内核安全等级,全面提升全场景终端设备的安全能力。微内核可以把每一个单独加锁,不可能一个钥匙攻破所有地方。而外核的相互隔离更加安全也更加高效。
鸿蒙OS系统相比安卓性能更强,更流畅,安卓系统沿用Linux内核调度机制,是面向服务器负载的公平调度模式,难以保障用户体验,而鸿蒙OS通过确定时延引擎确保用户交互体验流畅,匹配应用特征实现资源精准调度,响应时延降低25.7%,带给用户流畅稳定的使用体验。相当于在一个道路上划分超车道、快车道、慢车道、自行车道,让不同的车分类行驶,不同的资源有序传输。
鸿蒙OS相比安卓具备一次开发、多端部署的优势,支持面向多终端的IDE环境,提高开发效率。
未来鸿蒙内核会代替 Linux 等所有内核,通过外核对用户程序框架 API 来支持所有应用,包括让 Android 应用、Linux、Unix 应用,开发环境、开发语言、多种操作语言、多种平台,开发应用都能在上面运行。也就是鸿蒙系统将兼容Linux、Unix和安卓系统。
9、华为手机什么时候用鸿蒙HarmonyOS?
答:在大会上,余承东表示鸿蒙HarmonyOS可以用在手机上。但是什么时候回用在华为手机上?余承东说:“我们随时可以用,但是因为考虑到生态原因,我们支持谷歌的 Android 生态,我们优先使用谷歌 Android 操作系统,如果 Android 操作系统无法使用了,我们就随时可以启用我们的鸿蒙。”同时余承东表示Android生态的应用迁移到华为鸿蒙OS,开发工作量非常非常之小,甚至用方舟编译器,用华为的生态去连接,可能一天两天就搞完了。
10、鸿蒙HarmonyOS的开发环境有什么优势?
鸿蒙OS从编程语言、编译器、应用分发格式、运行时库等方面均有着十分友好的开发环境。
鸿蒙OS微内核的特性可以灵活部署,提供全场景、多样安全设备能力。还有华为LITEOS,轻量级,兼顾所有应用。同时华为方舟编译器,多终端IDE开发环境来支撑当前的鸿蒙OS。
过去开发者为手表开发应用和为手机开发应用不一样,为不同硬件做适配、开发,工作量很大,鸿蒙OS支持开发者一套代码,通过华为提供的开发环境,能够适配不同种类终端,非常方便,一次开发多端部署,提升开发效率,跨设备生态共享。例如音乐播放软件开发,到家里就是大屏,电视上智慧屏,都可以自动适配。鸿蒙OS的IDE环境可以通过拖拽方实现自动适配。
鸿蒙OS支持的方舟编译器是真正支持多编程语言统一编译器,可以大大提升开发效率,甚至混合编程,高性能程序可能用C++,但是一般应用用JAVA、Kotlin,甚至支持混合编译,大大提升运行程序效率,同时鸿蒙OS借助分布式能力,提供了Kit开发跨终端应用,包括分布式软总线Kit等等,通过Kit实现分布式能力跨终端开发,像开发普通应用一样非常简单。过去操作系统都没有支持这样的能力,现在开发者将得到很大的方便。