鸿蒙操作系统|再聊华为鸿蒙及对其未来5年的期望

鄙人不才,上次更新鸿蒙都过去了半年多了,首先附上上次的鸿蒙链接客观评价华为鸿蒙系统好了,系好安全带,秋名山码神发车了,基操勿6
首先,像以前网传的微内核,还有一些问题,据我网上考证:华为终于没有采用微内核,而是采用与 Android 相同的宏内核——Linux 内核。
值得我们所以人高兴的应该是:在国产自研操作系统短缺的窘境之下,天惊一声雷,「鸿蒙」踏风来。
不由赋诗一首:鸿蒙初辟原无姓,打破顽空需悟空
主要特性:
分布式架构:实现跨终端无缝协同体验
鸿蒙 OS 的“分布式 OS 架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
实现系统天生流畅:确定时延引擎和高性能 IPC 两大技术
为了满足万物互联的全场景智慧时代对 OS 提出的新要求,鸿蒙 OS 将硬件能力与终端解耦,通过分布式软总线连接不同终端,让应用轻松调用其他终端的硬件外设能力,为消费者带来跨终端无缝协同体验。
内核安全:基于微内核架构重塑终端设备可信安全
鸿蒙 OS 采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。同时,它还将微内核技术应用于可信执行环境(TEE),首次通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。
统一 IDE 支撑一次开发,多端部署,实现跨终端生态共享
鸿蒙 OS 配备面向多终端开发的统一 IDE(集成开发工具),可以帮助开发者实现真正的一次开发,多端部署,在跨设备之间实现共享生态。
这一切的种种足以说明华为的这一盘大棋是直接对标苹果的,打造鸿蒙生态,开创万物互联,向人工智能看齐
再聊 那么系统有了,软件怎么办呢?其实华为也早有想法,首先安卓的软件是可以直接套用在鸿蒙OS上的,(可能这也就是为什么起初有人称鸿蒙是换壳安卓吧),但是现在华为也在用自己的社会影响力,来开办各种鸿蒙开发者大赛,有图为证鸿蒙操作系统|再聊华为鸿蒙及对其未来5年的期望
文章图片

鸿蒙开发者学堂
想一下7,8年前安卓的那批程序员,哪一个不是人中龙凤了,但是仅供参考,我不确定现在的鸿蒙是不是以后的安卓,当然不是说鸿蒙将替代安卓,俩家的起初定位就不同。
再聊鸿蒙第一枪,方舟编译器
我们刚开始的程序员肯定不会为了学习鸿蒙开发,而专门买一个华为设备,毕竟众所周知支持鸿蒙系统的华为设备,是真的不便宜,所以鸿蒙第一枪,方舟编译器来了,模拟调试,Java主流语言,让安卓程序员可以迅速上手,以下是优点:
如果要一个操作系统高效,它的设计必须和它的芯片或多或少有更密切的关联,而这些关联就是用编译器去达成的,就是负责把程序源代码根据芯片的设计去做最大化优化。
华为手机的技术一直是以苹果手机对标的,自然而然,华为就要构造这些能力从芯片,操作系统到编程技术。
为了对标苹果,当初的目的是为了省内存和闪存,从而有相应性能提高,而华为首先尝试改变安卓上的采用编程技术,再来实现软件和硬件联同设计,如 CPU 的流水线和特有指令等。
从方舟编译器的开源,就可以很清晰的看到,当初决定的技术方向,就是把动态语言特性静态化在运行前预处理,这还是属于 AOT 范围,但是比 SUN 当时在 Java 上做的 AOT 激进:
【鸿蒙操作系统|再聊华为鸿蒙及对其未来5年的期望】把 Java 的字节码预编译成机器码,当然有华为自己的 IR 为编译转换和优化所用;
把 Java 的内存垃圾管理 GC 改成和苹果自动引用计数 ARC 一样。
这是不包含传统编译器:
Java 编程语言解析器,负责把 Java 程序源代码转换成 Java 的字节码;
生成的机器码还是 ARM 标准的指令集,没有华为芯片特定的指令;
没有自己链接器,所以没有对应的优化。

    推荐阅读