第2次作业—— 谈谈鸿蒙操作系统

鸿蒙系统:

开发背景鸿蒙OS发布于2019年,但是最早可以追溯到2012年,彼时任正非与华为2012实验室的专家座谈时提出,华为要自研操作系统做备份,哪怕几十年都用不上也一定要做。否则一旦操作系统“断粮”对华为就是数千亿美元的损失2019 年,美国政府禁止美国向华为出口,这切断了该公司与大多数芯片和软件供应商的联系。如果无法访问关键部件和应用程序,就很难构建手机。数字化新时代的到来需要新的操作系统;oT 与 5G:5G物联网时代的到来对操作系统提出了新的要求;大数据与云计算:TB、PB级的大数据需要一个能够提供多机互联的操作系统;为了适应时代的发展需求,面对美国对华为的封锁。华为公司具有前瞻的战略意识,居安思危。最终开发了鸿蒙系统。

开发历史:2012年9月,华为开始规划自有操作系统“鸿蒙”。华为“2012诺亚方舟实验室”专家座谈会上,任正非提出了要做终端操作系统防范于未然,要在“断了我们粮食的时候,备份系统要能用得上。”

2017年,鸿蒙内核 1.0

2018年,鸿蒙内核 2.0

2019年,鸿蒙OS 1.0

2019年5月24日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标,申请日期是2018年8月24日,注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。

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

2019年8月9日,华为正式发布鸿蒙系统(HongmengOS),实行开源。

2020年,鸿蒙OS 2.0

2020年9月10日,华为在HDC开发者大会上如约发布鸿蒙 2.0,并面向应用开发者发布Beta版本。明年鸿蒙将全面支持华为手机。鸿蒙HarmonyOS正式开源,今年年底首先对国内开发者发布针对智能手机的HarmonyOS beta版本。

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

华为鸿蒙操作系统是基于ASOP开发的。ASOP:Android Open Source Project,中文名:安卓开源项目。谷歌的安卓系统,实际上是基于linux的ASOP+GMS,即安卓开源项目和谷歌移动服务包组合成了安卓系统,而国内基本上GMS都被阉割的,卖到海外的国产手机,除了华为被制裁,其余的国产手机系统是有GMS的。
所以,鸿蒙之所以可以支持安卓的APP就可以理解了,因为还是基于ASOP进行的再次开发,但又不能说鸿蒙就是安卓系统的换壳,因为鸿蒙是ASOP+HMS,即安卓开源项目+华为移动服务。在ASOP这个项目里,任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,并基于开源项目做二次开发。所以ASOP的代码并不全是谷歌写的,华为也是ASOP的重要贡献者。

世界上许多创新都是在已有的技术跟知识层面上进行创新的,人类技术的发展是一步一步起来的,不可能一蹴而就。鸿蒙系统合理的运用安卓开源项目,进行技术创新。最终搭建起了鸿蒙系统。

三:代码风格分析:

“...

package stdx

 
 

2

 

 

3

import java.io.*

 

4

import java.util.*

 

5

 

 

6

public class ConfigFile implements Closeable

 

7

class Data

 

8

public String key = ""; 

 

9

public String val = ""; 

 

10

public String info = ""; 

 

11

 

 

12

public Data(String key, String val){ 

 

13

this(key, val, ""); 

 

14

 

15

public Data(String key, String val, String info){ 

 

16

this.key = key; 

 

17

this.val = val; 

 

18

this.info = info; 

 

19

 

20

}

...”

分析:Java语言是一种纯面向对象的程序设计语言。其代码清晰易读,排版干净利索。Import导入类。Public修饰类与数据权限,this在构造方法中就代表了当前对象,思路清晰,便于理解。

“...

from SimpleXMLRPCServer import SimpleXMLRPCServer

 

2

 

 

3

 

 

4

 

def add(a, b):

5

 

return a + b

6

 

 

7

 

def start_rpc_server():

8

 

s = SimpleXMLRPCServer(("", 1989))

9

 

s.register_function(add)

10

 

s.serve_forever()

...”

分析:Pythony语言import导入SimliexXMLRPCServer.add对数据操作简单明了,数据输出简单。代码可读性高。

“...

time.sleep(1)

 

19

19

s.close()

 

20

 

 

21

def simple_call_rpc():

 

22

serv_addr = ('136.24.8.45', 1989)

 

23

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

 

24

s.connect(serv_addr)

 

25

program_name = "R2319Cfm" 

 

26

cmd = "find /crmbak -name %s.log.gz -mtime 30 2>/dev/null |xargs ls -l --block-size=1024 |grep %s.log.gz$ 2>/dev/null |awk '{sum+=$5}END{print sum}'" % (program_name, program_name)

 

27

s.send(cmd)

 

28

data = s.recv(1024)

 

29

print 80 * '-' 

 

30

print "cmd:", cmd

 

31

print "data:", data

 

32

print 80 * '-' 

 

33

s.close()

 

34

 

20

35

if __name__ == '__main__':

21

 

start_chat()

 

36

simple_call_rpc()

 

37

#start_chat()

分析:调用time()这个方法没有Import相应的包。可读性差,

posted @ 2021-09-13 09:27  安进  阅读(321)  评论(0编辑  收藏  举报