华为6月2日正式发布的鸿蒙系统无疑占据了最近热点话题的C位,虽然不全是赞美的声音,但这种努力打破美国垄断,挑战谷歌、苹果在移动操作系统上垄断地位的尝试必将成为中国 科技 史上的里程碑事件。
为周村等地区用户提供了全套网页设计制作服务,及周村网站建设行业解决方案。主营业务为做网站、成都做网站、周村网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
本期的智能内参,我们推荐兴业证券的报告《华为鸿蒙深度研究》, 从鸿蒙系统的产生背景、开源技术细节和产业链生态圈全面解析鸿蒙系统。
原标题:
《华为鸿蒙深度研究》
作者: 未注明
鸿蒙产生的时代背景,总体来说有六个:
1、数字化的时代背景:数字化新时代的到来需要新的操作系统;
2、IoT 与 5G:5G物联网时代的到来对操作系统提出了新的要求;
3、中国面临“卡脖子”的挑战:独立自主的研发操作系统是迫切的需求;
4、人工智能的兴起:AIoT场景天然要求多设备智能协同,需要一个适用于各类型机器的操作系统;
5、大数据与云计算:TB、PB级的大数据需要一个能够提供多机互联的操作系统;
6、全球信息安全面临挑战:网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。
到鸿蒙的出现,操作系统已经经历了四代:分别是Unix、Windows/Mac/Linux、iOS/Android和鸿蒙/Fuchsia。
Fuchsia是由Google自主开发的基于Zircon微内核的开源系统,它可以运行在手机、电脑、智能家电等硬件产品上。
谷歌公司对Fuchsia的预期发展是让它取代Android和 Chrome OS ,统一两者成为一个操作系统。
和安卓相比,鸿蒙与安卓都是基于Linux开发,安卓是基于宏内核结构设计,而鸿蒙是基于微内核结构设计。鸿蒙系统使用C和C++编写,不需要虚拟机这一中间过程,因此运行效率更高。
和iOS相比,iOS和鸿蒙都是致力于万物互联的操作系统,iOS底层是基于Unix的,并且是闭源的,鸿蒙是基于Lmux的, 是开源的。
全球操作系统格局
2012年,华为出于对谷歌如果对其断供就会难以维持生产的顾忌,开始布局自有分布式操作系统。
2019年5月15日,华为被列入了所谓“实体清单”,谷歌Android 服务GMS对华为禁供。
5G迅猛发展,物联网时代来临,多年前的布局使华为抓住了最佳的发展时期。
鸿蒙发展 历史
总体来说,鸿蒙的技术现阶段优势在于开放,但劣势是生态。系统在分布式部署、时延和流畅性等方面具有优势,但最大短板生态。
构建一个成熟的生态是鸿蒙能否生存下去并取得胜利的关键所在。
技术上,鸿蒙系统使用微内核架构。内核是操作系统内最基础的构件,因此内核的设计对于操作系统的外部特性也有着至关重要的影响。
常见内核结构可以分为宏内核、微内核、混合内核、外内核等。
微内核是较新内核结构,但是它拥有着众多宏内核不具有的优良特性,吸引了很多研究者。
微内核与宏内核对比
微内核架构包含两类组件:核心系统和插件模块。核心系统负责通用功能,不因为业务的变化而变化。
插件模块负责实现具体的业务,可以根据业务的变化而改动和扩展。
微内核架构模式可以将其他应用程序的功能作为插件添加到核心应用程序,从而提供应用的可扩展性、功能分离性和独立性。
微内核架构通常具有以下特征:整体敏捷度高、易部署、可测性高、功能表现优秀、可扩展性强和不易开发。
鸿蒙系统设计
鸿蒙架构的另一个很大优势是依靠分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等技术,可以实现多种类、多数量的设备之间硬件的互助和资源共享。
分布式数据管理
分布式软总线
分布式设备虚拟化
鸿蒙系统设计初衷是为满足全场景智慧体验的高标准链接要求,可适配手机、平板、电视、智能 汽车 、可穿戴设备等广泛的终端设备, 将在未来万物互联的智能 社会 中打造下一代操作系统。
鸿蒙当前和未来架构
在技术特性上,鸿蒙有着 一次开发,多端部署 的特点。
在鸿蒙OS的框架层提供了用户程序框架、Ability框架和UI框架。它们可以支持多终端设备业务逻辑和界面逻辑的复用,这样应用跨设备的开发效率也就得到了提框架层升。
另一个特点是 统一OS,弹性部署 。鸿蒙os通过组件化和小型化的设计方法,使得针对各种类型的设备可以按需求选择合适的部署方案。
鸿蒙支持多种组件配置方案:1、支持各组件的选择,组件并不是必须被部署,可以按照需要选择合适的部件;
2、支持组件内功能集的配置,可以按照需求选择性的给组件配置功能集;
3、支持组件内功能集的配置,可以按照需求选择性的给组件配置功能集。
除了微内核,鸿蒙的另一大卖点是方舟编译器。方舟编译器可以方便安卓APP移植到鸿蒙系统。
方舟编译器是华为自主研发的编译器平台,它将以前边解释边执行的低效运行方式转变为将Java、C、C++等代码一次编译成机器码的高效运行方式,同时也实现了多语言的统一。
华为官方数据表明,方舟编译器能提升24%的操作系统流畅度、44%的系统响应能力和60%的三方应用操作流畅度。
华为当前的业务可分为四大领域:消费者业务、运营商业务、企业业务和云服务四大业务领域相互协同、共同发展,拼接成华为生态战略布局版图。
华为生态
鸿蒙系统的生态可以概括为1+8+N。1+8+N战略的核心是1 , 即智能手机。智能手机作为鸿蒙生态的核心部分,凭借华为海思自研的麒麟芯片,为其他设备终端提供相应的通信支撑。
正是因为万物互联的场景中手机的重要性,华为始终以全球手机市场第一作为目标。
8是指 PC、平板、智慧屏、音箱、眼镜、手表、车机、耳机 ,这8项将由华为公司亲自研发和参与市场,并且会追求市场领先地位。
N是 摄像头、扫地机、智能秤等外围智能硬件 ,涵盖移动办公、智能家居、运动 健康 、影音 娱乐 、智慧出行五大场景模式。
这些领域是与鸿蒙生态的合作伙伴进行共同开发,在合作过程中,鸿蒙生态将会提供HiLink协议标准,HiAI组件,Lite OS等技术平台,同时将鸿蒙操作系统开源。
2019年8月,全球第一款搭载华为鸿蒙系统的荣耀智慧屏正式发布。
荣耀智慧屏作为当时首个搭载鸿蒙系统的终端产品,突破了传统电视的概念,搭载有鸿鹄818智慧芯片等三颗华为自研芯片和升降式AI摄像头,内置华为系统级视频通话功能,开创了大屏和手机的新交互方式,除了可联控智能家居,还能实现智慧双投、魔法闪投、魔法控屏等功能。
鸿蒙OS + 智慧屏
2021年4月,华为的鸿蒙OS智能座舱正式发布。
鸿蒙OS车机操作系统是面向车的操作系统,与手机同平台。鸿蒙OS智能座舱搭载有一芯多屏、多用户并发、运行时确定性保障、分布式外设、车载网络、多部件等多种应用,提供差异化启动恢复、极速启动、多用户切换、声场控制、多部件协同等功能。
鸿蒙OS智能座船可以及时升级应用,基于其HMS-Automotive平台,开发者能够提供更好的服务与应用体验,实现人、车、家的全场景协同。
鸿蒙OS + 智能座舱
同时面向车载场景增量还开发有HOS-A子系统,可实现账号、多模输入、用户程序框架、元能力框架、多媒体、公共通信、车机业务启动恢复等功能,使得自动驾驶、导航、视频、音乐和通话等业务能够在智能座舱和其他设备之间实现无缝切换,让智能驾驶变得简单、有趣、享受。
发布会现场透露,目前智能驾驶生态平台已获得30+硬件生态、50+应用生态合作伙伴支持,未来鸿蒙OS将继续加大与 汽车 及应用领域的开放与合作力度,与产业链一起打造智能驾驶的极致体验。
2020年7月,华为消费者业务CEO余承东,与美的集团董事长方洪波正式签署《战略合作框架协议》,双方在智慧家居领域达成“全方位战略合作关系” 。
2021年4月,作为首批支持鸿蒙系统的家电产品,美的家用智能蒸烤箱S5mini正 式上市,该智能蒸箱搭载了华为鸿蒙系统,同时搭配了鸿蒙系统的一碰连特性,可以快速完成配网。
配网成功后,手机会自动跳转到鸿蒙系统内置的轻量化产品页面,用户可以在页面中获取跟产品搭配的定制食谱,根据菜谱准备食材,即可一键启动机器、机器自动烹饪。
智东西 认为,数字商业的终极竞争,归根到底就是操作系统的竞争,全球市值前3名的苹果、谷歌和微软,他们共同特点就是都具备操作系统。鸿蒙的推出,长远来看决定了能否在异构计算时代中取得第四张操作系统入场券的关键。
根据华为公布的方舟编译器资料,可以得知鸿蒙系统是用C、C++语言编写。
鸿蒙系统和方舟编译器的思路是一样:直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码;
这样的好处是:不需要中转,执行速度快;劣势是:必须要有大量的静态方案、内存空间要求更高。
扩展资料
系统简介
鸿蒙微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。
鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。
可用于手机、平板、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓、华为电脑端依然优先使用windows和Linux。
参考资料来源:百度百科-华为鸿蒙系统
华为的鸿蒙系统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都运行在操作系统之上。仓颉编程语言是给鸿蒙系统开发应用程序的专属开发语言。第六层沟通互联,就是我们目前的互联网技术,在网络里看书、听音乐,点一份外卖等等。
这就是计算机科学六层架构,鸿蒙操作系统与仓颉编程语言各就各位。用架构去思考和看问题,不仅能心中有数,还能独具一双慧眼。