必威体育Betway必威体育官网
当前位置:首页 > IT技术

吐槽GitHub上刚放出来的阿里AliOS物联网操作系统,顺便聊下原创一条龙的重要性

时间:2019-10-17 00:15:48来源:IT技术作者:seo实验室小编阅读:86次「手机版」
 

alios

origiin: http://bbs.armfly.com/read.php?tid=47258

GitHub:https://github.com/alibaba/AliOS-Things

本帖仅代表个人观点,仅仅如同一个球迷看完一场足球或者篮球比赛的感受一样,并没有要黑那个球队或者球员的意思。AliOS刚开源发布,我们就泼冷水了,不太好,本文欲扬先抑。

前言:

首先,我们强调一下原创的重要性,在这个软件资源满天飞的年代,保持原创还是有重大意义的。

相信大家都被全几天阿里推的物联网系统AliOS兴奋到了,因为我们可以全套方案都用阿里的,毕竟阿里云已经搞了好些年了。针对这次阿里发布AliOS操作系统,我们表示热烈的庆祝,但是看了他们在GitHub放出的工程,却开心不起来,首先他们的RTOS好几处参考了uCOS的实现,这将是AliOS最大的槽点。作为物联网系统最重要的网络协议栈,他们没有做到原创,使用的是大家熟知的LwIP,而文件系统也是用的开源FatFS。如果是这样的话,怎么能自信的与ARM推出的mbed os进行PK,这差距稍大了些。

在原创的道路上,即使是FreeRTOS,都没有放弃,推出了自己的网络协议栈FreeRTOS-TCP和文件系统FreeRTOS-FAT。而SEGGER的embOS及其中间件,uCOS-II和III及其中间件,RTX系统及其中间件(后期放弃了自己的GUI,采用了emWin),ThreadX及其中间全都做到了原创一条龙。我们的AliOS为什么就不能也做一个原创一条龙。这个又不像Android,iOS那种庞大的系统,完全可以自己的做的,只是稳定性和完善性需要不断的时间积累。不可否认,像SEGGER的embOS和Micrium的uCOS都在今年过完了25周年生日。AliOS要发展起来也需要几年的积累,希望他们早日实现自己的原创一条龙。

==============================

(一)AliOS的槽点,借鉴uCOS的地方有点多了,一两处还可以理解。

1. 底层移植几乎就是uCOS就的方案,有兴趣大家可以对比他们的底层汇编文件。而且底层的浮点寄存器处理有问题(M4内核移植),没有判断此任务是否使用了浮点寄存器,就统一所有的任务进行了浮点寄存器的入栈和出栈处理,这个处理欠妥了。

2. 临界段的处理方式基本是uCOS的方案。

3. 也做了一个统计任务,这个有点太明显了。现在的RTOS中,以RTX,FreeRTOS,embOS和uCOS为例,仅uCOS是这种方式。

4. 也像uCOS-III那样搞了一个滴答任务,处理方式也相似。

5. 任务列表的处理思路跟uCOS如出一辙。

6. 定时器组的实现也是相似的。

7. 更多“相似点”,就不再往外汇报了,大家有精力了可以自己读读。

说到借鉴,我这里再举一个FreeRTOS和uCOS-III事迹,uCOS-III是2008年推出的,好像是2010年在他们的官网才对外提供的下载,发布的时候,他们就提供了任务信号量,任务消息队列机制。而FreeRTOS的任务信号量,任务消息队列机制是2015年3月份的8.2.0版本才发布了这个功能,大家觉得FreeRTOS是否借鉴了uCOS-III的这种思想。ps:我们的AliOS在文件k_task_sem.c也搞了个。。。

(二)不完善的地方,由于是刚发布,这个都可以理解。

1. 源码缺少必要的注释,不求像uCOS-II或III那么专业,像FreeRTOS即可。因为很多时候,我们不需要了解这段代码的细节,只想知道他实现了什么。

2. 仅GCC的移植,无MDK和IAR,不过也可以照葫芦画瓢搞个。

3. 文档,当前的文档非常简陋,可以认为没有文档,希望他们以后的文档可以像FreeRTOS,RTX和uCOS看齐,离线版和在线版各一套,含用户手册和API手册,最重要的是每个API函数都有个举例,并且注明使用注意事项,这个应该是RTOS文档中最最重要的,不能让客户去猜这个函数怎么用,而且做了大量的测试才摸清这个函数的脾性。

4. 简单易上手在RTOS的推广中占有举足轻重的作用,希望他们在这块做的更好,也可以像华为的liteOS那样,先整到MDK里面再说。

(三)吐槽了这么多,AliOS还是有很多值得我们去学习的地方。

特别是上层应用,AT指令解析,CoAP,MQTT,WFS,FOTA,云端访问,网关等都是纯C编写的,而且开源的,值得称赞。

不过加密算法都是库,这个可以理解(其中mbedTLS是有源码的,这个可以在MDK软件包中获取)

=======================

总结,说了这么多,依然希望AliOS坚持做几年,争取做到原创一条龙,近期有精力,我也将推出AliOS的专题教程,先将内核跑起来,转接扩展到应用层。毕竟阿里的上层应用和云端还是值得去搞一搞的。

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读