鸿蒙系统可以替代安卓吗,华为今天发布的鸿蒙系统,到底能不能替代安卓?

对于大部分差友们来说,“开发者大会”这个词一定显得陌生而又遥远,跟普通的产品发布会不一样,他们面向的对象并不是普通的消费者,而是各种程序猿和攻城狮。

话又说回来,能开“ 开发者大会”,也说明这个企业已经牛逼到了一定程度。。

譬如每年的谷歌开发者大会,苹果的WWDC 都受到超多人关注,因为千千万万开发者就是依靠着安卓和iOS 生态创造价值,它们的任何更新和变动都引领着未来互联网的走向。

c19e1566cdb431b03cce558c47f46926.png

这种会议完全是企业秀肌肉的时刻,家业稍微小点都搞不来这种。。

在参加华为开发者大会之前,说实在差评君心里也很没有底,因为这是华为第一次举办这种活动,我很怕它沦落成产品发布会抑或是和消费者完全不搭边的纯技术交流会。

其实是差评君多虑了。。

因为华为正式公布了“ 鸿蒙OS ”和EMUI10。。

当初美国把华为放到实体清单,谷歌差点要断了华为的安卓供应,眼瞅着未来的华为手机没有安卓操作系统后都要变板砖,华为紧急祭出一个鸿蒙。。

当时谁也没报多大希望,只是觉得“ 行吧,有一个歪瓜裂枣总比没有强,只要有,就有活下去的希望,不至于被人饿死”。

再加上后面关于鸿蒙消息左右打脸,说法一天一变,弄得大家心里更没有底了,权当鸿蒙是为了吓唬谷歌的无奈之举。

但今天,余承东正式宣布,鸿蒙OS 要上了!不仅要上,还要做的比安卓、iOS 更牛逼!

dfe136866a9a510bb38a0dfb8f23e749.png

鸿蒙OS 这次主要的两个特点,分别是分布式和微内核。

啥是分布式?

说白了就是,鸿蒙OS 一个操作系统能够给所有设备使用。

6bd5b73c795c1fd0e973b43cbf9721eb.png

例如同样是苹果生态的设备,手机用iOS ,电脑用MacOS ,平板用iPad OS ,手表用Watch OS 。。。

而华为的分布式系统思路,则打算让所有的设备都用同一个操作系统,同时再用「 分布式软总线技术」,让他们真正意义上“ 互联” ,从数据到服务。

从开发角度来说,可能程序员只要写好软件的基本功能和逻辑,就可以轻松地在手表、手机、电视、电脑等平台同时部署。

8432d12689fb8c455fb099e2800a8a93.png

从使用角度,想象一下这个场景:

你正在汽车上语音通话,熄火后把通话转移到手机上一边往家里走,走到家门口时把通话转接到你的智能手表上继续,空出手来翻包找钥匙进门,进门以后,打开电视机和摄像头,往沙发上一趟,就开始用电视继续视频通话。

差评君觉得这可能就是华为在鸿蒙OS 的「 分布式」上的野心展现开以后,能呈现出来的效果,听起来是不是很赛博朋克。

鸿蒙OS 的另一个特点,就是「 微内核」。

与「 微内核」相对的概念,是「 宏内核」,这是两套不同的操作系统设计思路。

06aba3566ef3f6c540e3f3cec884a02a.png

一套操作系统的工作内容,说白了就是管好计算机的工作分配,例如调用处理器啦,分配内存空间啦,调用磁盘啦,点亮显示器啦。。。

「 宏内核」操作系统,有一个庞大的核心,管到计算机的方方面面,大到给程序分配CPU ,小到给显示器渲染一个像素,都是归核心管。

举个例子,「 宏内核」下的操作系统就是个老大,一个程序要干点儿啥都问这个老大请示一下,这个老大再给你把事情办了。

这个思路的代表性系统,就是Linux。

5dcde060b314da6287af8ccbf6eba190.png

这么做有一个好处,就是系统执行效率很高,因为它从内核直接下达指令。

但这么做也有弊端。

首先功能强大的内核往往很大,对应下来就是代码数量很多,而代码一多就容易出错。。。只要代码错了其中一两块儿,都有可能导致内核崩溃,然后计算机就宕机了。。。

其次,一旦内核权限( root )被获取,就意味着对整个系统有绝对控制权,因此安全性也有待商榷。

dfc1691b043572204c5428f6b97c96d5.png

如果你看懂了差评君说的「 宏内核」,以对立角度去看「 微内核」,就很好理解了。

「 微内核」系统也有核心,但是它很小,只管好最最基本的工作,例如CPU 调度,内存管理等。

其他功能,如声音,图形显示等等,被做成了服务。

c7fdb2a85be408a093c1ceab23b5fe9c.png

「 微内核」操作系统就好比是个服务联盟,当一个程序要干点儿啥,就去找对应服务商,例如有「 声卡服务商」、「 显卡服务商」 。。。

现有的「 微内核」操作系统里,我们比较常见的Windows 算半个,以及今天万众瞩目的鸿蒙OS 。

765fc9f0d339b15e3ab3326ee5ff6b2f.png

「 微内核」相对「 宏内核」来说,主要缺点就是执行效率没那么高,同时因为内核本身功能很少,得装一堆服务。。。大家新装Windows 的时候,想必就被成吨的驱动给搞烦过。

但好处很明显:因为内核小( Windows 发布过一个10 MB 的超小内核),功能也是后来添加的,非常容易移植。

尤其是那种手表、音响,明显用不了安卓所有功能的这种,只需要把鸿蒙的一部分微内核移植过来就好了。光这一点,鸿蒙就比安卓和iOS 好太多,直接解决了不同平台的移植问题。

同时,「 微内核」系统里的某个服务崩溃了,大不了就关掉重启,不至于整个设备都宕机;某个服务被入侵了,也不至于全部都遭殃。

a7ee2138f9be5a523d31822a86ca6d14.png

宏内核好比是全能手,微内核好比是分工合作,也许前期功能简单时全能手是直接有效的,但是随着功能越加细化细分,明显分工合作会让整体更加便携轻快机动性高。

另外安卓因为底层编译的原理问题,用JAVA 开发的程序和用C 的没整合好,还得在运行安卓系统的设备上嵌套一个JAVA 虚拟机才能跑程序,这虚拟机会随着程序安装会越来越消耗内存。

在这点上iOS 就不一样,因为人家是编译好直接运行在操作系统上,运行起来就很流畅。

所以,鸿蒙也学着iOS,在开发的时候就把不同的程序语言做统一处理( 对,说的就是JAVA 和C ),手机不用装什么烂七八糟的虚拟机,直接就能运行。

6478ff9fb9c213d369c3ab381f3b3db2.png

还有,安卓的内存垃圾回收机制也非常蛋疼。。

在安卓系统下,一个程序不能随随便便释放内存,除非把整个应用关停以后,才能回收内存。

3562d71bbb9e8ce6d92c91c62b5ca936.png

从这次的华为开发者大会上来看,鸿蒙OS 绝对是华为的一大利器。

并且围绕着鸿蒙OS,华为还推出了一系列开发者利器:将程序更快的转成机器码的方舟编译器(开源)、凝结着华为十几年编程经验的编程开发环境HUAWEI DevEeo Studio(开源)、解决智能终端之间互联互通的HiLink、为开发者提供一站式开发平台和云服务的APPGallery Connect……

每一个对于开发者来说都如获至宝,减轻了不少程序猿的工作。

尤其是方舟编译器和HUAWEI DevEeo Studio,更是全中国独一家,这种科技生产力工具攥到自己手里面,才让华为乃至国家有底气去面对更大的风浪。

不过,开发者大会上说的再漂亮,在没有真正使用到实物之前,我们还是不能完全的乐观,安卓和iOS 十几年的积累绝不可能毫无优势。

前两个月美国企业受政策影响,对华为的各种禁令想必让大家明白了技术独立自主的重要性。

只要华为和鸿蒙OS 能在自主研发这条路上继续刚下去,那受益的不仅仅是华为,而是我国的整个科技产业。

“ 希望我们能在自主创新的路上越走越远!”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android loading封装_我们经常用的Loading动画居然还有这种姿势

背景Loading动画几乎每个Android App中都有。一般在需要用户等待的场景,显示一个Loading动画可以让用户知道App正在加载数据,而不是程序卡死,从而给用户较好的使用体验。同样的道理,当加载的数据为空时显示一个数据为空的视图、在…

数据结构——基于字符串模式匹配算法的病毒感染检测

实验四 基于字符串模式匹配算法的病毒感染检测 【实验目的】 1.掌握字符串的顺序存储表示方法。 2.掌握字符串模式匹配BF算法和KMP算法的实现。 【实验内容】 问题描述 医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者已收集了…

WPF 使用 Expression Design 画图导出及使用 Path 画图

WPF 使用 Expression Design 画图导出及使用 Path 画图目录WPF 使用 Expression Design 画图导出及使用 Path 画图一、软件介绍二、Microsoft Expression Design 使用三、微语言和 Path 绘图1、"注释" 图形(中括号)2、"并行模式" 图…

数据结构——模式匹配kmp算法

暴力算法 //暴力算法 int index(SString S,SString T,int pos) {int ipos,j1;while(i<S[0]&&j<T[0]){if(S[i]T[j]){i;j;}else {ii-j2;j1;}}if(j>T[0])return i-T[0];else return 0;} kmp算法 next[]数组的求法&#xff1a; 例子&#xff1a;abaabcac 模式串…

python实例化对象是什么意思_请帮我理解python对象的实例化.

我不是程序员,我正在尝试学习python.但我对对象实例化有点困惑.我认为Class就像模板一样,对象是基于模板制作(或实例化).这是否意味着一旦创建了对象(例如,classinst1 MyClass()),模板中的更改不应该影响对象中的内容&#xff1f; 此外,下面的代码显示我可以更改类变量“commo…

互联网时代供应链

供应链是指围绕核心企业&#xff0c;从配套零件开始&#xff0c;制成中间产品以及最终产品&#xff0c;最后由销售网络把产品送到消费者手中的、将供应商&#xff0c;制造商&#xff0c;分销商直到最终用户连成一个整体的功能网链结构。供应链管理的经营理念是从消费者的角度&a…

win7 计算器 android,教你巧妙应用Win7计算器和时钟

正文最新的Win7是一种个性化设计极强的操作系统&#xff0c;在许多细节方面都做到了人性化设计。其功能的DIY性非常明显&#xff0c;是XP系统远远不能比的。今天我们要说的是Win7计算器和时钟&#xff0c;除了可以计算和时间之外我们还可以让他们有哪些妙用呢&#xff1f;我们左…

python最大值_Python 获取最大值函数|python3教程|python入门|python教程

https://www.xin3721.com/eschool/pythonxin3721/ 以下实例中我们使用max()方法求最大值&#xff1a; # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.w3cschool.cn # 最简单的 print(max(1, 2)) print(max(a, b)) # 也可以对列表和元组使用 print(max([1,2]…

真实经历:整整一年了,他是这样从程序员转型做产品经理的

这是头哥侃码的第224篇原创每年年底&#xff0c;有不少企业都会对一年内辛勤劳作的员工量身定做一些奖项。发个奖杯&#xff0c;给点奖金&#xff0c;让那些没得奖的人看看&#xff0c;咱们公司有多么的关注员工的闪光点&#xff0c;优秀之处。用人所长&#xff0c;容人所短&am…

数据结构—— 基于二叉树的算术表达式求值

实验五 基于二叉树的算术表达式求值 数据结构——中序表达式求值&#xff08;栈实现&#xff09; 实验目的&#xff1a; 1.掌握二叉树的二叉链表存储表示和二叉树的遍历等基本算法。 2.掌握根据中缀表达式创建表达式树的算法 3.掌握基于表达式树的表达式求值算法。 实验内容&a…

数字标牌 android,【浩鑫推出全球首款英特尔方案+Android系统数字标牌播放器】PjTime.COM 新品快讯 Intel...

世界知名迷你准系统领导品牌&#xff0d;浩鑫Shuttle&#xff0c;秉承开拓创新&#xff0c;引领行业发展的传统&#xff0c;此次创造性的推出全球首款采用英特尔硬件方案搭载Android系统的NS01A数字标牌播放器&#xff0c;为整个数字标牌行业贡献了全新的硬件解决方案。英特尔方…

python回到本次循环开头_Python中,当一个while循环判断为false,结束这个循环的时候,怎么进入到下一个循环中?...

根据题主对问题的描述&#xff0c;题主需要的答案也许是关于 while 循环结构&#xff0c;Continue 和 Break 的详细解释。了解了循环的控制后&#xff0c;题主便能很清楚地明白自己需要如何控制循环来达到想要的答案了。 先上干货&#xff1a; 1、while循环 如图所示&#xff0…

BCVP开发者说第3期:Adnc

沉静岁月&#xff0c;淡忘流年1项目简介AdncAdnc是一个轻量级的.NetCore微服务快速开发框架&#xff0c;同时也可以应用于单体架构系统的开发。框架基于JWT认证授权、集成了一系列微服务配套组件&#xff0c;代码简洁、易上手、学习成本低、开箱即用。    框架前端基于Vue、…

数据结构——二叉树的非递归算法

二叉树的非递归算法 先序遍历非递归算法1 先序遍历非递归算法2 非递归交换左右孩子算法 使用栈来实现二叉树的非递归算法 栈的基本算法 #include<stdio.h> #include<bits/stdc.h> typedef int Status; #define OK 1 #define ERROR 0 #define TRUE 1 #define …

signature=fc89d4352b6699754c14ce282ec75426,Method for Assembly of Nucleic Acid Sequence Data

摘要&#xff1a;The present invention relates to a method for assembly of nucleic acid sequence data comprising nucleic acid fragment reads into (a) contiguous nucleotide sequence segment(s), comprising the steps of: (a) obtaining a plurality of nucleic ac…

python字符串的表示_Python字符串方法总结

Python字符串方法图示&#xff1a; &#xff08;温馨提示&#xff1a;对图片点右键——在新标签页中打开图片&#xff09;1、index() 定义&#xff1a;查找并返回指定str的索引位置&#xff0c;如果没找到则会抛异常&#xff08;查找的顺序是从左至右&#xff09;可以指定范围&…

Kuma 1.0 GA发布,70多项新功能和改进

喜欢就关注我们吧&#xff01;Kuma 1.0 GA 现已发布&#xff0c;包含了 70 多种新功能和改进。Kuma 是一个现代的通用服务网格控制平面&#xff0c;基于 Envoy 搭建&#xff0c;Envoy 是一个为云原生应用设计的强大的代理软件。Kuma 高效的数据平面和先进的控制平面&#xff0c…

html圆点边框代码,HTML边框代码模板1

都说女人是男人的肋骨蜕变而来&#xff0c;是男人的心肝.可那一朵一朵微微卷起的发梢&#xff0c;点朱唇&#xff0c;纤细白皙的手指&#xff0c;踩着男人心底高跟鞋的我并不是他美丽的天使&#xff0c;往事在耳边环绕&#xff0c;现在的他人在那里&#xff0c;我不闻不问&…

递归函数斐波那契数列python_使用Python函数递归实现斐波那契数列时为什么运行速度很慢?...

你看看你递归代码的复杂度 是O(2^n) 而第二个的复杂度是O(n) 运行效率当然不同 COUNTER 0 def fibn(n): global COUNTER COUNTER 1 if n 0: return 1 elif n 1: return 1 else: return fibn(n-1) fibn(n-2) statistics [] for i in range(35): COUNTER 0 fibn(i 1) sta…

还在犹豫是否迁移.NET5?这几个项目已经上线了!

.NET5正式发布有十多天&#xff0c;博客园、知乎、技术群都讨论的非常热烈。关于项目是否迁移.NET5的话题讨论的尤为热烈&#xff0c;作为.NET十年老司机要告诉你&#xff0c;.NET5的迁移势在必行&#xff0c;当下就是最好的时机&#xff01;犹豫项目是否升级到.NET5的&#xf…