软件工程2021:第2次作业—— 谈谈鸿蒙操作系统

一、概述鸿蒙系统

1、开发背景

早在2012年,任正非便对华为需要依靠谷歌授权的GMS服务感到一丝警觉,认为华为需要有一个自己的操作系统,防止操作系统对华为产生难以估计的损失。于是四年间开始了操作系统的研究,最终在2016年谷歌停止了GMS服务,鸿蒙系统便被搬上了台。

2、需求

网络系统的未来要求是“超高速、低时延”,这是个技术要求问题,华为在这个领域是专家。鸿蒙系统满足了绝大多数人共同的需求——流畅、便捷、多功能。于是鸿蒙系统用户量从无到有,再到拥有 5000 万升级用户,仅仅用了两个月时间。要知道,HarmonyOS 可不是第一款国产操作系统,但达到如此成就的只有它一个。鸿蒙系统从一个工业技术系统迈向手机操作系统时,它服务的对象从有统一标准的连网设备,变成千千万万有不同想法的人,之间的区别绝非仅仅是技术的迁移过渡。

3、开发历程

2012年,华为开始规划自有操作系统“鸿蒙”。

2015年,开始分布式操作系统的立项。

2017年内部推出分布式操作系统1.0版本,即鸿蒙内核1.0。

2019年5月24日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标。

2019年5月17日,由任教授领导的华为操作系统团队开发了自主产权操作系统——鸿蒙。

2019年8月9日,华为正式发布鸿蒙系统。

2020年9月鸿蒙2.0正式对外发布。

4、应用场景和发展趋势

鸿蒙系统是基于微内核的全场景分布式OS,可以连接到大屏、手机、PC、音响,甚至是地暖、空调、电视等生活电子用品上,而且荣耀智慧屏产品就是首款搭载了华为鸿蒙系统的产品。

从发展趋势来看,鸿蒙OS不会应用于PC系统,因为PC类型的系统的应用软件,与手机、智能汽车等不太一样,适应方式不同,如果开发,难度相当于重新开发一个系统。所以除了手机之外,重点突破的应在于智能汽车上。而且鸿蒙已经与奥迪有了一些合作。

二、关于鸿蒙系统是否套壳的争议

尽管鸿蒙系统已经达成如此高的成就,网络上仍然有人对鸿蒙的系统持质疑态度。他们的态度无非是认为鸿蒙套用了安卓的ASOP代码,不属于创新。

鸿蒙将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用。鸿蒙的时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,保障优先级高的先处理,提高了性能。另外,鸿蒙简化了内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,提高了安全性能。这都是并未未达到的高度,这都属于创新,并不是要完全摒弃现有的风格。

并且,ASOP代码是属于公用资源,可以复用以进行二次开发。华为作为ASOP的重要贡献者之一却不能使用,那真是可笑。安卓系统是世界上相当大的一个操作系统,在它的影响下,很多的功能要想一下就彻底改变完全是不可能的,基于这个代码是与现实相适应的明智决定。对于代码的复用,只要能创造出与前不一样的功能,或者说能改善、完善、优化已有的功能便是创新。

三、代码风格分析

好的代码风格1:

function checkPalindrome(string) {
return string === [...string].reverse().join('');
}

 

分析:我们只需使用 spread operater 从字符串创建一个数组,然后reverse数组,最后用 join 方法将其再次转换为字符串,并与原始字符串进行比较。

好的代码风格2:

function removeDuplicates(arr) {
   return [...new Set(arr)];
}

 

分析: Set 仅允许存在唯一值,所以当你传入数组时,它会自动删除重复的值。 

不好的代码:

function checkPalindrome(inputString) { 
   let length = inputString.length
   for (let i =0; i<length / 2; i++) {
        if (inputString[i] !== inputString[length - 1 -i]) {
             return false        
        }
   }
  return true
}

分析:用了for循环和if句,一层套一层,难以一眼看出来进行了什么样的过程

posted @ 2021-09-15 17:04  远夕  阅读(166)  评论(1编辑  收藏  举报