提到物联网操作系统,就不能不提Linux,因为Linux可能是目前在物联网设备中应用最广的操作系统了。前面的文章刚刚介绍了不少非Linux类的物联网操作系统,本文就来介绍一下目前常用的基于Linux的物联网操作系统。
在传统Linux内核基础上,经过裁剪,就可以移植到嵌入式系统上运行。不过,还有很多开源组织和商业公司对Linux进行了一番改造,使其更符合嵌入式系统或物联网应用的需求,比如改为实时操作系统。
RTLinux(Real-Time Linux)是Linux中的一种实时操作系统。它由新墨西哥矿业及科技学院的V. Yodaiken开发。现在已被WindRiver公司(大名鼎鼎的嵌入式操作系统VxWorks就是这家公司的产品)收购。
RT-Linux开发者并没有针对实时操作系统的特性而重写Linux的内核,因为这样做的工作量非常大,而且要保证兼容性也非常困难。RTLinux是将Linux的内核代码做了一些修改,将Linux本身的任务以及Linux内核作为优先级很低的任务,而实时任务作为优先级最高的任务。
uClinux(www.uclinux.org)表示micro-control linux,即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。
uCLinux主要是针对目标处理器没有存储管理单元MMU(Memory Management Unit)的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,在uCLinux上实现多任务需要一定的技巧。
谷歌提出了Project IoT物联网计划,并发布了Brillo操作系统。Brillo是一个物联网底层操作系统。
Brillo是源于Android,是对Android底层的一个细化,得到了Android的全部支持,比如蓝牙、Wifi等技术,并且能耗很低,安全性很高,任何设备制造商都可以直接使用。
2015年5月在华为网络大会上,华为发布了敏捷网络3.0,主要包括最轻量级的物联网操作系统LiteOS、敏捷物联网关、敏捷控制器三部分。其中LiteOS声称可以作为只有10KB大小的内核来部署。
在华为的官方网站(www.huawei.com/minisite/liteos/cn/)上,可以了解到更多关于LiteOS的信息。
轻量级OpenWrt(www.openwrt.org.cn)是一个基于Linux的操作系统,市场上很多智能路由器固件都是基于OpenWrt及其衍生版本的。OpenWrt包括很多衍生版本,这些衍生版本还有很多分支版本。
LEDE(lede-project.org)。LEDE全称是Linux嵌入式开发环境(Linux Embedded Development Environment)项目,LEDE就是一个基于OpenWrt的OS。其他衍生版本还有DD-Wrt,以及面向Arduino的Linino,等等。
Ostro™ OS is a Linux* distribution optimized for the development of connected and embedded devices. In fact, Ostro Project is designed specifically to support IoT device development. It integrates connectivity and networking, device-to-device interconnectivity standards, pre-configured sensors, and over-the-air update capabilities.
Ostro(ostroproject.org)是一套基于Linux并且为物联网智能设备特别量身订做的开源操作系统,支持蓝牙、WiFi和NFC等等的连接方式,并且支持多种如IoTivity的设备对设备互联互通标准。
提到Ostro,不得不再说一下Linux基金会的Yocto Project。Yocto不是一款Linux发行版,而是一个开源协作项目,为开发人员提供构建自定义嵌入式堆栈的模块、工具和方法。Yocto Project构成了大多数商用嵌入式Linux发行版的基础,比如Ostro Linux、Qt for Device Creation都是基于这个项目。
(1)Raspbian
Raspbian是一个专门面向树莓派(Raspberry Pi)计算机的Linux发行版,基础是Debian操作系统。两位志愿者针对树莓派硬件对Debian进行了专门的优化和移植。而Raspbian不仅仅是一个OS,它附带着35000个软件包以及预编译的软件。
(2)Snappy Ubuntu Core
Ubuntu希望继续让Linux成为让物联网更智能和可扩展的核心。Snappy Ubuntu Core是面向智能设备的最新平台,其承诺可以运行存储在本地或依赖于云端的相同软件。
(3)Tizen
Linux基金会托管的这个嵌入式Linux项目主要得到了三星的支持。Tizen广泛用于三星的电视和智能手表中,包括新的Gear S3,也零星地实施在三星的相机和消费级设备中。
在Linux系统基础上发展起来的面向物联网应用的项目非常多,Linux的碎片化程度也挺严重。至于哪个版本的Linux会成为主流,取决于应用场景、文档及开发资源支持和整个开发者生态的建立。在移动互联网时代,基于Linux的Android系统和互联网应用大放异彩;在物联网时代,Linux仍然会发挥着巨大作用。