重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、安卓与鸿蒙手机操作系统基本都是基于Linux开发的,但两者的构架是不同的:
创新互联是一家专业提供湖北企业网站建设,专注与成都网站建设、网站制作、成都h5网站建设、小程序制作等业务。10年已为湖北众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
安卓系统是基于linux的宏内核设计:宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。好处就是系统开发难度低。(而现在,华为新研发的方舟编译器就是为了解决这个问题的,任何由编译器编译的android软件都可以直接与系统底层进行通信,鸿蒙系统加编译器将取代虚拟机。)Android是用Java语言编写的,很容易学习。但它有一个缺点:不能与系统底层直接进行通信活动,必须通过虚拟机来运行。说直接点就是虚拟机相当于传递者:首先Android应用程序安装在虚拟机上,然后从虚拟机传输到机器的底部,如果虚拟机出了问题话的那系统就是卡住。而且鸿蒙系统中的方舟编译器就是为了解决这个问题的,任何由编译器编译的android软件都可以直接与系统底层进行通信,鸿蒙系统加编译器将取代虚拟机。
鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核的开发难度很大,但是系统的稳定性很高。根据目前华为公布的一些资料信息,我们可以推断出鸿蒙系统是用C、C++语言编写即直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码,这样做的好处就是不需要中转,执行速度快;但这样的操作也有一些缺点就是必须要有大量的静态方案且内存空间要求更高。
2、鸿蒙系统与安卓系统的使用范围不同:
安卓系统适用于手机,而鸿蒙系统对设备兼容性更强,同时支持智能手机、智能穿戴设备、电脑、电视等智能家居设备,形成一个无缝的、统一的操作系统,并且兼容所有的安卓应用,适应当下的5G和物联网时代。
3、安卓系统经过多年发展,软件生态非常完善,鸿蒙系统目前来说还谈不上生态。华为推出鸿蒙操作系统并不困难,相对于推出操作系统而言,更难的是如何聚拢开发者为这款操作系统持续开发各类优质应用,让这款操作系统得以具备真正价值,继而发展壮大,在系统开发商、硬件厂商、开发者与用户之间形成良性正循环。要让开发者为鸿蒙操作系统开发应用,需要的是实实在在的政策激励,利益引导,依靠情怀等是无法解决也是不可持续的,这就是华为推出鸿蒙系统之后需要解决的一大难题。
华为的鸿蒙系统3.0开始对9款手机的公测,这其中就包括p50系列的3款手机,mate40系列的5款手机,和一款12.6英寸的matepad pro。这让咱手里拿着的mate30备受冷落。但我自己心里就更加期待华为的仓颉编程语言。这么屈指一算,仓颉编程语言从4月2号开始内测以来已经两个多月了。因此,我预判,鸿蒙系统3.0会跟仓颉编程语言一起来到咱们的身边。
那么在准备迎接鸿蒙系统3.0和仓颉编程语言之前,我这一期帮大家打一个坚实的基础。我相信许多朋友当说起来操作系统或者是编程语言的时候,脑子里其实是有点支离破碎,或者是一头雾水。我帮助大家从一个宏观的角度去鸟瞰,去把握和理解计算机科学体系中的坐标,让你独具一双慧眼,单单靠着你的直觉就能获得专业的视角。计算机科学包括六层架构,操作系统在第四层上,华为仓颉编程语言这样的应用级编程语言则处在第五层上。
咱们先从底部开始,所谓万丈高楼平地起嘛。咱们来先看基础:信息理论。任何学科的基础都是数学,当然计算机科学也不例外。这第一层就是关于数学理论的。咱们日常用的是十进制,计算机则是由0和1构建起来的是二进制。那数学也很简单,就是关于0和1的加法。比如1加1,在十进制中是等于2,而在二进制1加1等于10,这就是所有的数学基础,也就是这么简单。
但是还有更加往上抽象的一个层面的基础,就是咱们在高中时候学习的“布尔代数”。看似不起眼的“布尔代数”研究的是机器如何思考,如何让机器来获得智能这样的问题。
布尔在1854年就解决发表一篇“研究人类的思考规律”的论文,提出了“布尔代数”,为机器如何思考打下了理论基础。
布尔当时的想法很简单。他认为人是理性的,那么人是按照理性逻辑来思考问题的。于是,如果他能把大脑思考问题的逻辑,提炼抽象出来的话,那么是不是就能用这逻辑在大脑之外去思考呢?布尔的这项雄心勃勃的构思就是人工智能的雏形。你想呀,如果把这个逻辑提炼出来用在机器机械零件上,机械零件就会开始思考。如果用在电路上,这个电路是不是也就开始思考了呢。布尔代数咱们就很熟悉了,我就在这里就不带展开,我前面有一期就专门来讲述了这个机器来如何用布尔代数来思考,大家感兴趣可以看下那一期,我在这不展开浪费时间。
再往上第二层就是硬件,布尔他把理论抽象出来,将布尔代数应用到电路上,电路是不是也就能开始思考?哎,到了1938年,香农就首次把布尔代数应用到了电路上,于是这个电路就开始思考了。从最早的真空管到半导体晶体管(我前面那一期也专门讲过“机器如何用晶体管来思考”)然后到集成电路,再到现在这个大型的集成电路芯片。我们知道麒麟9000芯片用的Arm架构的指令集,指挥CPU工作的指令又叫机器码。比如“加法”就是用一串数字机器码00000011来表示。
然而你会发现,用机器码来指挥这个cpu或者电脑工作太麻烦了。一般人哪里能记住像前面的6个0和后面两个1来表示加减乘除的加呢。
正是困扰于此,科学家就此提出来编程语言。最早编程语言是汇编语言。比如前面表示加法的机器码00000011,汇编语言中将其抽象为add。然而,汇编语言也需要大量的记忆,一个指令一个指令的对应,也是太机械了。再往前一步,往上一层抽象就是系统级的编程语言:面向过程的C语言。
一门编程语言所要做的一个主要工作就是在机器和我们人类思考之间建立一座桥梁。我们是人类的思考逻辑,机器是机械 式逻辑思考问题。越高级的编程语言越符合我们人类的思考逻辑,越初级的编程语言则越贴近机器的逻辑。因此,我们用高级的编程语言比如C语言,将想做的事情表达出来,它会自动转换成机器码。
我喜欢的编程发展史上的第二大古老的语言:Lisp语言。
就是直接使用我们的抽象思考的语言。比如重复地来做一件事,重复说五遍“Hello”这个单词。Lisp将重复抽象为dotimes,do是做, times是多次,dotimes反复多次做。看见没,编程语言成了我们抽象的思考工具。
当然,华为仓颉语言也是在编程语言这里,但不是系统级的编程语言,咱们后面再说
当在第二层硬件之上发展出来高级的编程语言,有了系统级的编程语言比如C语言之后。大家就发现,我需要一个操作系统来处理日常的基本任务,比如文件管理,进程管理,内存管理,设备管理和用户管理等等。于是科学家着手用编程语言写操作系统。而事实上C语言在1969年的发明,也正是为了移植与开发UNIX操作系统。C语言的设计者丹尼斯·里奇同时也是Unix操作系统的发明人。到了1991年Linus用C语言写了Linux内核,也是目前安卓和鸿蒙系统的内核。
华为的EROFS超级文件系统并入Linux内核之后,无论是Linux还是安卓都打上了20%的华为烙印。
操作系统再往上一层就是我们日常的应用。比如听歌、看视频等apps就是在操作系统之上。这也好理解,先有了操作系统,才有我们的各种应用。由此也能理解,为什么像鸿蒙系统3.0如此重要,因为应用程序要运行在上面。这些应用程序就是用华为仓颉编程语言等应用级编程语言开发的。不过,目前咱们手机上的应用程序都是用Java开发。未来鸿蒙系统将会使用自研的仓颉语言开发鸿蒙应用。
应用程序的主要功能之一是沟通和交流。我们用Email发邮件,用通讯视频聊天,而Web应用技术构建起来当前的互联网信息大厦。
好了,我们总结一下。计算机科学的六层架构。
第1层是信息理论,研究如何在大脑之外实现思考,布尔代数是人工智能的雏形。第2层是硬件,布尔代数应用到电路上,晶体管开始思考,将数以亿计的晶体管雕刻到集成电路CPU中,CPU的机器码指挥计算机工作。第3层编程语言,从枯燥难记的机器码里发展出来汇编语言,再到系统级的C语言,构建起来人类思考与机器逻辑之间桥梁。第4层操作系统,C语言不是凭空而来,是为了开发Unix操作系统而发明,而操作系统是计算机里最大的软件。第5层应用软件,日常所有的apps都运行在操作系统之上。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等。
这就是计算机科学六层架构,鸿蒙操作系统与仓颉编程语言各就各位。用架构去思考和看问题,不仅能心中有数,还能独具一双慧眼。
华为鸿蒙已经发布快一年了,但是经常还有小伙伴说,鸿蒙不就是安卓系统套个壳么?类似小米的米UI和华为自有的EMUI。
我们不可否认鸿蒙2.0系统跟安卓的界面确实很相似,但就因此判定鸿蒙系统是安卓换皮了吗?
都知道鸿蒙系统跟安卓一样,采用的是AOSP 开源代码,而安卓自身超过80%的代码都来自于开源项目,谁也不能说谁在换皮吧?
长期以来,谷歌Android和苹果iOS系统占据了全球移动端操作系统的绝大多数市场份额,除了苹果的IOS以外,其他手机基本使用的就是安卓系统,当然,鸿蒙推出以后就三分天下啦。
对于很多用户来说,鸿蒙 系统的推出是国产手机发展的一大步,因为除了苹果手机,其它手机品牌用的全都是基于安卓的底层框架,只有UI是自己设计的,这对手机大厂来说是有很多限制的。
鸿蒙与安卓一样,基于Linux内核研发鸿蒙操作系统,鸿蒙系统与安卓系统能够最大程度地兼容,初衷是对标安卓系统,补齐华为缺失的生态,不是超越、颠覆安卓,而是与安卓长期并存,由于兼容,两者的生态具有高度相似性。
华为鸿蒙系统是一款全新的面向全场景的 分布式 操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源共享,用最合适的设备提供最佳的场景体验。鸿蒙OS是一款基于微内核面向全场景的分布式操作系统。
微内核
华为鸿蒙系统与安卓在系统架构上有着本质的区别,其中 安卓是基于宏内核而鸿蒙则是基于微内核开发的 。
在宏内核模式的架构中,它把很多的东西都集成进内核里面了,使得系统在运行的过程中内核与各个进程的联系非常紧密。虽然在这种架构下,系统运行的效率较高,但是却存在致命的Bug。在运行过程中,开发进程一旦发生故障将会导致整个操作系统出现问题,甚至直接挂掉,所以它的稳定性差。
在微内核模式的架构中,操作系统提供的是最核心、最必要、最精简的功能。在系统运行的过程中,所有的进程都拥有 自己的独立地址空间,彼此之间互不干扰,由内核进行最基本的调度和内存管理。如果某个进程出现错误时,只需要相应地修正某个错误就行了,极大程度地保证了系统的稳定性。
安卓系统架构
Android是用Java语言编写的,很容易学习。但它有一个缺点:不能与系统底层直接进行通信活动,必须通过虚拟机来运行。说直接点就是虚拟机相当于传递者:首先Android应用程序安装在虚拟机上,然后从虚拟机传输到机器的底部,如果虚拟机出了问题话的那系统就是卡住。
Android系统架构分为四层架构,从高到低分别是应用层,应用框架层,系统运行层和Linux内核层。
鸿蒙系统架构
鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核的开发难度很大,但是系统的稳定性很高。
根据目前华为公布的一些资料信息,我们可以推断出鸿蒙系统是用C、C++语言编写即直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码,这样做的好处就是不需要中转,执行速度快;但这样的操作也有一些缺点就是必须要有大量的静态方案且内存空间要求更高。
鸿蒙系统架构也分为4层分别为:应用层,程序框架层,基础服务层和微内核层。
架构上的主要区别
一、谷歌的安卓系统是基于Linux开发,华为的“鸿蒙”系统也是基于Linux开发,但底层对Linux进行大量优化。
二、安卓系统程序员写APP使用的是JAVA高级语言,打包成APK到安卓系统。方舟编译器,则是让APK打包之前,统一把指令换成安卓系统能读懂的机器语言,省去了"翻译"这个过程。
三、安卓的主要开发语言是基于java,而在鸿蒙系统上可以使用java和js。
应用层面
安卓系统
安卓系统适用于手机,虽然当前有好多设备都是基于安卓开发的,例如车载屏幕等。但实际上都是针对于安卓手机应用的简单扩展。
鸿蒙系统
华为带来全场景 1+8+N 智慧生活,鸿蒙系统 2.0 带来统一控制中心。将会涵盖五大场景,包括智慧出行、智能家居、运动 健康 、智慧办公以及影音 娱乐 。这里提的“1” 指的是手机,手机是未来智慧生活的入口,因此显得额外重要。“8“指的是平板、PC、穿戴、HD、AI音箱、耳机、VR、车机。“N”指的是泛IOT设备。
在应用上,鸿蒙系统显然更强大,并且兼容所有安卓系统的应用。
在安全等级上,鸿蒙采用更高级别的隐私保护功能,开启了多设备的协同认证,全面保护用户的隐私安全。
缺陷与不足
在适配性上,因为鸿蒙系统目前来看只能在华为的手机上使用,但是安卓系统可以在目前所有的安卓手机上使用。
在生态系统上,安卓系统 经过多年发展,软件生态非常完善 ,整体生态系统也变得逐渐的成熟起来,在功能性与实用性上已做得相当出色;而鸿蒙还处在新生阶段,有发展的潜力。
综合来看,说鸿蒙系统是“安卓换壳”是完全不对的,“换芯”应该比较准确。
余承东新品发布会上说,华为将围绕五大场景实现“全场景1+8+N智慧生活战略”。五大场景指智慧出行,家居,办公,运动 健康 和影音 娱乐 。1+8+N指,1部手机,八大华为产品,N个生态合作伙伴。
华为Mate40系列,Mate30系列,P40系列等机型已陆续升级为鸿蒙OS2系统,而接入鸿蒙系统的硬件品牌已超1000家,如美的,北汽极狐等。
鸿蒙OS2在2021年的目标是覆盖3亿台,其中华为的设备2亿台,合作伙伴1亿台。华为已售的全场景连接设备10亿台,其中手机7亿台,超90%的华为手机都可升级为鸿蒙系统。华为也在同全球前200名的APP厂商洽谈合作。
鸿蒙操作系统为纯国产,面向物联网的全场景操作系统,以手机操作为主,联接 汽车 ,智能音箱,可穿戴等设备。不是安卓系统的分支或修改,与安卓和苹果系统有着根本性不同。
鸿蒙OS的源代码已捐赠给开放原子开源基金会。10月份后,向4GB以上所有设备开源。
消费者,能将生活的不同设备整合,连接。
开发者,代码开源,多分布式技术,提供一站式开发环境。
设备商,设计方案组件化,满足不同设备对操作系统的要求。
鸿蒙产业链:
1.生态核心: 华为云和处理器,基于华为鲲鹏系列部署。
2.硬件: 整机,部件和主板等。
3.软件: AI框架,中间件,数据库和操作系统。
4.应用: 各类应用软件。
其中,操作系统是最底层的软件,连接应用软件和硬件的桥梁。卡脖子环节之一,国产替代紧迫。
鸿蒙操作系统依次为:内核层,系统服务层,框架层和应用层。
系统功能按,系统子系统功能/模块逐级展开,根据实际需求裁剪非必要的子系统或功能。已有操作系统只对应于某一种硬件,如:Windows对应电脑,iOS对应苹果手机。而鸿蒙OS剑指万物互联时代,是全场景,多终端的操作系统。
采用微内核技术,借助方舟编译器,使各设备跨平台安装,操作,并兼容所有的安卓及Web应用。
1)微内核操作系统,高安全和扩展性。
传统安卓宏内核,所有系统服务代码都在内核中。量大,漏洞多,扩展性差,小内存终端难搭载。
鸿蒙微内核系统:简化功能,只提供最基础系统服务,其他均放在用户生态中。按需扩展,多设备弹性部署,代码量只有安卓的千分之一,安全性高。
2)分布式操作系统,打通多个应用场景。
鸿蒙系统通过通信平台,分布式管理,调度和虚拟外设,使各终端互通互联。
分布式软总线: 为异端设备互联互通提供统一基座。
分布式数据管理: 用户数据与设备不再绑定,跨终端运行。
分布式设备虚拟化: 多设备形成一个超级虚拟终端,各终端可便捷调用。
分布式任务调度: 统一服务管理,可远程启动,调用,连接及迁移等。
如:传统相机,电脑,音响等原本相互独立,通过鸿蒙整合,相互协同。用华为Share碰一碰,多屏协同等功能,将各硬件应用打通。
3)方舟编译器,实现安卓APP快速切换。
绝大多数应用是Java语言编程,但硬件CPU只能理解汇编指令,需要编译器来“翻译”,将人的程序语言翻译给计算机可理解并执行的语言。但在翻译过程中易导致运行变慢或卡顿。
华为方舟编译器,将Java语言直接变成机器码,省去内置VM编译器,APP在各种终端上快速安装,启动和运行,将安卓APP无缝迁移到鸿蒙系统。
2020年,全球操作系统市场规模370亿美元。全球操作系统中,安卓和微软系统市场份额总和超过70%,集中度高。
2020年,全球手机操作系统中,安卓占63%,苹果占22%,两者总和超过84%。国内手机操作系统,安卓占89%,苹果11%。
若鸿蒙OS推广后成功,有望成为国内第三大操作系统。
1)鸿蒙VS安卓VS苹果的操作系统情况:
硬件载体: 鸿蒙可搭载手机,电脑,手表等各类物联网设备,而安卓和苹果以手机为主。
续航时长: 鸿蒙OS2续航时间5.1小时,长于安卓EMUI11的4.7小时和苹果的3.9小时。
对开发者: 鸿蒙开源分布式操作系统,一次开发多端适配。安卓和苹果只能单独适配。
成长空间: 万物互联时代,鸿蒙的成长空间巨大,苹果和安卓的成长空间有限。
2)鸿蒙VS安卓
鸿蒙微内核代码量只有安卓的千分之一,受攻击率低,安全性高。华为P40Pro空间15.43GB,比安卓EMUI11少4GB。
3)鸿蒙VS苹果
使用36个月后,鸿蒙OS的顺序读写速度和随机读写速度下滑均不超5%。而苹果顺序读写速度下跌超75%,随机读写速度下跌超19%。
鸿蒙OS最大短板是生态,构建成熟生态是鸿蒙生存的关键。
鸿蒙OS是基于Linux内核源码开发实现的,OS实现代码主要是C语言,并且内核提供的原生系统调用接口肯定也是C语言接口,上层APP应用兼容现有的安卓JAVA程序,可能需要重新编译JAVA应用程序代码即可运行。
应用编写需要用java语言。
鸿蒙OS(英文:HarmonyOS)。在2019年8月9日,华为在东莞举行华为开发者大会,正式发布操作系统鸿蒙OS。鸿蒙OS是一款“面向未来”的操作系统,一款基于微内核的面向全场景的分布式操作系统,它将适配手机、平板、电视、智能汽车、可穿戴设备等多终端设备。
扩展资料:
技术特性:
1、确定时延引擎和高性能IPC技术实现系统天生流畅
鸿蒙OS通过使用确定时延引擎和高性能IPC两大技术解决现有系统性能不足的问题。确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使IPC(进程间通信)性能大大提高,进程通信效率较现有系统提升5倍
2、基于微内核架构重塑终端设备可信安全。
鸿蒙OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。
3、鸿蒙OS将微内核技术应用于可信执行环境(TEE),通过形式化方法,重塑可信安全。
通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享。鸿蒙OS凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。
参考资料来源:百度百科-华为鸿蒙系统