通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  副版主

注册:2009-2-2531

爱心徽章,09年为家园助学活动奉献爱心纪念徽章

跳转到指定楼层
1#
发表于 2021-6-4 10:05:12 |只看该作者 |倒序浏览
微信图片_20210604100400.jpg
技术分析


开源的Harmony OS源代码分析

可能这篇文章会得罪很多人,甚至会被炸号,但是我实在无法忍受如此大范围的指鹿为马。当有人喊亩产一万斤的时候,你不跳出来指出对方在瞎说,那么最后倒霉的可能还是你自己。

另外我觉得我有资格说这话。我的工作经验之一,就是内核,我曾经在Nvidia,Qualcomm等几个主力芯片上bring up 过内核。对ARM的trustzone,高通的SecureMSM, 各个主流芯片secure boot都比较熟悉,熟练使用trace32。以及对操作系统的底层比如中断,DMA,文件系统(我自己写过fat文件系统的parser),内存管理机制都比较熟悉,最早一批参加blackhat 的华人。所以,如果大家讨论技术欢迎,虽然我已经很多年没有碰这些了,但是吹吹牛没问题的。

说实在,我没有怎么关心过鸿蒙系统。昨天在各种热议中,我去看了一下。

所谓鸿蒙的开源代码,当时第一眼看,我确实觉得非常佩服。还发了一条微博点赞。

看了一会hm的源代码,有点意思。

既不是linux,也不是Android。比linux和Android OS要简单的多。应该说是极简版的mobile OS。其实工作量很大。没有1000-2000个工程师的团队是搞不定的。

1. 现在公布的代码确实是hw重写过的。工作量巨大无比。比我想的要多。

2. 但是从功能的角度来讲,又显得非常简陋。给我感觉是似曾相识,又不是。

这是我看了三个模块的代码的感觉,

GICv3
https://gitee.com/openharmony/kernel_liteos_a/blob/master/arch/arm/gic/gic_v3.c

这个 GICV3 的实现,非常简单,但是基本上功能都有了,能用。

内存管理模块

https://gitee.com/openharmony/kernel_liteos_a/blob/master/kernel/base/mem/tlsf/los_memory.c
这个内存管理模块,应该是根据这个算法做的 tlsf

FAT文件系统

https://gitee.com/openharmony/kernel_liteos_a/blob/master/fs/fat/os_adapt/fatfs.c基本上也是重写了一边FAT的文件格式的处理。。。但是FAT,貌似微软还是有专利的。

不知道专利有没有过期。。

总的来讲,还是不错的开始。另外,看了一下代码,hm在compatibility方面做出了大量的牺牲。

也就是说,如果光一家玩,问题不大。但是如果有很多家一起玩,不同硬件的spec,可能会有很多问题。

看吧。如果小米被迫上这个系统,估计要骂人。

然而很快发现,有朋友反馈,他们的华为手机可以直接升级到鸿蒙,然后原来的app都可以用。啥都不用改。

我当时就是满脑子问号???

这个有点超越我的认知范围了。。。。不可能啊?开源的这个harmony os是无法做到直接支持run apk的。即便支持也是很久很久以后的事情。

后来很多人反馈就是,啥apk都可以运行。。。。。

这么说的话,这个鸿蒙os,太神奇了。。。

后来做了更多的了解,搞清楚了。。。

原来,开源版的鸿蒙,   是一套针对IoT版的操作系统。

而手机版的鸿蒙,是另外一套类似于/基于AOSP的系统。很可能是android 套壳,但是没有开源。。

但是,他们用了同一个名字,品牌,鸿蒙。。 非常令人容易产生误解。

arstechnica 的分析与评价

查了一下外网。权威的 智能手机测评网站 有篇详细的报道:

https://arstechnica.com/gadgets/2021/06/huaweis-harmonyos-will-rollout-to-100-android-models-over-the-next-year/
640?wx_fmt=jpeg
640?wx_fmt=jpeg

我基本上同意文章的判断:

  • 有两套 harmony os,一套是IoT版,一套是手机版。
  • IoT版简单的多是开源的,你说它一行linux代码都没有用是站的住脚的。代码我看了,我赞同这个说法。
  • 手机版是一套完全不同的系统,是闭源的。arstechnica 认为可能是fork。我没有看到代码,不好说什么。但是完全支持apk,我觉得至少是aosp了。


华为的回应

在外媒的追问下,华为已经向verge 表示:

640?wx_fmt=png

承认可能有两个内核,但是注意是“可能”。这段statement其实是文字游戏的最高水平,什么都没有承认,什么也没有否认。我觉得,没有必要再解读了。。

结语

我觉得本来是一件很好的事情,仅仅是IoT版的harmonyOS也是一个非常了不起的成就。只要假以时日,完全可以在很多IoT的场景使用,比如摄像头,路由器,传感器网络等等。如果在结合cloud场景,AI场景,都能有很不错的江湖地位。

做个手机操作系统,远没有rtos或者 iot os那么简单,而且存在大量的场景,你根本绕不过专利墙。 比如有个专利是,手机给你发notification,你可以dimiss它。这种专利,把手机的notification全部给覆盖了。所以你即便搞通了 soc--firmware--os这层,这些专利会让你的成本很高。

可惜为啥要搞成现在这么难看,稍微有点底层系统经验的人都知道怎么回事,连verge的记者都看明白了。为什么做的这么不体面呢? 你方方说,还需要多年才能做到完全的独立系统,没问题啊。实事求是讲,这本来这就是一个很难很难的事情啊。为什么要搞出这么多误会呢?

最后,还是希望大家实事求是,把事情做好。

举报本楼

本帖有 139 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-28 14:49 , Processed in 0.249153 second(s), 20 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部