RISC-V与ARM架构相比有何优势和劣势?

RISC-V与ARM架构相比有何优势和劣势?,第1张

EDN电子技术设计:请用您自己的话为读者大致介绍一下RISC-V。

胡振波:

RISC-V是一种简单、开放、免费的全新指令集架构。RISC-V最大的特点是“开放”,它的开放性允许它可以自由地被用于任何目的、允许任何人设计、制造和销售基于RISC-V的芯片或软件,这种开放性,在处理器领域是彻底的第一次。

RISC-V这种开放架构的诞生可以说是时代发展的必然。RISC-V生态体系正在全球范围内快速崛起,成为半导体产业及物联网、边缘计算等新兴应用领域的重要创新焦点。

RISC-V基金会于2015年由硅谷相关公司发起并成立,至今已有150多个企业或单位加入,包括谷歌、华为、英伟达、高通、麻省理工学院、普林顿大学、印度理工大学、中科院计算所等。目前RISC-V由基金会统一维护。

美国国防高级研究计划局(DAPRA)已连续多年通过专项方式支持RISC-V指令集的研究和实用化。2017年,印度政府大力资助基于RISC-V的处理器项目,RISC-V成为印度的事实国家指令集。我国RISC-V虽然处于起步阶段,但是发展非常迅速。今年7月,上海市政府率先发布了中国大陆首个支持RISC-V的政策,这对于RISC-V指令集在中国的发展起到了重要的推动作用。10月17日,中国RISC-V产业联盟成立,标志着我国在RISC-V生态系统建设上正式迈出了坚实的一步。

EDN电子技术设计:请分别从技术和商业的角度,分析RISC-V相对于ARM架构的优势和劣势。

胡振波:

优势非常明显,RISC-V是一种开放的架构,从 历史 的经验来看,开放的生态一定会比封闭的好。RISC-V技术是后发技术,所以能够总结前人的经验教训,做到相对简洁和干净。

但是,劣势也很明显,由于RISC-V诞生时间太短,相关的编译器、开发工具和软件开发环境(IDE)以及其它生态要素还在发展。目前RISC-V具有全套开源免费的编译器、开发工具和软件开发环境,这是RISC-V的巨大优势,但是开源版本相比ARM的商用编译器和IDE而言,还颇有差距。

RISC-V必须依靠强有力的商业玩家来长期支持和推进,方能得到持续发展。目前从全世界范围来看,在RISC-V技术阵营中,台湾的Andes公司(晶心 科技 )开发的编译器、开发工具和软件开发环境(IDE)是最为完善和先进的,几乎可以和ARM的工具相媲美。另外,还有很多RISC-V的新创公司(譬如芯来 科技 ),也会 探索 新的商业模式。

EDN电子技术设计:哪些市场应用和产品将会成为RISC-V架构快速发展的驱动力?

胡振波:

从技术的角度来讲,RISC-V架构理论上是能够实现从低功耗处理器内核到支持Linux *** 作系统的高性能处理器内核的全方位产品。譬如,目前美国的SiFive公司以及台湾地区专业处理器IP公司Andes(晶心 科技 )都推出了有竞争力的、支持Linux的RISC-V处理器内核。芯来 科技 目前提供面向低功耗领域的RISC-V处理器内核。

处理器领域的生态建设需要一定的时间,短期内比较容易落地的是物联网和边缘计算领域:

• 由于RISC-V拥有精简、低功耗、模块化、可扩展等技术优势,因此尤其适合对生态依赖比较小的封闭或半封闭产品、深嵌入式或新兴的物联网、包含嵌入式人工智能等应用的边缘计算领域及需要定制化的场景。

• RISC-V能够为物联网行业带来显著的灵活性和成本优势,在未来的20年,物联网和边缘计算领域的处理器内核年出货量预计会达到万亿颗的规模。中国大陆由于拥有几乎全球最大的市场空间,理论上RISC-V会大有可为。

EDN电子技术设计:RISC-V对中国半导体产业的发展会带来哪些影响?

胡振波:

从长远来看,RISC-V对中国半导体产业会产生划时代的意义,主要体现在以下5个方面:

• 通过RISC-V架构摆脱国外的垄断,实现处理器内核的国产自主。这种处理器内核不是闭门造车做出来的,而是拥有全世界认可的主流架构和主流生态。

• 通过RISC-V可以极大地加强我国处理器IP话语权。IP产业处于行业最上游,远离其它产业,并没有得到产业和国家的重视。RISC-V给了中国IP产业机会,虽然目前我国在RISC-V上仍然落后,但相对于其它IP技术,落后并不太远。

• RISC-V可以推动创新和差异化。由于RISC-V的开放、简洁、可扩展以及低成本,可以给终端应用市场带来巨大创新。

• RISC-V可以明显降低芯片研发成本。RISC-V的产业链日趋完善,从处理器内核到硬件设计、 *** 作系统、开发工具、基准测试以及解决方案,全产业链具备完整性,使得行业可以均摊一切成本。

RISC-V的逐渐普及在一定程度上促进了行业本土化的发展,创造了更多行业机会,为产业界和学术界积累大量CPU人才。

EDN电子技术设计:您认为哪些因素会妨碍中国IC设计公司采用RISC-V架构?

胡振波:

以下三个主要因素会起到妨碍作用:

首先,ARM在中国影响力巨大。在芯片处理器内核方面,由于中国长期缺乏自主的通用处理器内核,几乎都是购买国外的ARM处理器内核,形成了习惯。对于RISC-V这样一种新架构的出现,很长一段时间内人们持怀疑态度。ARM在中国还成立了合资公司(全球唯一的国家),所以ARM在中国市场尤其显得强势,这使RISC-V在中国的传播相比别的国家显得非常缓慢。

其次,RISC-V被误导为免费。RISC-V架构是一种Free的指令集架构,准确地说Free应该理解为“自由“而不是“免费”,指令集架构也不是一款具体的处理器内核。大多数人对于处理器的一些基本概念并不了解,将RISC-V与“一款免费开源的处理器“划上等号,而免费往往是劣质的代名词。这种误导严重影响了RISC-V在中国的正常传播和发展。

最后,RISC-V还被误导为一种全新的设计语言和流程。虽然目前很多开源的RISC-V内核使用的是全新的设计语言和流程,但并不代表RISC-V处理器内核就等价于全新的设计语言和流程。全新的设计语言和流程带来的不确定性和质量隐忧会让IC设计公司(尤其是国内公司)感到排斥和不安,这种误导也会影响RISC-V处理器内核在国内的采纳和传播。其实RISC-V只是一种全新的处理器架构(以及衍生出的新生态),无关乎设计语言和流程。使用工业级成熟、稳健的设计方法更能设计出稳健可靠的RISC-V处理器内核,如芯来 科技 、台湾Andes公司(晶心 科技 )以及其它一些公司使用工业级成熟、稳健的设计方法设计出的RISC-V处理器内核。

EDN电子技术设计:您专门写了一本设计RISC-V处理器的书,请为有志于从事RISC-V架构设计的IC设计工程师和高校学生提几点建议和心得体会。

胡振波:

我认为目前学习RISC-V架构正当时,因为:

RISC-V的开放性使得任何公司与个人均可依据开放的RISC-V架构设计自己所需的处理器。很多科研机构开始使用RISC-V开发处理器,独立的RISC-V处理器IP公司开始出现,一些实力雄厚的巨头(如NVIDIA、三星等)开始使用RISC-V架构开发其自有的处理器内核,可以说是旧时王谢堂前燕,飞入寻常百姓家。因此,掌握RISC-V架构,会变成一种通用技能,对科研、学习和就业大有裨益。

当前国内CPU产业热潮方兴未艾,x86、ARM、MIPS等传统商用处理器架构在国内呈全面开花之势。龙芯、兆芯、飞腾等资深专业CPU公司在不断突破;华为、展讯等一线大公司也相继开始研发自主的处理器内核;海光、华芯通等新锐纷纷摩拳擦掌。开放的RISC-V架构的诞生,更是为此番繁华增添了精彩。同时,各种人工智能AI处理器也采用RISC-V作为核心,RISC-V的相关知识完全能够应用于AI处理器芯片领域。

综上所述,我认为学习RISC-V正当时。

但是,计算机体系结构相关书籍往往不利于初学者入门,尤其是RISC-V诞生时间太短,全英文版的指令集手册专业性强,晦涩难懂,非常不利于国内用户学习上手。另外很多对RISC-V感兴趣的初学者基本背景知识比较薄弱,需要补足。

为了促进RISC-V在国内的普及,尤其是被广大初学爱好者接受,我撰写了国内第一本关于RISC-V处理器的通俗书籍《手把手教你设计CPU——RISC-V处理器篇》,详细介绍了相关的基础背景知识,系统通俗地讲述了RISC-V的前世今生,还配套了自己开发的开源蜂鸟E203处理器内核。

目前有关如何使用RISC-V的嵌入式软件开发方面的中文资料仍然欠缺,我撰写的另一本新书《RISC-V架构与嵌入式开发快速入门》也即将上市,相信会在某种程度上缓解这一问题。

EDN电子技术设计:您创立芯来 科技 公司专门开发RISC-V内核,请谈一下公司的商业模式和愿景。

胡振波:

芯来 科技 (Nuclei System Technology Co, Ltd)作为中国大陆本土唯一专注于RISC-V处理器内核开发的公司,是RISC-V基金会银级会员,中国RISC-V产业联盟副理事长单位。

在商业模式上,主要是传统的处理器IP授权模式和面向垂直领域的深度定制模式,同时还在进行一些全新的商业模式 探索 。

我们有两个愿景:一方面,IoT和边缘计算领域的处理器内核IP年出货量会达到万亿颗。如此巨大的市场,我们希望至少这个市场的一部分属于我们本土公司,从而让大多数本土芯片公司用上国产的RISC-V处理器内核。另一方面,目前国内的RISC-V技术力量非常薄弱,希望芯来 科技 能够为RISC-V阵营做出我们中国人应该做出的贡献。

EDN电子技术设计:除了RISC-V内核外,要开发出商用的RISC-V处理器还需要哪些开发工具和环境?

胡振波:

处理器是软硬件的交汇点,所以必须有完善的编译器、开发工具和软件开发环境(IDE),处理器内核才能够被用户顺利使用起来。

目前RISC-V具有全套开源免费的编译器、开发工具和软件开发环境(IDE),这是RISC-V的巨大优势,但是开源版本相比ARM等传统架构的编译器和IDE而言,还颇有差距。

除了开源版本之外,还有专业公司提供的专业版本。目前从全世界范围来看,在RISC-V技术阵营中,台湾的Andes公司(晶心 科技 )开发的编译器、开发工具和软件开发环境(IDE)最为完善和先进,几乎可以和ARM的工具相媲美,这一点也值得我们去学习。

延伸阅读:

RISC-V真的是中国芯片实现自主、可控、创新和繁荣的希望吗?

多端跨屏协同非鸿蒙独有,而是未来 *** 作系统的必经之路。

航通社首发原创文章,未经授权禁止转载

微博:@航通社 | 微 信搜一搜:

2021年 第20 期

文 / 书航 2021610

持续引发高度关注的 华为鸿蒙 *** 作系统 (官方名 HarmonyOS,以下一律不做区分称“鸿蒙”) 20 全量推送,开始揭开神秘面纱,人们终于可以实际使用到它。在演示中,鸿蒙让所有大、小屏或不带屏的智能终端合为一体,彼此连接,手表“借用”手机摄像头拍照、手机正玩的游戏可以上划“推”给平板等能力让人印象深刻。

此后不久,苹果 WWDC 发布了 macOS、iOS、iPadOS 等系统 的新版本,主要增加了一些为远程办公设计的功能点,其中不少功能是为了同时让家中 n 台各异的苹果设备之间互相通讯而准备的,比如跨设备同步的“专注模式”、Universal Control 实现多设备间的无缝切换和协同工作、Airplay 可以投影到 Mac 上。如果算上之前发布过的随航(Sidecar)、Mac 可运行 iOS 应用等能力,苹果现在在跨设备之间的协同度可以说越来越高了。

华为在手机-其它自有大小屏-第三方智能硬件的“1+8+N”协同方面,如今已经做得非常到位,以至于可以将不同架构的 *** 作系统统一在“鸿蒙”名称之下,而不至于不协调。而苹果仍然沿用对不同端、不同架构系统采用“xxOS”命名区分的方法,但设备之间的相互协同程度之高,也已经拉开其他厂商一大截。以至于有人戏称 WWDC 是一次“很鸿蒙”的新品发布。

跨设备互通:为什么是现在?

让任务、数据和能力在你手中的不同设备之间自由流转 ,是很多人心目中智能家居的一个必备功能点,但做到这一点其实很困难。不同品牌智能家电、手机、PC、平板之间的兼容性往往很差,需要很大努力去做中转。

现在,情况好了太多。除了苹果和华为之外,谷歌、小米、微软+三星等其他厂商也各有各的招数。很多手机厂商开发了在 PC 屏幕上显示手机应用和管理文件的功能,比如小米的 MIUI+、华为“多屏协同”、联想 Lenovo One、微软“你的手机”配对三星手机等。另外,还记得以前我们有个段子:

“是这样的张总,你在家里的电脑上按了CTRL+C,然后在公司的电脑上再按CTRL+V是肯定不行的。即使同一篇文章也不行。不不,多贵的电脑都不行。”

如今“云剪贴板”也不再是稀罕物了。张总真的可以在他的不同设备之间共享复制、粘贴的内容了,还可以将在这台电脑编辑到一半的文稿交给另一台电脑,乃至让不同员工一起参与编辑。

当前,跨设备互通的种种难题正逐一得到攻克,应该说这是 终端配置 (芯片+存储)、 网络条件 (WiFi+4/5G)、 标准化 (市场的优胜劣汰)等多重条件共同作用的结果。

在硬件配置方面 ,过去孱弱的手机芯片只能勉强处理单任务或者假的多任务,跳到另一个应用就会白屏重开,以至于争夺权限在后台“保活”。这样的情况无法支撑长期待机与其他设备相连,电池也会随之告急。用以前的手机可能会形成一个习惯,就是不用的时候关闭蓝牙和 GPS,因为耗电相当可观。

手机自移动互联网时代之初至今,一直是各种控制手段收束的终极节点,有它可以控制其它家电和穿戴设备,但没它可真的不太行。它是一个“带屏的万能遥控器”,有的家庭可能习惯了用语音助手控制家电,但语音指令当前还不精确,并不如图形界面直观。而手表的屏幕显然又太小,当然也不是不能用。电视机、电脑和平板都携带不方便。最终,还得是手机正合适。所以,手机配置上来了,多端协同也就有条件了。

在网络条件方面 ,从 4G 开始,家用设备的通讯延迟就已经低到可以忽略的程度了。所以在通信展、电子展上,你看到 4G 时代就有机械臂遥控的演示,5G 还有,顶多加上一个远程开车。但是家庭 WiFi 和手机上网并不需要太大的流量;就算看视频和玩游戏除外,但不同的设备可以单独联网,所以并不是说要手机开网共享给平板用。过去 5 年内新买的路由器已经可以搭建一个很不错的智能家居。

而第三个方面标准化 ,则是至关重要的。在 2014 年“智能硬件元年”前后,出现过一些现在看来相当奇葩的产品,举两个例子:

一个超大,超沉,音质还不错的音箱,不能用蓝牙,只能用 WiFi 联网由 APP 激活,中转到 QQ 音乐、豆瓣、虾米等服务和网络电台。最重要的是,它连 35mm 耳机线都没有。当该公司倒闭后,APP 失效,该音箱成为彻头彻尾的电子垃圾。

另一块手表是当年支付宝官方认证的,首款可以显示付款码的智能表,但第一步激活就需要下载 APP 配对。同样,在公司倒闭后,它也成为一块废铁。

那个年代恨不得水杯都给你智能一下,而智能的定义就是在配对的手机 APP 上可以显示你喝了多少水,还剩多少,打败了全国多少 % 的用户。而标准的不统一,使当年绝大部分这些玩意儿都彻底失效,即使硬件本身状态良好。唯一还能发挥余热的就是那些保留了一部分传统使用方法的设备,比如还留下了耳机孔和蓝牙模式的音箱。

到 2019 年,情况仍未明显改观。 :

“一台‘智能电视’,它最根本的本职工作还是显示画面,所以清晰度、色彩还原度、声音等指标还是优先于它的‘智能控制全屋家电’指标。一台‘智能冰箱’,它的优先指标也还是容量、能耗、制冷效率、温控能力等基础指标,而不是智能特性。”

但是,基于语音的家居控制方案,有的同一品牌唤醒词不统一(某厂商智能电视的助手唤醒词是“小x小x”,但冰箱的唤醒词是“你好冰箱”),有的终端太多并且“抢话”,有的是“半拉子”智能(比如说在冰箱屏幕上记录你放进去了什么食物,需要手动扫描实物商品的条形码)。

而当时对全屋智能家电形成最大障碍的,是各个厂商之间的各怀心思,彼此设限。

“海尔、TCL 和格力这样提供全屋智能整套方案的传统厂商,均选择自主研发各自方案,不仅是唤醒词不同,而且从软硬件设计到底层逻辑都有区别。唯一的共同点是,他们都选择不跟第三方合作。这就无可避免的给消费者带来选边站队的问题。”

为了让跨品牌家电可以互相兼容智能特性,中国家用电器协会(CHEAA)与中国通信标准化协会(CCSA)主导了“云云互联”项目,让 A 厂商的唤醒词可以控制 B 厂商的设备。然而家电厂商口头上答应,但只是拿出了一些并非最新款的型号应付,用户的选择依然很有限。随意搭配不同厂商各自为政的设备,还是会因互不兼容带来智能“降级”。

可以说,当年跨品牌结盟的互通尝试要是有戏,就没有后来华为 HiLink 和现在的物联网版鸿蒙什么事了。

在认清现实,放弃幻想之后,厂商们静下心来发现 只有国际通行的蓝牙、WiFi 这些东西才是真的可用 。同时,苹果成为几乎唯一的例外,作为一家商业公司,它为自家产品设定的一些标准被国内其他厂商主动兼容,最典型的就是 Airplay 。各家智能电视现在收取 iOS 投屏信号的稳定性已经大为提升,哪怕电视机的系统都是安卓魔改。

在部分友商之间的谈判也有局部进展,比如 小米、OPPO、Vivo 成立“互传联盟” 。但是,在有生之年看到华为阵营跟小米阵营之间互通,则是不太可能的了。

因为厂家更为务实,所以现在的家电、穿戴设备、车辆都会尽可能兼容更多跨厂商的私有协议,至少也会兼容那几个公有协议。 鸿蒙的出现本身也是华为对其智能硬件生态的一次梳理 ,你可以发现这次鸿蒙在手机上可升级的范围很广,一些四五年历史的旧手机也一样可以更新,就是为了最大限度利用起人们家里的所有终端,让手机当好“遥控器”,不让它们过早淘汰。

但是再早一点的那些奇葩产品就没办法了。如同安卓碎片化一样,智能硬件的碎片化现在依然是跨设备协同不得不面对的大问题。

如何看待不同设备上的“鸿蒙”

综上可以看出,鸿蒙主推的“万物互联”并不是它独有的能力,也不是说华为的设备唯独是因为鸿蒙的出现,才能融合的这么好。但基本可以说,华为和苹果分别走在跨设备互联互通的比较靠前的位置上。相对的,Windows 桌面版的很多东西都不能最先跟 Windows Phone 配对,最终导致了微软手机战略的失败。

那么,对于华为来说, 不同设备、不同结构但都叫“鸿蒙”的 *** 作系统之间能高度互通,有什么重要的意义呢 ?

事实证明,鸿蒙主要的战场还是在手机上。手机、平板和电视(智慧屏)上的鸿蒙(以下简称“ 手机版鸿蒙 ”,相当于苹果生态中的 iOS、iPadOS;注意因为国内电视机大多也是基于 Android,所以电视也算在这里)为了支持安卓生态,在其中适度引入了属于安卓开源代码(AOSP)的一部分,以构建一个可以运行安卓应用的环境。这引发了对于该系统是否为“自主知识产权”的争论,文章最后也会再讲到。

而另一方面,鸿蒙真正 100% 自研的部分是适用于物联网的 *** 作系统(以下简称“ 物联网版鸿蒙 ”,相当于苹果生态中的 watchOS、tvOS、以及兼容 carplay 协议的车机界面),其植入的对象涵盖单片机、有简单屏幕交互的设备,乃至手表等更复杂的设备。

适合这些设备的 *** 作系统代码被放在由“开放原子开源基金会”管理的代码库里,但它们的实际意义是可以让灯具、空调、路由器等家电、智能硬件生产商将自身设备适配华为生态。这些代码编译后开发的产品并不能安装 APK 包运行安卓应用,大多数其实也不支持安装其它格式的应用。

因此我们看到 对外宣传时候,用了比较模糊的措辞 ,比如“三大银行率先支持鸿蒙”“魅族宣布支持鸿蒙”等等,但银行说的“支持鸿蒙” 指其安卓客户端针对手机版鸿蒙独有的编译器做了调整 ,避免了直接安装可能出现的强退、卡顿等问题,以及可能针对鸿蒙手机版的“服务卡片”加入一些快捷方式。由于 AOSP 部分代码及开发工具(IDE)的熟悉性,这样的适配 1-2 天内基本就能完成。

而魅族等厂商说的“支持鸿蒙”,当然是 指智能硬件安装了物联网版鸿蒙 。以前可能这个智能家居协议叫 HiLink ,可以在普通安卓手机上用“华为智能生活”客户端(就是图标长得像香奈儿的那个)控制。现在它们针对第一方的手机版鸿蒙系统可能会适配得更好,仅此而已。

现在,华为 PC 产品面向消费者依然预装 Windows 10 *** 作系统,政企客户则可以选择预装了 统信 UOS 的整机。但这两个都跟鸿蒙系统没啥关系。 万一华为打算输出“电脑版鸿蒙”,那么它非常有可能将会是又一个 Linux 发行版 。

而问题在于,华为截至目前开发的“多屏协同”,即手机画面投射电脑屏幕,电脑共享手机文件、剪贴板的功能,是基于 Windows 10 环境下的“华为电脑管家”软件开发的,到时候又要针对 Linux 再做移植了。

鉴于美国所谓“制裁”当前并未影响华为获取到 Windows 系统,以及国家推广国产 PC *** 作系统的资源向 UOS 和银河麒麟等更成熟的玩家倾斜,产生一个 Linux“电脑版鸿蒙”的可能性不高。

将手机版和物联网版鸿蒙算到一起的话,大“鸿蒙”对“应用”的定义超出了单设备(手机)单平台(安卓),在手表、电视上的应用界面,以及其它无界面的智能家居开关状态等都可以被手机调用,手机的应用也可以被其它屏调用。

由于华为的宣传策略如此,或者说它们内部定义如此,所以可能对最终消费者产生一定的混淆。但是一旦接受了这种设定……那么你可以把家中的硬件设备也作为一种“应用”,把语音助手的某个技能也作为一种“应用”,再加上手表应用、电视应用……这样一来 整个大“鸿蒙”当中的“应用池”就被扩大,而安卓应用在里面的占比就会被稀释 。届时,鸿蒙是否“借鉴”了 AOSP 也就不再重要了。

这当然需要华为的行业号召力足够大,需要更多厂商和设备接入。而从鸿蒙“服务卡片”刚刚开始的适配进程,以及苹果将 macOS 从英特尔处理器转至自研 ARM 架构处理器时的策略,可以认为,新 *** 作系统的生态建设,也难,也不难,相对来说没有以前想象的那么不可能。

这是因为我们对手机应用的使用场景,正由以前的分散变为高度集中。现在人们在大多数时间都被限制在几个巨头开发的超级 APP 里面,几乎很少有机会跳出来去其它 APP 和浏览器做事情。这个集中度越来越高,就使得某个 *** 作系统想要搞事情的话,只要挨个去拜访头部的 100 个甚至更少的应用开发者,就可以初步达到目的。

随着汽车日益成为一种新的“智能硬件”,一部手机、一块手表或者一副眼镜需要控制的东西只会越来越多,跨设备协同将成为今后 *** 作系统必备的一项基础能力。而鸿蒙和苹果的系统更新,只是更明确地确认了这一点而已。

如何看待鸿蒙的“自主性”

最后一部分,直接说下手机版鸿蒙跟安卓产生交集的地方。 鸿蒙跟 AOSP 的关系 一直是被多方关注和聚焦的部分。我们应该,也只能从最终展示的结果来看这个问题。

在初次公开鸿蒙名称及路线图的时候,华为已经预告了将对该系统下运行的 APK 采用自研的“方舟编译器”,实现比 Android 虚拟机更快的启动速度。而 Android 的 Java 虚拟机主要是为了适配不同机型才牺牲了效率,华为做的更特异和更适合少数机型的调整,将使得这一编译器失去对其它硬件的普遍支持。当然在手机上你本来也不能随便换系统,这个问题不是最重要的。

从手机版鸿蒙 20 最终效果看,APK 安装、运行效率不说更快,至少没有明显慢于 AOSP。 这说明鸿蒙在适配 APK 时,对 Android 代码执行部分做的改动,不说基本没改,至少也应该说不是大改。

从常识推断,完全从地基开始写起的对另一平台的兼容,随着目标平台新版本的复杂度提升,难度是指数级上升的,非常难以做到“完美模拟”。

如讲到,微软自己模拟自己,在 ARM 架构模拟 x86 运行时,目前只实现了 32 位,对 64 位的兼容仍磕磕绊绊;

外界模拟 x86 主要是 Linux 下的 Wine 和单独的 ReactOS 两条路线,它们能实现的兼容性就更低,其中 ReactOS 是基于之前 XP 代码库的阅读理解之后写出来的,尽管微软经过严格的审核认为它没有直接侵犯其知识产权。

顺便一说,深度-统信软件对 UOS/Deepin 下的 Wine 做了大量细致的工作,使得分支 Deepin-wine 对部分国产软件的兼容适配程度大为提高。

早年 Android 还很基础的时候,中国移动曾写过一款 OMS(OPhone)系统,并基于运营商当时的强势地位要求合作厂商一起预装,上钩的厂家叫苦不迭()。当时该系统兼容的 APK 是基于 Android 2x,结果 3x 和 4x 的更新幅度都非常大,使得后续升级后的软件就无法使用。

所以,社长一开始就认为,在已经准备兼容大部分市场上的 Android 应用那一刻开始, 纠结手机版鸿蒙是否完全“自主知识产权”就是一个意义不大的问题 。此后人们从代码库中找出各种“证据”也是一定会发生的既定事件,而这真的是无关紧要的。

万丈高楼平地起。鸿蒙如有志完全替代 Android,那就应该在自主消化吸收再创新的时候,界面交互等等也创新一下,但目前看,20手机和平板上的基本交互形态没有改变,用户可以从其它品牌手机上非常熟悉的切换过来,不需要额外的学习成本。

在屏幕内部能使用的花样基本已经被尝试过了,连图标圆角的弧度,也大致都被注册过专利,说实在的进化空间确实很有限。当然,主要是因为没有在每个方面都重新造轮子的必要。最终还是以用户用的舒服作为目标。

现在看来,鸿蒙在不同屏幕、不同设备之间实现无缝的协同和任务连续,这才是真正值得期待的交互改变。同时,跨设备协同会改变我们对“应用”的定义。

承认其系统的某一部分“借鉴”了 AOSP 与否,并不重要。问题在于鸿蒙身边总是会围绕一些与技术、产品无关的奇怪问题。

我们不要忘记当初为什么会有鸿蒙 ,它作为一个“备胎”为什么会出来,而不是永远存放在华为的仓库里。结合当时的背景我们就能理解,一定要从宣传上把鸿蒙定义为“自主”的象征,这是箭在弦上,不得不发。

如果鸿蒙的目的是跟谷歌决裂,相信华为依然有能力做出虽然效果远逊于当前,但代码完整度更高,自研属性更明确的 *** 作系统。但华为曾明确表示, 如果外部压力消失,随时准备拥抱谷歌 GMS ,在鸿蒙手机端也应该有办法继续旁加载谷歌服务框架。目前 HMS 及华为自主生态的推进,可以说只是看到了相关外部压力长期化、常态化的悲观前景,从而采取的备用方案而已,但这里面存在着“哀兵必胜”的转机。

,为什么在大环境改变之后,政府采购宁可让神州网信做个 Win10 专版,也选择继续信任微软作为其中一个服务商。当然不可否认,现在对国产整机的采购量在增加。这是因为,我们没必要为了争一口气而寻求“自主”,根本目的是“可控”。 自主是通往可控的手段,而不是自主本身就是目的 。

鸿蒙手机端有一部分为了兼容 APK 的需要,而服从与 AOSP 相同的逻辑。而 UOS、中标麒麟都是“国外产”Linux 的不同发行版,它们都有一部分“外族的血统”,但只要做到可控,我们的目的就已经达到。

与此同时,从华为完全剥离出去的荣耀,现在已经可以用上 GMS,成为独立发展的“对照组”,得以继续展现一幅假如贸易争端没有发生,世界大同的美丽图景。这其实正是因为 华为遭受了暂时困难,聚集了“火力”,换来了其它友商现阶段的安全 ,就像杂交水稻不见得很好吃,但它的存在本身确保了中国的粮食安全。

参考资料

ℹ️

转载本文 / 商务合作请咨询

航通社助理微信号: hangtongshe

或邮箱: coop#lishuhangme


㊙ 航通社读者群招募中!

请联系航通社助理微信号: hangtongshe

附言填口令 航通社读者进群

⏩分享 | 收藏 | 点赞 | ❄在看

鸿蒙系统发展路线图。鸿蒙系统的定位就是物联网 *** 作系统,自然适用于电脑。根据鸿蒙系统发展路线图,2020年华为推出鸿蒙系统20内核及应用框架,可以用于国产PC、手表/手环等。电脑端鸿蒙也缺生态。虽然国内主流应用适配华为鸿蒙电脑系统,但是一些国外主流应用,比如Adobe众多视频处理软件、3D与Autocad等专业工业设计软件,基本只支持Windows系统。华为鸿蒙电脑系统要跨越这道坎,难度非常大,还要抓紧完善技术。

鸿蒙系统的设计初衷和安卓/iOS不同,安卓/iOS只是针对 智能手机 或平板等产品,而鸿蒙系统则是定位于跨平台应用,简单的说,鸿蒙OS是为实现万物互联而设计的一套可以跨硬件、跨平台使用的 *** 作系统,最大的特点就是采用分布式架构,它可以灵活适配各个智能终端,甚至可以跨平台调用硬件,让所有硬件互为外设。

华为余承东对此打了个比方:比如我们的智能手表中没有配备摄像头,它可以使用手机上的摄像头,甚至是PC的摄像头不好,也可以用手机的,只要在同一个账户下,多个终端硬件都可以协同互助工作,这项能力无疑能给我们带来更佳的 *** 作体验。

虽然鸿蒙系统的发展还是存在一些困难的,这一个困难主要是生态,这也是任正非和 余承东 承认的问题。不过,通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享的特性以及开源,为鸿蒙系统的发展提供了最好的基础。所以困难虽然存在,但一定会被克服!

花开半夏
面向物联网的21个开源软件项目有哪些,物联网开源平台搭建
admin 07-26 04:41 166次浏览
2019独角兽企业重金招聘Python工程师标准
51CTOcom直译物联网市场呈现碎片化、无定形化、不断变化的特征,其性质通常只需关注互 *** 作性。 难怪开源在这方面不俗。 ——客户犹豫不决,害怕将物联网的未来寄托在可能难以定制或互联的专有平台上。
本文介绍了主要的开源软件项目,重点讨论了面向家庭和工业自动化的开源技术。 我们忽略了专注于垂直领域的物联网项目,如Automotive Grade Linux和Dronecode。 我们还忽略了面向互联网的开源 *** 作系统发行版,包括Brillo、Contiki、Mbed、OpenWrt、Ostro、Riot和Ubuntusnappping。这次,我们将智能
这里介绍的21个项目包括由Linuxfoundation管理的两个大型项目: Allseen(Alljoyn )和ocf (iotivity ),以及物联网传感器的端点和网关我还介绍了几个专门针对物联网生态系统特定领域的小项目。 我们曾介绍过更多的项目,但越来越难分清物联网软件和普通软件的区别。 从嵌入式环境到云,越来越多的项目都带有物联网元素。
您声称这21个项目都是开源的,但请确保完整的名称不在本文的范围内。 它们至少在生态系统的一个部分运行Linux,大多数都完全支持Linux,从开发环境到云/服务器、网关和传感器端点部件。 大多数组件都有可以在Linux开发板(如Raspberry Pi和BeagleBone )上运行的组件,大多数都支持Arduino。
物联网领域仍然有很多专有技术,特别是在自上而下的企业平台上。 但是,其中也提供了部分开放访问权限。 例如,威瑞森的ThingSpace针对4G智慧城市APP应用,拥有一套免费的开发API,支持开发板,尽管核心平台本身是独一无二的。 相似的是,亚马逊的AWS物联网工具包包括部分开放的设备SDK和开源入门工具包。
其他主要的专有平台包括苹果的HomeKit和微软的Azure物联网工具包。 在拥有230个成员的Thread Group中,该组织监督基于6LoWPAN的对等Thread网络协议。 Thread Group由谷歌的母公司Alphbet旗下的Nest设立,没有提供像AllSeen和OCF那样全面的开源框架。 但是,它与Brillo相关,也与Weave物联网通信协议相关。 5月,Nest发布了名为OpenThread的开源版Thread。
介绍21个面向物联网的开源软件项目。
AllseenAlliance(Alljoyn ) )。
由Allseenalliance(asa )监管的AllJoyn互 *** 作系统框架可能是市场上采用最广泛的开源物联网平台。
Bug Labs dweet和freeboard
bugglas是从制造基于模块化Linux的有bugh的硬件设备开始的,但很久以前就演变成了与硬件无关的企业级物联网平台。 Bug Labs提供“dweet”消息、警告系统和“freeboard”物联网设计APP。 dweet使用HAPI Web API和JSON来帮助发布和描述数据。 freeboard是一种拖放式工具,用于设计物联网仪表板和可视元素。
DeviceHive
DataArt基于AllJoyn的设备管理平台可以运行在许多云服务上,包括Azure、AWS、Apache Mesos和OpenStack。 DeviceHive专注于使用ElasticSearch、Apache Spark、Cassandra和Kafka,分析大数据。 有些网关组件可以在运行Ubuntu Snappy Core的任何设备上运行。 模块化网关软件与DeviceHive云软件和物联网协议配合使用,作为Snappy Core服务进行部署。
DSA
分布式服务架构(DSA )便于集中式设备的互 *** 作性、逻辑和APP应用。 DSA项目正在构建分布式服务链接(DSLinks )库,以支持协议转换以及与第三方数据源的数据集成。 DSA提供了一个可扩展的网络拓扑,其中包括多个DSLinks,用于在连接到分层代理分层结构的物理互联网边缘设备上运行。
EclipseIOT(Kura ) )。
Eclipse基金会的物联网主要围绕基于Java/OSGi的Kura API容器和聚合平台,支持在服务网上运行的m2m APP应用。 Kura基于Eurotech的Everywhere Cloud物联网框架往往与Apache Camel集成,后者是基于Java的基于规则的路由和中介引擎。 Eclipse物联网子项目包括Paho消息传递协议框架、面向轻量级服务器的Mosquitto MQTT体系结构和Eclipse SmartHome框架。 有些项目实现名为Californium的基于Java的受限APP应用协议(CoAP )。
Kaa
CyberVision支持的Kaa项目为云互联的大型物联网提供了可扩展的端到端物联网框架。
该平台包括一种支持REST的服务器功能,可用于服务、分析和数据管理,通常部署成由Apache Zookeeper协调的节点集群。Kaa的端点SDK支持Java、C++和C开发,负责处理客户机/服务器通信、验证、加密、持久性和数据编排。SDK包括针对特定服务器、支持GUI的模式,这些模式可转换成物联网物件绑定。模式治理语义,并抽象一组迥异设备的功能。
Macchinaio
Macchinaio提供了一种“支持Web、模块化、可扩展的”JavaScript和C++运行时环境,可用于开发在Linux开发板上运行的物联网网关应用程序。Macchinaio支持一系列广泛的传感器和连接技术,包括Tinkerforge bricklet、XBee ZB传感器、GPS/GNSS接收器、串行和GPIO联网设备以及方向感应器。
GE Predix
GE面向工业物联网的平台即服务(PaaS)软件基于Cloud Foundry。它增添了资产管理、设备安全、实时预测分析,并支持不同数据的采集、存储和访问。GE Predix是GE为内部运营而开发的,它已成为最成功的企业物联网平台之一,收入大约60亿美元。GE最近与HPE达成了合作伙伴关系,HPE将把Predix整合到自己的服务中。
Home Assistant
这个作为后起之秀的草根项目提供了一种面向Python的家居自动化方法。
Mainspring
M2MLabs的基于Java的框架针对远程监控、车队管理和智能电网等应用领域中的M2M通信。与许多物联网框架一样,Mainspring高度依赖REST Web服务,并提供了设备配置和建模工具。
Node-RED
这种面向Nodejs开发人员的可视化布线工具拥有基于浏览器的数据流编辑器,可用于设计物联网节点当中的数据流。然后,节点可以迅速部署成运行时环境,并使用JSON来存储和共享。端点可以在Linux开发板上运行,支持的云包括Docker、IBM Bluemix、AWS和Azure。
Open Connectivity Foundation(IoTivity)
英特尔和三星支持的开放互联联盟(OIC)组织和UPnP论坛组成的这个组织正在努力成为物联网方面领先的开源标准组织。OCF的开源IoTivity项目依赖充分利用的JSON和CoAP。
openHAB
OpenIoT
这款基于Java的OpenIoT中间件旨在使用一种公用云计算交付模式,为开放、大规模的物联网应用提供便利。除了表示物联网物件的本体、语义模型和标注外,该平台还包括传感器和传感器网络中间件。
OpenRemote
OpenRemote为家庭和楼宇自动化而设计,它以广泛支持众多智能设备和网络规范而出名,比如1-Wire、EnOcean、 xPL、Insteon和X10等规范。规则、脚本和事件都得到支持,还有基于云的设计工具,可用于用户界面、安装、配置、远程更新及诊断。
OpenThread
这是Nest最近从基于6LoWPAN的物联网Thread无线网络标准分离出来的开源项目,它还得到了ARM、Microchip旗下的Atmel、Dialog、高通和德州仪器的支持。OpenThread实现了所有Thread网络层,还实现了Thread的端点设备、路由器、Leader和边界路由器等角色。
Physical Web/Eddystone
谷歌的Physical Web让蓝牙低能耗(BLE)信标可以将URL发送到智能手机。它针对谷歌的Eddystone BLE信标经过了优化,这提供了除苹果的iBeacon之外的一种开放技术。其想法是,行人可以与任何具有BLE功能的支持性设备(比如汽车停放计时器、标牌或零售产品)联系。
PlatformIO
基于Python的PlatformIO包括IDE、项目生成器和基于Web的库管理器,它是为访问来自基于微控制器的Arduino和基于ARM Mbed的端点的数据设计的。它为200多种板卡提供了预先配置的设置,并与Eclipse、Qt Creator及其他IDE整合起来。
The Thing System
这种基于Nodejs的智能家居“监管”软件声称支持真正的自动化,而不是简单的通知。其自学习人工智能软件可处理许多协同式M2M *** 作,不需要由人干预。缺少云组件恰恰提供了更好的安全性、隐私性和控制性。
ThingSpeak
成立五年的ThingSpeak项目专注于传感器日志、位置跟踪、触发器及提醒以及分析。ThingSpeak用户可以使用用于物联网分析和可视化的MATLAB版本,不需要向Mathworks购买许可证。
Zetta
Zetta是一种面向服务器的物联网平台,利用Nodejs、REST和WebSockets构建而成,奉行基于数据流的“响应式编程”开发理念,用Siren超媒体API连接起来。设备被抽取成REST API,用云服务连接起来,这些服务包括可视化工具,并支持Splunk之类的机器分析工具。该平台可将Linux和Arduino开发板之类的端点与Heroku之类的云平台连接起来,以便构建地理分布式网络。
转载于:>

据我所知,前景不错的哦!就比如基于低代码平台的软件开发,

一、实现以下几点优势

从企业角度来说,优化流程,提升企业运行效率;节省成本,提高企业效益;维护方便,即改即用;一键升级,方便实用;

从开发者角度来说,图形化 *** 作,容易上手;提供成熟案例模板库,不用从零开始;支持主流应用服务器和数据库,降低开发难度;接口丰富,节省开发时间;强大的代码调试功能,提高开发效率;

从使用者角度来说, *** 作简单、友好、人性化;消息驱动,合理利用工作时间;即改即用,优化完善软件功能;多客户端入口,随时随地办公;

二、低代码核心能力

基于上述的定义和分析,不难总结出如下这3条低代码开发平台的核心能力:

01、全栈可视化编程:

可视化包含两层含义,一个是编辑时支持的点选、拖拽和配置 *** 作,另一个是编辑完成后所见即所得(WYSIWYG)的预览效果。传统代码IDE也支持部分可视化能力(如早年Visual Studio的MFC/WPF),但低代码更强调的是全栈、端到端的可视化编程,覆盖一个完整应用开发所涉及的各个技术层面(界面/数据/逻辑)。

通过可视化的界面编辑器,面向业务的界面设计能力为传统开发者以外的更多应用参与者提供服务。JNPF的可视化设计,不仅仅实现拖拽设计,更重要的是拓宽了使用者范围,让更多不同知识背景的公民开发者来完成应用构建(包括但不限于用户界面、业务流程、审批过程、业务逻辑),让更多角色参与到应用构建过程中。

02、全生命周期管理:

作为一站式的应用开发平台,低代码支持应用的完整生命周期管理,即从设计阶段开始(有些平台还支持更前置的项目与需求管理),历经开发、构建、测试和部署,一直到上线后的各种运维(eg 监控报警、应用上下线)和运营(eg 数据报表、用户反馈)。

应用构建从需求输入开始,经过分析、设计、开发、测试、发布上线公有云 / 专属化出盘交付私有化项目的开发过程,到发布后的运维、运营,再到问题反馈和新的需求再次形成需求输入,形成了一个基于JNPF闭环的全生命周期管理。

在该闭环中,会涉及到产品经理、需求分析师、架构师、开发人员、测试人员、运维人员、运营人员、技术支持人员等各种各样的角色本职工作和协作工作,JNPF 开发平台必须要具备全生命周期特性,才能真正达到从整体把控应用开发全过程,实现快速交付、降低开发成本的目标。

03、低代码扩展能力:

使用低代码开发时,大部分情况下仍离不开代码,因此平台必须能支持在必要时通过少量的代码对应用各层次进行灵活扩展,比如添加自定义组件、修改主题CSS样式、定制逻辑流动作等。

JAVA的优势是什么?

Java语言是目前的排行第一的语言,其优势也是非常突出的,那么具体体现在哪里呐?

我来给你说一下Java的优势:

1java的风格类似C++但不同于C++,从某种意义上讲,java是C++的一个变种;

2java摒弃了C、C++中的容易引发错误和难以理解的指针,结构,以及内存管理等;

3java提供了丰富的类库,很方便开发程序;

4java是完全面向对象的语言,支持 继承,重载,多态等面向对象的特性;

5C++是面向对象和面向过程的混合语言, C是纯面向过程的语言;

6java是一种强类型的语言,比C/C++检查还要严格,java区分大小写字母;

7java提供了自动垃圾回收机制gc,有效避免了C、C++的内存泄漏问题;

8java禁止非法访问内存,因为java没有指针,内存的申请和释放;

9跨平台,java的源代码编译成结构中立的中间格式,这种格式与机器无关,只要在安装有JVM(java虚拟机)的电脑上,都能运行这种与机器无关的中间文件;java一次编译,到处运行;

10对于不同的 *** 作系统,会有不同的java虚拟机,这也就决定了java的可移植性;

11java支持多线程,简单理解,如果是单核CPU,那么会通过时间片轮转的方式,多线程执行程序,如果是多核CPU,那么就可以理解为,两个或多个线程同时运行。

一、做网站

Java可以用来做网站,很多大型网站都是用Java写的,比如我们熟悉的B站,所以想学习Java的同学还可以负责网站方面的制作,这方面的岗位(网站开发)也比较多,一直以来都相当流行。

二、做安卓软件

安卓是基于Linux的 *** 作系统,其中源代码就是Java,市面上所有的安卓手机都是修改Java运行的,对于更多的开发人员来说,他们更多的时间是花在开发APP上面。你随便打开一个App应用,他们就是用Java语言做的。

三、做游戏

电脑上的大多数游戏也是用Java来开发的,最经典的就是《我的世界》,还有当今世界最具影响力的游戏英雄联盟,吃鸡也是用Java写的

四、写软件

很多编程语言都是可以来写软件的,但Java是现在应用最广泛的,比如:企业级应用开发,还有OA、邮箱、物流、医疗、投票、金融、考试、矿山等信息方面的系统,Java都占有极为重要的地位。现在国内的最热门的就是手机应用,学习Java去做手机应用还是比较吃香的。

说啦这么多那么应该如何学习Java那?

在这个里我使用脑图给大家出一个,Java的学习线路供大家参考:

还有一些资料:

Java在市场中的占有率是非常之高的,希望大都成为优秀的程序员!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12967533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存