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

一、概述鸿蒙操作系统 

  1、开发背景

  我国对自主可控的光刻机、芯片和操作系统的需求迫在眉睫。

  2、需求

  面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

  3、开发历史

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

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

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

  2017年中务虚会,消费者BG核心管理讨论自主研发分布式操作系统的可行性

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

  2018年4月24日,自研分布式操作系统项目获得投资,成为消费者BG的正式项目

  2019年5月14日,“华为鸿蒙”商标注册广告

  2019年5月15日,华为被列入了所谓“实体清单”,谷歌操作系统对华为禁供

  2019年5月17日,华为正式发布了自主知识产权操作系统——鸿蒙,随后在华为智慧屏上投入使用

  2019年8月9日,华为正式发布鸿蒙系统,华为消费者业务CEO余承东表示鸿蒙实行开源

  2020年8月,中国信息化百人会2020年峰会华为正式发布鸿蒙系统,余承东表示鸿蒙实行开源

  2020年9月10日,鸿蒙系统升级至2.0版本,即Harmony OS2.0,向电视、手表和车机等内存128KB~128MB设备开源

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

  2021年4月,鸿蒙OS2.0向内存182KB~4GB设备开源,华为Mata X2等手机正式搭载鸿蒙

  2021年5月4日,认证信息为华为终端有限公司的@华为Harmony OS官方微博正式上线

  2021年5月9日,鸿蒙OS2.0开启第二轮公测,新增多款Nova机型

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

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

  4、

  (1)应该场景:手机、平板、电视、智能汽车、可穿戴设备等多终端设备

  (2)发展趋势:华为携手各类开发者共建的鸿蒙生态,在拥抱万物互联新时代的机遇下,前景不可小觑

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

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

  创新就是打破传统,不断突破。

  即便已经拥有了麒麟芯片,但华为依旧经过三年打磨,给所有人交出了了一份答卷,用鸿蒙系统解决手机最根本的性能问题。所以我们能看到,鸿蒙拥有更低的延迟、更多的功能、更细致的控制、更方便的连接。

  2、代码复用与创新的关系:

  我们可以在原有的代码上发展更多有用的工具,比如现在的超级APP。

三、代码风格分析 

1、好的代码风格1 :

    • 代码示例:
    • ···int main()
      {
          int n = 9;
          int flag;
          int a[9] = {1,2,4,5,8,5,4,2,1 };
          int b=0;
          for (int i; i < n; i++)
              b ^= a[i];
          printf("%d\n",b);
      }···
    • 分析:代码简单,效率更高,可读性好。
    • 不好的代码风格1:
    • 代码:
      ···int main()
      {

 

          int n = 9;

 

          int flag;

 

          int a[9] = {1,2,4,5,8,5,4,2,1 };

 

          int b;

 

          for(int i=0;i<n;i++)

 

              for (int j = 0; j < n - i - 1; j++)

 

              {

 

                  if (a[j] > a[j + 1])

 

                  {

 

                      flag = a[j];

 

                      a[j] = a[j + 1];

 

                      a[j + 1] = flag;

 

                  }

 

              }

 

          for(int i=0;i<n;)

 

          {

 

              if (a[i] == a[i + 1])

 

                  i += 2;

 

              else

 

                  b = a[i];

 

          }

 

      }···
    分析:代码太繁琐了,可以通过异或运算简化代码。
posted @ 2021-09-18 18:06  水晶猪包  阅读(47)  评论(0)    收藏  举报