Huawei LiteOS 大揭秘

GWLCGL520 2016-10-26 10:25:20
本文是华为物联网开发工程师分享!!

喜迎 Huawei LiteOS


对于华为来讲,我是位新人,因为即使到现在我也只是刚刚完成转正答辩一个月。但是对于 Huawei LiteOS 来讲,我却是位旧客,毕竟我关注 Huawei LiteOS 已经将近两年了。两年前,当我第一次听说 Huawei LiteOS 的时候,第一感觉是好奇,第二感觉便是佩服,毕竟在国内有胆识从头写操作系统的大公司只此一家。

当然跟我一样对 Huawei LiteOS 感兴趣的人不在少数,当时一个 github 空项目能得到 128 颗星就能从某个侧面反映出 Huawei LiteOS 的受关注程度。现在 Huawei LiteOS 的内核已经在 github 上开放源码了,Huawei LiteOS 开源这件事是很认真的,各位 Huawei LiteOS 粉有福了。

Huawei LiteOS 的意义


历史意义

从去年开始,谷歌、微软等 IT 界的大佬已经相继发布了自己的物联网操作系统。今年初,深谙操作系统研发开源套路的 Linux 基金会也积极跟进,发布了 zephyr ,而站在 Linux 基金会身后的则是芯片巨头 Intel。能吸引这么多巨头积极加入的战场,一定有着了不得的意义。

纵观信息时代的发展史,操作系统领域的争夺作为主线,贯穿了所有的标志性时代,如 PC 时代、互联网时代、移动互联网时代。这其中,最成功的操作系统无疑是 windows、linux、android 以及 ios 。其实都不用预测,在已经到来的物联网时代,一定也会有一款到两款操作系统作为物联网时代标志性的操作系统强势崛起,甚至不排除类似的实时操作系统会反噬到其他领域。如基于实时系统的 AR、VR 或 MR 类型操作系统将来作为统一的人机交互界面也不是没有可能。

所以,在这样的历史背景下,华为发展自身的物联网操作系统是有其独特的历史含义的:基于实时内核的操作系统,拥有优秀的实时传感器处理能力,假以时日,不排除可以演进成为统一的人机界面操作系统。

现实意义

对华为物联网解决方案熟悉的读者,一定对 “1+2+1”这个概念不会陌生。而在这个概念下,华为的物联网解决方案就是其中非常重要的一环。Huawei LiteOS 正是作为这一环而开发的。没有了 Huawei LiteOS ,“1+2+1”就少了个“1”,这对于华为的整个物联网解决方案来讲,是不可接受的缺失。而少了物联网操作系统,在与开发者共同建设物联网生态系统的过程中,也会失色不少。因此,对于 Huawei LiteOS 来讲,助力建设物联网生态系统就是其最大的现实意义。

深度剖析 Huawei LiteOS


从 Huawei LiteOS 发布到现在,已经过了一年半多的时间,在这段不算长但是也决不算短的时间内,已经有许多消息不断的披露出来。尤其是今年的全联接大会之后,关于 Huawei LiteOS 的消息已经深入到了整个操作系统的架构层面。下面,我们就从 Huawei LiteOS 的内核和基于其之上构建的开发框架来详细剖析一下这个重要的“1”。 在这之前,我们先看一下 Huawei LiteOS 的整体架构:



Huawei LiteOS 内核

Huawei LiteOS 的内核分为两个层次,第一层是基础内核,第二层是扩展内核。这其中基础内核的源码是开源的,各位读者可以在 github 上看到 Huawei LiteOS 基础内核源码项目地址:Huawei LiteOS 基础内核源码
(https://github.com/Huawei/Huawei_LiteOS_Kernel )。

基础内核提供的能力包括:

任务调度
内存管理
中断机制
队列管理
事件管理
IPC 机制
时间管理
软定时器
双向链表等常用数据结构

扩展内核提供的能力包括:

运行-暂停机制
动态框架

基于这两层内核,Huawei LiteOS 的主要特征如下:

实时内核
轻量级
低功耗
快速启动
可裁剪
分散加载

三个上层开发框架及其意义

传感器协同控制与管理框架

该框架有如下三方面主要特征:

实时传感器事件机制:以事件处理的形式将实时传感器所涉及的数据感应管理起来;
多传感器数据融合算法:不仅仅是依次简单处理单个传感器的传感数据,而是采用数据融合算法将多个传感器的传感数据融合处理获取维度更广的实时数据,以支撑系统做出智能决策;
传感器管理:鉴于物联网时代的智能设备绝对不仅仅集成数量极少的传感器,而很有可能是数量庞大的传感器,那如何有效的管理这些传感器就成为了一个极有挑战性的话题。

该框架所代表的意义:

以事件机制来管理实时传感器数据,可以简化编程模型,对于未来的智能设备开发者多有裨益;
以多传感器数据融合算法为基础,可以在更多传感器数据基础上得到更加智能的系统决策;
更进一步设想,在将来的 AR、VR 和 MR 时代中,此类多传感器的使用场景不在少数,而该框架为这类场景提供了最佳的解决方案基石。

联接引擎框架

该框架具备如下特征:

多场景互联支持:支持智慧家庭、设备、工业环境等;
多协议互联支持:支持多种联接协议;
多样距离互联支持 - 支持多种长距或短距联接协议。

该框架的意义在于:

可以同时支持多种联接协议,而不必担心会被既有的使用某些特定物联网协议的开发者所遗弃;
可以最大程度上满足现有物联网领域开发者的需求,从而极大拓展自身的生态圈。

运行时引擎

该框架主要包含如下模块:

轻量级 JavaScript 引擎:构建于 Huawei LiteOS 内核之上,支撑 JavaScript 运行时环境;
JavaScript 开发框架:物联网领域开发者可以基于该框架开发应用;

JavaScript 运行时引擎的意义包括:

可以将为数众多 JavaScript 程序员作为目标群体,并且可以有效降低物联网领域开发者的入门门槛;
构建于低功耗内核之上的运行时引擎可以与内核协同优化性能和功耗;
如果说 Android 成功的一个主要原因是它采用 Java 作为主要开发语言的话,那么 JavaScript 作为 Huawei LiteOS 开发语言的意义绝不亚于Java 之于 Android。

Huawei LiteOS 与漫游未来


科幻与现实

科幻电影爱好者对《2001 太空漫游》这部电影一定不会陌生,在库布里克导演这部神一样的作品里,我们看到了很多已经存在于我们现实生活中的“科幻现实”,比如在这部电影里呈现的“ipad”:



关于这部电影里出现的“pad”,甚至在很多年之后还被三星搬到了法庭上以应对苹果对其模仿 ipad 而提起的诉讼。当然这部电影里还有很多很多后来成为现实的“科幻物品”,不过最神秘的还是这部电影里贯穿始终的石板:



很多年后苹果发布的某款手机,是不是像极了这部电影里超级文明的神秘黑板。

不远的未来

除了上面提到这这部神一样的科幻电影,还有很多科幻电影也向观众奉献了众多经典镜头,比如类似钢铁侠里这样的人机交互界面。



现在科技界已经在探索类似的人机交互界面上迈出了坚定的步伐,比如 AR、VR 以及 MR。其实从这类人机交互界面的本质上探究一下就会发现,要形成这样的效果就离不开数量众多的传感器,要管理操作这些传感器就离不开相应的具备传感器管理与数据传输的操作系统。其实谈到这里,大家已经可以畅想一下这样的未来操作系统应该具备什么样的能力。当然,Huawei LiteOS 目前还不具备这样完整的能力,但是它所奠定的坚实技术基础可以支撑在将来承担起这样的重任,而我们也期待这一天早一些到来。
...全文
5345 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
a10002 2017-06-19
  • 打赏
  • 举报
回复
liteOS 功能不多,用更简化的语言没什么用。 Android不同,就算用了java也还是复杂度很高,所以简化是有用的。
赵4老师 2016-10-26
  • 打赏
  • 举报
回复
如果说 Android 成功的一个主要原因是它采用 Java 作为主要开发语言的话,那么 JavaScript 作为 Huawei LiteOS 开发语言的意义绝不亚于Java 之于 Android。

241

社区成员

发帖
与我相关
我的任务
社区描述
物联网开发
社区管理员
  • community_245
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧