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

一、概述鸿蒙操作系统

开发背景

·数字化的时代背景:数字化新时代的到来需要新的操作系统;

·5G物联网时代的到来对操作系统提出了新的要求;

·中国面临“卡脖子”的挑战:独立自主的研发操作系统是迫切的需求;

·人工智能的兴起:AIoT场景天然要求多设备智能协同,需要一个适用于各类型机器的操作系统;

·大数据与云计算:TB、PB级的大数据需要一个能够提供多机互联的操作系统;

·全球信息安全面临挑战:网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。

需求:5G物联网时代的到来对操作系统提出了新的要求;中国面临“卡脖子”的挑战,独立自主的研发操作系统是迫切的需求;全球信息安全面临挑战,网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。

开发历史:

·2012年    华为自有操作系统开始进行规划

·2016年5月  消费者BG软件部立项研发分布式操作系统1.0版本

·2017年5月  分布式操作系统1.0版本研发完成,开始研发2.0版本

·2018年1月  任正非认可自主研发分布式操作系统的计划

·2018年5月  华为申请“华为鸿蒙”商标

·2019年5月  华为“鸿蒙”商标注册公告

·2019年5月  华为正式发布“鸿蒙”,在华为智能屏上投入使用

·2020年9月  鸿蒙系统升级至2.0版本,向内存128KB~128MB设备开源

·2020年12月 华为发布基于鸿蒙OS的手机开发者Beta功能

·2021年4月  鸿蒙OS2.0向内存128MB~4GB设备开源

·2021年4月  华为OS2.0开发者公测版本大批量向已申请的开发者推送

·2021年5月  鸿蒙OS2.0开启第二轮公测

·2021年6月  鸿蒙有望正式开始规模化推送

·2021年10月 鸿蒙OS计划向4GB内存以上设备开源

场景:

华为的“1+8+N”产品战略是为了要打造未来5G全场景智慧生活而定,面向5G高品质全场景的智慧生活,生态在各领域都可以体现出它的存在和价值。

·“1”指的是智能手机

·“8“指的是平板、PC、穿戴、HD、AI音箱、耳机、VR、车机。

·“N”指的是泛IOT设备,摄像头、扫地机、智能秤等外围智能硬件,涵盖移动办公、智能家居、运动健康、影音娱乐、智慧出行五大场景模式。

发展趋势

随着越来越多鸿蒙生态产品的推出,HarmonyOS Connect硬件生态产品‘朋友圈’正逐步扩大。自5月18日品牌升级以来,不到一个月时间,HarmonyOS Connect伙伴数量已新增超过350家,当前已有超过1000家硬件合作伙伴加入到HarmonyOS Connect大家庭中,且数量还在不断增长中。“随着各行各业越来越多的商家加入,鸿蒙生态能力与体验将会呈几何级数爆发。从客厅到厨房,从住房到行车,从休闲到日常工作,人们生活中的方方面面都或将被HarmonyOS Connect智能设备‘包围’。

二.关于鸿蒙是否套壳的争议

什么是创新:(联系鸿蒙系统分析)

创新是指以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。

鸿蒙系统有以下三点创新:

1、分布式架构首次用于终端OS,实现跨终端无缝协同体验

鸿蒙OS的“分布式OS架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力。

2、确定时延引擎和高性能IPC技术实现系统天生流畅

鸿蒙OS通过使用确定时延引擎和高性能IPC两大技术解决现有系统性能不足的问题。确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理。

3、基于微内核架构重塑终端设备可信安全

鸿蒙OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。

代码复用与创新的关系:

我认为,把代码原封不动的复制粘贴过来是抄袭,但是从开源代码中进行创新就不能算是抄袭,而是一种改进。华为使用ASOP的代码有两个原因。

第一,华为有权使用ASOP的代码,谷歌管不着。ASOP是由谷歌联合34家手机终端和运营商企业共同发起的项目,全称是安卓开源项目。

在ASOP这个项目里,任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,并基于开源项目做二次开发。所以ASOP的代码并不全是谷歌写的,华为也是ASOP的重要贡献者。

第二,鸿蒙OS使用ASOP的代码是基于现状的理智选择。另外使用ASOP的代码、兼容安卓应用是为了保证用户体验。安卓系统已经开发了10几年,消费者已经用习惯了安卓系统,如今贸然更换一个不兼容安卓或者操作逻辑迥异的系统,会造成用户的大量流失。

三、代码风格分析

·好的代码风格1 :

···

 

···

分析:在定义的bean时,基本类型最好使用包装类,而数组最好使用List,因为List可以使用Java的一些新特性,用起来更方便,也能给他人提供很好的调用

·好的代码风格2 :

···

package test1;

/**

 * Title: Hello Java World

 * Description: 简单的Java程序,只显示一个信息。

 * filename: HelloWorld.java

 */

 public class HelloWorld {

  public static void main(String[] args) {

    System.out.println("Hello Java World!");

  }

 }

···

分析:代码注释清楚,可读性强,让初学者能快速理解Java代码。

·不好的代码风格1:

···

 

···

分析:if else结构层层嵌套,使得代码看起来层次结构不清晰,也给维护带来了不必要的麻烦。

 

posted @ 2021-09-18 12:26  Hwqian22  阅读(143)  评论(0编辑  收藏  举报