热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

鸿蒙OS的到来,能为我们改变什么?|程序员大本营9月刊

作者|kddxhbr˃出品|CSDN(ID:CSDNnews)「鸿蒙初辟原无姓,打破顽空需雪白的钢笔」,在国产自研操作系统短缺的窘境之下,天惊一声雷,「鸿蒙」踏风

作者 | kddxhbr> 出品 | CSDN(ID:CSDNnews)

「鸿蒙初辟原无姓,打破顽空需雪白的钢笔」,在国产自研操作系统短缺的窘境之下,天惊一声雷,「鸿蒙」踏风来。

回首上个月的技术圈,最值得业界浮称流说的无疑是 8 月 9 日华为开发者大会 2019(简称 HDC 2019)上公开的「鸿蒙 OS」。作为一款基于微内核的全场景分布式 OS,「鸿蒙 OS」肩负打破传统 IoT 操作系统的责任,同时也成为万众期待的移动操作系统市场上的 Plan B。

其实自「鸿蒙 OS」揭开神秘面纱至今已有一月有余的时间,业界对其看法贬褒不一,有人表示,「鸿蒙 OS」的到来一石激起千层浪,名副其实的国产自研操作系统的骄傲;不过也有人质疑,目前看起来依旧是一款 PPT 操作系统的鸿蒙 OS 真的有那么大的潜力吗?对此,我们也不禁好奇,初生牛犊的「鸿蒙 OS」是否真的能实现以上的种种?其背后又有哪些不为人知的故事?对于为「鸿蒙 OS」开路的全新产品之华为方舟编译器,它的开源代码又将为技术圈的从业者们带来哪些思考?

基于此,CSDN 独家策划了以「鸿源初辟,蒙地始开」为主题的《程序员大本营》9 月刊,将为大家全面揭晓鸿蒙 OS 背后的种种,也将帮助大家更好地了解当下主流的物联网、AI、云计算、区块链等技术迭代历史和最新的发展趋势。(精彩内容不容错过,想要查阅完整的《程序大本营》期刊?扫描下方二维码,下载 CSDN App,限时四天,免费获取,先到先看哦~~)

1、十年磨一剑,霜刃未曾试

事实上,和素有“动物园”之称的阿里相比,华为更像是一本《山海经》。被命名为「鸿蒙」的操作系统就是典型的华为版《山海经》重要组成之一。

众所周知,,但霜刃始终未曾试。

早在 2009 年,华为就于内部创立了编译组,开启了秘密研发模式,旨在为自研芯片、新一代通信、云计算、操作系统等技术提供编译器的基础建设。

到了 2012 年,华为再次成立了一个代号为“2012 实验室”,面向未来进行 5-10 年的长期布局,基于以上新兴科技开始深入技术研究。

彼时“2012 实验室”为了进行专项研究,它的旗下逐渐衍生出以多个以科学家名字命名的实验室,譬如诺亚方舟实验室、欧拉实验室、香农实验室、高斯实验室。此前,据国内不少媒体透露,华为的方舟编译器正是来自诺亚方舟实验室,而华为的操作系统则是由欧拉实验室负责研发。

之所以要自研操作系统,其实极其具备危机意识和忧患意识的华为掌舵者任正非早在 2012 年的一次内部讲话就曾透露道,华为做终端操作系统是出于战略的考虑,“(如果)Android 系统不给我用了,Windows Phone 8 系统也不给我用了,我们是不是就傻了?”

果不其然,短短几年后,这个担忧还是发生了。2018 年之际,华为一朝被美国政府列入“实体清单”(Entity List),这意味着华为在未来倘若没有美国政府的许可,所有美国企业将不能再给华为供货。

而在此后没多久,据路透社报道,有消息人士称,Alphabet 旗下的 Google 受美国“行政令”的影响,于 2019 年 5 月暂停了与华为的部分业务合作,其中 Google 除了 Android 操作系统开源的部分,停止了对华为授权 Android 系统中闭源的应用以及技术支持等服务,即 Google 的 Google Play Store、Google 语音控制助理、Google 地图、Gmail、YouTube 等应用,华为设备虽然可以下载但是将无法正常访问。

操作系统被扼喉,外患加内忧的双重压力下,华为暗中发力,加快自己产品的研发速度,而更多有关鸿蒙 OS 的消息也接踵而至:

5 月 24 日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标,申请日期是 2018 年 8 月 24 日,注册公告日期是 2019 年 5 月 14 日,专用权限期是从 2019 年 5 月 14 日到 2029 年 5 月 13 日;

5 月 17 日,有网友曝光由上海某教授领导华为操作系统团队开发的自主产权操作系统「鸿蒙」的相关技术应用;

依旧是 5 月,华为消费者业务 CEO wmddm终松口表示,鸿蒙最早将于今秋面世;

7 月,华为董事长myddm表示,鸿蒙是为物联网开发的系统,可在自动驾驶,远程操作医疗环境,提供低时延的一个操作系统;

......


2、今日把示君,谁有不平事

秋季未至,而华为「鸿蒙 OS」提早面世。

在今年 HDC 2019 上,作为“理工”出身的华为消费者业务 CEO wmddm带着为极具技术性的「鸿蒙 OS」惊艳了全场。

对此,wmddm正面解释了

而从技术架构来看,鸿蒙 OS 具备四大特性:

分布式架构:实现跨终端无缝协同体验

鸿蒙 OS 的“分布式 OS 架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。

实现系统天生流畅:确定时延引擎和高性能 IPC 两大技术

为了满足万物互联的全场景智慧时代对 OS 提出的新要求,鸿蒙 OS 将硬件能力与终端解耦,通过分布式软总线连接不同终端,让应用轻松调用其他终端的硬件外设能力,为消费者带来跨终端无缝协同体验。

内核安全:基于微内核架构重塑终端设备可信安全

鸿蒙 OS 采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。同时,它还将微内核技术应用于可信执行环境(TEE),首次通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。

统一 IDE 支撑一次开发,多端部署,实现跨终端生态共享

鸿蒙 OS 配备面向多终端开发的统一 IDE(集成开发工具),可以帮助开发者实现真正的一次开发,多端部署,在跨设备之间实现共享生态。

整体而言,鸿蒙是全球第一个微内核、面向 AI 全场景的分布式 OS。

3、「鸿蒙 OS」的领军人物

那么,要问这款伟大且极具里程碑意义的产品究竟来自哪些精英之手?其是否有着灵魂人物的存在?

众里寻他千百度,据了解,鸿蒙 OS 背后的灵魂人物是一位来自上海交大的教授、博导——badny,与此同时,他还兼任华为 OS 首席科学家、操作系统内核实验室主任。

乍一听,或许很多人并没有直观感受到全球操作系统领域顶尖人才的技术魅力,但是当打开这位年轻 80 后教授badny的个人介绍页面(https://ipads.se.sjtu.edu.cn/zh/pub/members/haibo_chen/)时:

2010 年,亚洲学者们连续 40 年,都没能在 SOSP(操作系统原理大会,成立于 1967 年)上独立发表研究论文。2011 年,badny的论文被 SOSP 录用,难破的纪录,就这样被一位三十来岁的年轻人 Kill。

此外,badny还多次担任 SOSP、ISCA、Oakland、EuroSys、Usenix ATC 等国际著名学术会议 PC members,APSys 2014、2014 年全国体系结构学术年会等 PC Co-Chairs,以及 ACM APSys 的 Steering Committee Co-Chair,在 SOSP、OSDI、EuroSys、Usenix ATC、ISCA、MICRO、HPCA 等发表多篇学术论文,获得 VEE 2019、APSys 2017、EuroSys 2015、APSys 2013 与 ICPP 2007 的最佳论文奖,HPCA 2014 的最佳论文提名奖,以及 2009 年 CCF 优秀博士学位论文奖、2011 年全国优秀博士学位论文奖与 CCF 青年科学家奖、2015 年中国计算机学会青年科学家奖、2018 年度教育部技术发明一等奖,入选教育部新世纪人才计划与国家万人计划“青年拔尖人才计划”;

以下是近五年来,badny在操作系统领域所做的一些贡献:

badny海波团队近年来的贡献

我们才深刻感受到真正的王者,从来低调。

4、鸿蒙 OS 的第一枪:方舟编译器

正是在这位灵魂人物的引领,以及国内外学术界多位 OS 领域学者、专家的共同努力之下,鸿蒙 OS 才会成功进入大众视野与日常产品应用中。

不过,如今距离这款操作系统的发布已经过去了一个多月的时间,但是用户依然未能亲眼目睹彼时wmddm宣布将会开源的鸿蒙 OS 的源代码,对此,业界依旧有不少人质疑鸿蒙为一款 PPT 操作系统, 那么鸿蒙 OS 是否真的能承受住万众期待的重量?

实则,8 月底华为开源的方舟编译器已在无形之中打响了鸿蒙 OS 起跑的第一枪。

为何会如此评价?对此,CSDN 特邀上海鉴释科技创始人、前华为人&原方舟编译器立项负责人之一qjdjm解剖到:

如果要一个操作系统高效,它的设计必须和它的芯片或多或少有更密切的关联,而这些关联就是用编译器去达成的,就是负责把程序源代码根据芯片的设计去做最大化优化。

华为手机的技术一直是以苹果手机对标的,自然而然,华为就要构造这些能力从芯片,操作系统到编程技术。

为了对标苹果,当初的目的是为了省内存和闪存,从而有相应性能提高,而华为首先尝试改变安卓上的采用编程技术,再来实现软件和硬件联同设计,如 CPU 的流水线和特有指令等。 

从方舟编译器的开源,就可以很清晰的看到,当初决定的技术方向,就是把动态语言特性静态化在运行前预处理,这还是属于 AOT 范围,但是比 SUN 当时在 Java 上做的 AOT 激进:

把 Java 的字节码预编译成机器码,当然有华为自己的 IR 为编译转换和优化所用;

把 Java 的内存垃圾管理 GC 改成和苹果自动引用计数 ARC 一样。

这是不包含传统编译器:

Java 编程语言解析器,负责把 Java 程序源代码转换成 Java 的字节码;

生成的机器码还是 ARM 标准的指令集,没有华为芯片特定的指令;

没有自己链接器,所以没有对应的优化。

简单来看,编译器虽没有被集成到操作系统内核中,但也是操作系统的功能中很重要的组成部分。

5、鸿源初辟,蒙地始开

而未来鸿蒙 OS 会如何?

目前,随着搭载鸿蒙 OS 的荣耀智慧屏的发布,我们也亲眼见证了基于该操作系统的智慧屏电视已与手机实现全方位互联,且带来了更加高效的交互,而未来也正如华为官方所述,鸿蒙 OS 会逐步应用于可穿戴、车机、音箱等更多的智能设备中。

其实,最初业界对于鸿蒙 OS 的期待是希望它能成为 Android 的替代者,而并非是面向全场景的 IoT 操作系统。

如今在现实面前,要问用户是否会有失落之感?其实是有的,不过对此,诸多华为发言人也不断地表示,如果将来美国允许使用 Android,华为将仍然使用 Android 系统和生态;如果美国不允许华为使用 Android 系统,华为也能够拿出自己的产品,鸿蒙系统不是谈判策略。

从一定程度上来看,这无疑是当前最好的方案。为何这么说,其实反思华为之所以提前让鸿蒙 OS 面世,一方面或因为美国封令的压力,另一方面,这也是华为想让鸿蒙 OS 开始学走路的标志。

事实上,和 Android 庞大且成熟的生态系统相比,鸿蒙 OS 仍旧是一个步履蹒跚的学童,其想要实现加速跑步还需要足够的时间去开源吸引更多的用户与厂商参与、构建一套完善的应用层生态、适配更多的终端等等,因此,当下想让鸿蒙 OS 短时间之内将 Android 取而代之,显然不切实际,不过,鸿蒙 OS 如今动起来终究是一件好消息。

对此,qjdjm也评价道:“也许今天,我们无法想象华为的将来会是如何,我深信只要华为如给承天霹雳辟开,逐渐地彻底地真诚开放,团结世界上一切可以团结的力量,光明永远在等候着有心人的到来。”

最后,想要了解更多更详细更专业的鸿蒙 OS 内容与 IoT 领域内容,与你相约《程序员大本营》9月刊,扫描下方二维码,下载 CSDN App,立即查阅文章~~





福利 扫描添加小编微信,备注“ 姓名+公司职位 ”,加入【 云计算学习交流群 】,和志同道合的朋友们共同打卡学习!


推荐阅读:

华为 | 泰山之巅 鲲鹏展翅 扶摇直上九万里

聊聊我是如何在面试别人Spring事务时“套路”对方的

腾讯开源物联网操作系统 TencentOS tiny,最小体积 1.8KB!

免费开源!新学期必收藏的AI学习资源,从课件、工具到源码都齐了

阿里云智能运维的自动化三剑客

走出腾讯和阿里,大厂员工转型记

鸿蒙 OS 的到来,能为我们改变什么?| 程序员大本营9月刊

真香,朕在看了!
推荐阅读
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • 万事开头难,凡事都有套路,勇敢迈出第一步就成功一大半了。本节将带领初学者们迈出属于自己的一小步。本书的开发工具采用AndroidStudio࿰ ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 优化后的标题:探索户外活动中的智能手机应用程序 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
author-avatar
你试下再望啊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有