鸿蒙之后,Vela请战

2020-11-09 09:47 周紫薇 科技探索网

华为鸿蒙操作系统在发布之前就备受行业关注,甚至华为徐直军随后接受采访时对外表示,“鸿蒙本来不是操作系统的名字,后来媒体误传就炒了起来,炒了好几个月。再想给操作系统取名字的时候,又得重新跟大家解释,所以就叫鸿蒙了。”

相较而言,小米Vela的问世倒是相对顺利。11月5日,小米在MIDC 2020小米开发者大会期间重磅发布Xiaomi Vela软件平台。小米IoT平台部总经理、小米AIoT战略委员会主席范典表示,目前已有3800家企业在小米IoT平台进行开发。对于越来越多的手机厂商入局IoT市场,他表示,AIoT产业快速发展,最重要的还是技术创新。需要做大生态,让用户受益。

比如在IoT设备联网方面,他认为,WiFi网络是为手机和PC设计,AIoT时代需要更适合的智能设备的上网方式。

他现场发布了小米畅快连技术:手机靠近设备30cm自动发现并弹窗配网;路由器改密,设备会自动回连。

另外,为了加强手机与IoT设备之间的协同,小米正在重点开发小米妙享功能。范典表示,小米妙享开放平台即将开放视频投射和应用协同功能。

为了实现小米秒享在多设备上的应用,小米也推出了基于开源嵌入式操作系统NuttX打造的物联网软件平台Xiaomi Vela。

据介绍,Xiaomi Vela软件平台是基于开源嵌入式操作系统NuttX打造的物联网软件平台,能够运行在各种芯片平台,尤其适合物联网设备。

NuttX是一个成熟的实时操作系统,于2007年由Gregory Nutt先生正式开源,2016年被三星选为TizenRT操作系统的内核,2019年在小米的推动下正式进入Apache基金会,经过开源社区多年的不懈努力,NuttX功能丰富,性能稳定,商业化成熟度高,Fitbit最近两代的手环产品和索尼多款消费级产品都是基于NuttX开发的。

市场上开源或商业的RTOS非常多,为什么小米最终选择NuttX作为Xiaomi Vela的基础?主要有以下几个原因:

NuttX对POSIX标准有原生兼容:NuttX是可商用化RTOS中唯一一个对POSIX API有原生支持的实时操作系统,所以很多Linux社区的开源软件可以很方便的移植到NuttX上,这样可以极大的简化开源软件移植,方便代码复用,降低学习曲线,其它RTOS需要适配层把POSIX API转成内部API,而且通常只兼容一小部分的POSIX接口。

完成度高:NuttX集成了文件系统、网络协议栈、图形库和驱动框架,减少开发成本。

模块化设计:所有组件甚至组件内部特性,都可以通过配置Kconfig来调整或关闭,可按需对系统进行裁剪,适用于不同产品形态。

代码精简:所有组件都是从头编码,专门对代码和数据做了优化设计。

轻量级:虽然NuttX实现了传统操作系统的所有功能,但是最终生成的代码尺寸还是可以很小(最小配置不到32KB,最大配置不超过256KB)。

和Linux系统的兼容性:因为NuttX整体设计、代码组织,编译过程和Linux非常接近,将会极大地降低Android/Linux开发者的迁移成本。

活跃开放的社区:很多厂商(比如小米、Sony,乐鑫、NXP等)和开源爱好者都在积极回馈社区。

从纵向看,NuttX和传统操作系统一样由调度子系统、文件子系统、网络子系统、图形子系统和驱动子系统组成。从横向看,NuttX向上给应用程序提供了POSIX和ANSI定义的标准C/C++接口。对于没有标准化的组件(比如各种外设),NuttX通常会提供兼容Linux的API。向下NuttX定义了Arch API、块设备驱动接口、网卡驱动接口、display驱动接口,以及各种总线和外设的lower half驱动接口,使得芯片厂商能够规范、快速地完成移植工作。下图中数量众多的蓝色模块就是NuttX实现的各种功能。

小米是从2017年开始基于NuttX开发物联网产品,并在随后推动NuttX加入了Apache基金会。

这就不难理解小米的物联网操作系统为什么最终会选择基于NuttX,也可以看出,小米做物联网操作系统的想法早已有之。

Xiaomi Vela的初衷是提供丰富的组件和易用的框架,把开发者解放出来,主要分为三大部分:底层是NuttX内核、上层是Vela应用框架,而右侧是开发者具。底层NuttX内核提供最基本的任务调度、跨进程间通信、件系统等基础OS功能,同时也提供简洁效的设备驱动、轻量级的TCP/IP协议栈和电源管理等组件;内核之上是Xiaomi Vela提供的应框架。它主要分为上下两层,下层是为扩展系统服务提供的通应框架,包括OTA服务,数据本地存储服务,以及对图形用户界面和脚本语的持,上层主要是针对不同的物联应开发。

据小米IoT平台部副总经理袁军介绍称,这一平台是专门用于智能家居、可穿戴设备等算力受限设备上的物联网嵌入式开发平台,支持高性价比MCU设备,打通碎片化的IoT应用。这样的话,手机、电视、路由器、笔记本将不是小米Vela的目标,而小米手环/手表、智能音箱、家电产品等在未来将会用上小米自家的Vela操作系统。

小米认为,市场上常见的物联网操作系统更多局限于实时操作系统的范畴、缺少支持物联网软件框架,或缺乏对国际社区的支持。

因此,小米最终选择自研物联网操作系统。

就在小米对外正式发布自家物联网操作系统小米Vela同一天,另一边,华为在深圳也举办了一场新品发布会,发布了15款智选新品。

独特之处在于,此次是华为的物联网操作系统鸿蒙OS首次应用在华为智选生态产品上。

鸿蒙是华为在去年8月的华为开发者大会上发布的物联网操作系统,华为消费者业务CEO余承东在发布会上将其定义为“基于微内核的全场景分布式OS”。

在这一操作系统发布之前,早在2015年,华为也曾发布轻量级物联网操作系统LiteOS。鸿蒙OS发布后,华为消费者业务首席战略官邵洋指出,“LiteOS后续将会融入鸿蒙OS。”

至此,也就有了现在华为在物联网系统层面的统一部署。

在小米官方对Vela介绍中,小米Vela对标的其实是华为LiteOS。然而,随着LiteOS融入鸿蒙OS,小米Vela最终要面对的其实是鸿蒙OS。

在系统核心能力上,不难看出,华为鸿蒙OS强调的分布式技术和小米Vela强调的小米妙享,其实均是为了打通物联网最基础的联通、协同相关功能。

不过,两者无论是在战略层面,还是在应用层面,还是略有差异:

在战略层面,鸿蒙 OS 发布之初,华为官方就拿其与安卓系统进行了对比;小米 Vela 此次发布后,袁军则将其解释为 “与 Linux、安卓等高价操作系统是互补共生关系”。

在应用层面,搭载华为鸿蒙 OS 的第一款产品是荣耀智慧屏(即智能电视);小米 Vela 则更注重低功耗和轻量级的应用场景,官方此次明确表示 “目标应用不是手机、智能电视等”。

据小米官方称,小米将在 2021 年 1 月将开启 Xiaomi Vela Preview 计划。

届时,小米将进一步完善其物联网生态版图,万千物联网开发者将会再多一个选择,物联网操作系统也将会再多出一方诸侯。

收藏 举报

延伸 · 阅读