华为鸿蒙微内核之我见

前日对鸿蒙微内核(Huawei LiteOS Kernel是轻量级的实时操作系统)进行了抽取,抽取后做了“简单”了解,总感觉有些话要说。
第一个就是内核中包含中文注释(arch/arm/arm-m/include/los_exc.h),其实这对于我不懂英文的更好, 但是鸿蒙微内核是“全球”开源的,这就会产生影响。 记得以前抽取Linux kernel时,就有极个别注释是乱码, 这会影响我的心情。不知一个非中文阅读者打开后的心情。
第二就是函数命名规则,每个函数头必加LOS_或os, 从命名规范讲,完全没有问题,或者说非常规范。 但还是“全球”开源问题,假如我在内核上面开发, 每次调用函数时,必须多敲2个或4个字符,而且还要大写, 我会不爽的。同时这会给我局限性很强,开放性不足的感觉。 这也存在于变量、类型和文件命名上。
当然,以上两点也好理解,因为华为最初并非按开源去做的这个系统。 这应该是一个非常棒的企业内部项目,但作为开源项目,可能需要商榷!
建议华为的开发帮助手册也提供英文版本,而不只是中文的。
另外,针对英国电信读华为代码困难,原因可能与中文注释有关。为此华为启动代码重构项目,如果华为代码为c或c++(工业大部分是c),程序逻辑抽取器能为华为节约至少三分之二的成本,同时避免源代码直接暴露给用户,实现代码安全。期望华为能够看到这个建议,同时请看到这条信息的,能够转告华为。
关于鸿蒙社区培养,我想说说我的建议
社区的壮大,主要看应用是否丰富,为解决丰富应用问题, 我的想法是针对已有应用,在不需要修改源码的情况下, 通过编译或源码转换等手段,使现有的应用可以在鸿蒙系统上运行。 这就像生产企业,针对不同的销售商,采用不同的包装一样, 这样企业的成本变化不大,经销商也会有面子,实现共赢。
具体做法为:
1.编译方法:提供针对类库,比如windows,接口具有针对性,内部实现为鸿蒙内核。 这个类似于Wine,但应与Wine存在本质区别,即
a.从使用者角度看,不应存在像Wine的那道墙。
b.从开发者角度看,这是与针对系统一样的编译环境。
c.从系统看,没有虚拟层,这是为了保证效率。
去年我就想启动这样一个开源项目,考虑精力投入太大,还是放弃了!项目应该是一个万向接口,实现应由不同系统自己耦合,例如windows到redhat,同样也可以redhat到windows。目前问题主要存在于系统耦合不佳,致使跨平台开发和迁移繁琐,如能实现,将极大减轻开发负担,同时对社区培养有利。
2.源码转换法:针对其他系统的源码,通过工具转换, 生成可在鸿蒙下编译的源码。这个方法可行性不佳,原因是最终的工作量可能大于方法一。

以上方案存在以下几个问题:
1.成本投入非常巨大,且绝大多数都是由鸿蒙承担, 没有办法,谁让鸿蒙是后来者呢,与开拓者的投入比较, 心里就会安生了。
2.法律问题,我不知道会涉及多少法律问题,但肯定存在。

武松山于2020.4.14

原文:www.bricktou.cn
注解内核赢工具火热进行中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值