物联网作为新时代的宠儿,有其独到之处,操作系统是物联网的灵魂,开源操作系统更是集结了各物联网大亨的理论精髓,物联网、开源、操作系统这三个词汇构成了物联网开源操作系统。接下来给大家介绍 10 款经典的物联网操作系统。

 

如今的物联网技术包括了智能电网、智能家居、智能交通和智慧城市等等概念,是一种更广的联网,最终目标是实现电网、家居、交通等领域网络之间的互联,同时提供安全性、数据分析和管理。

 

操作系统是什么?

操作系统,英文名 operating system,简称:OS,是一种系统软件,位于计算机硬件和应用程序中间的一层,管理硬件和软件资源,为计算机程序提供相关服务。所有的计算机程序包括应用程序或者固件,都需要操作系统支持。

 

一般来说,操作系统通常具有以下功能:进程管理、中断、内存管理、文件系统、设备驱动、网络、安全、输入输出系统。

 

典型的操作系统主要有 windows 操作系统(微软)、Unix 及类 Unix 操作系统(Linux、谷歌)、mac 操作系统(苹果)。

 

windows 操作系统 MS-DOS 的基础上设计的图形操作系统,是一种闭源系统,即源代码不开放。

 

而 Unix 及类 Unix 操作系统,例如 FreeBSD、OpenBSD、Solaris 、Minix、Linux、QNX、谷歌的 Android 操作系统(基于 linux),ubuntu,这些基本上都是开源系统,源代码开放。

 

另外就是苹果的 Mac OS X 和 iOS 移动设备操作系统,是以 Darwin 为基础开发的,Darwin 是一种类 Unix 操作操作系统,苹果的操作系统(Mac OS X 和 iOS)是闭源的,但是苹果于 2000 年将 Darwin 进行开源。

 

什么是开源操作系统?

开源操作系统(open source operating system),是指源代码公开的操作系统软件,遵循开源协议进行使用、编译和再发布。在遵守相关开源协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。开源操作系统最大的特点就是开放源代码和自由定制。下面列举开源操作系统的一些优势:

易理解:开源操作系统源代码公开,开发人员更容易查看理解代码,获取相关知识。

公开透明:操作系统漏洞和缺陷更容易曝光,同时代码的开发和维护也是公开的。

可定制:用户可以根据需求,依照不同的硬件平台和应用场景进行定制。

低成本:无商业版权费,节省了相关开发管理和人力投入成本。

可持续:即使之前开发的公司因为各种原因无法支持,依靠开源社区广大的开发人员的参与,系统还可以持续维护下去。

集思广益:因为开源操作系统公开,可以让更多的开发者参与开发,集中更多的智慧和想法。

 

物联网为何需要开源操作系统?

对于物联网发展而言,“碎片化”是主要的问题,其中芯片、传感器、通信协议、应用场景千差万别,“山头林立”。比如无线通信标准,就有蓝牙、Wi-Fi、ZigBee、PLC、Z-Wave、RF、Thread、Z-Wave、NFC、UWB、LiFi、NB-IoT、LoRa 等等。很明显,技术方案不统一,体系结构不一致,阻碍了物联网的发展,也局限了互联互通的范围。

 

然而,各种操作系统可以支持不同的硬件、通信标准、应用场景。开源,有利于打破技术障碍和壁垒,提高互操作性和可移植性,减小开发成本,同时也适合开源社区的开发人员参与进来。

 

操作系统,是物联网中一个十分关键的环节,而开源更佳助推了物联网的开放和发展。目前,开源操作系统在物联网中的应用已经十分广泛,以后也必将在物联网中扮演越来越重要的角色。

 

 

十大物联网开源操作系统

1、Andorid Things

Andorid Things 是谷歌推出的物联网操作系统,是 “Brillo”操作系统的更新版本,作为 Andorid 系统的一个分支版本,类似于可穿戴和智能手表用的 Andorid Wear(实际上它也是一种物联网操作系统)。

 

它使用一种名为 Weave 的通信协议,实现设备与云端相连,并且与谷歌助手等服务交互。Android Things 面向所有 Java 开发者,不管开发者有没有移动开发经验。该操作系统将能够支持一系列物联网设备的计算平台,其中包括英特尔 Edison 平台,NXP 公司的 Pico 平台,以及“黑莓派 3”。

 

2、Contiki

Contiki,是一个开源的、容易移植的多任务操作系统,适用于内存受限的网络任务。Contiki 项目的作者是瑞典计算机科学研究所的网络嵌入式系统小组的 Adam Dunkels 博士。

 

该系统只需要几千字节或者几百字节的内存,就能提供多任务操作系统环境和 TCP/IP 支持。它已经移植并成功运行于嵌入式微控制器平台(TI MSP430,Atmel AVR)以及电脑、游戏机等平台。它支持的协议有全标准 IPv6 和 IPv4,以及低功耗网络标准:6lowpan、RPL、CoAP。

 

3、eLinux

eLinux,也称为 Embedded Linux,即嵌入式 Linux 操作系统,该操作系统基于 Linux 内核,是 Linux 对于嵌入式系统的裁剪版,支持该操作系统的厂家、芯片和产品比较广泛。该操作系统的维基主页提供了开发、硬件、产品、厂家、社区等一系列相关信息。

 

4、FreeRTOS

FreeRTOS 是一个迷你的实时操作系统内核,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。

 

FreeRTOS 操作系统是完全开源你的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点。目前,该操作系统已经数百万设备上部署,它号称是“市场上领先的嵌入式实时操作系统”,能够为微控制器和微处理器提供很好的解决方案。

 

5、mbed OS

这款操作系统由 ARM 开发,专门为运行 ARM 处理器的物联网设备而设计。它包含了 C++应用程序网络,公司也提供其他开发工具和相关的设备服务器。

 

默认情况下,mbed 操作系统是事件驱动的单线程架构,而非多线程(实时操作系统)环境。 这确保了它可以扩展到尺寸最小、成本最低且功耗最低的物联网设备。

 

ARM 在移动设备端有着强大的市场占有率,所以这款操作系统实力和前景不可小觑。

 

6、Raspbian

Raspbian 是一款基于 Debian,为树莓派硬件而设计的操作系统。这个操作系统包括一些列的基础程序和工具,保证树莓派硬件的运行。

 

7、RIOT

RIOT,将自己称为“友好的物联网操作系统”,致力于开发者友好、资源友好、物联网友好,关键的功能包括 C/C++支持、多线程、能量效率、部分遵守 POSIX 等等。RIOT 开源社区自 2008 年以来就启动了。RIOT 能够在众多平台上运行包括嵌入式设备、PC、传感器等。

 

8、Ubuntu Core

Ubuntu 是目前最流行的 Linux 版本,而 Ubuntu Core 旨在将 Ubuntu 带向物联网世界。它可以运行例如微软 Azure、 谷歌计算引擎、 亚马逊弹性云计算服务,也可以运行在例如 BeagleBone Black 和树莓派等硬件上。

 

9、Huawei LiteOS

Huawei LiteOS 是华为面向 IoT 领域,构建的“统一物联网操作系统和中间件软件平台”,具有轻量级(内核小于 10k)、低功耗、互联互通、安全等关键能力。Huawei LiteOS 目前主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等 IoT 领域的智能硬件上,还可以和 LiteOS 生态圈内的硬件互联互通,提高用户体验。

 

Liteos 操作系统具有能耗最低,尺寸小、响应快等特点,也建立了开源社区,能够支持的芯片例如海思的 PLC 芯片 HCT3911、媒体芯片 3798M/C、IPCamera 芯片 Hi3516A,以及 LTE-M 芯片等。

 

10、Tizen

Tizen,Linux 基金会和 LiMo 基金会,联合英特尔和三星电子,共同开发的开源操作系统,它可以满足物联网设备生态系统(包括设备制造商、手机运营商、应用开发者、独立软件服务提供商)的需求,应用于手机、电视、穿戴等多个产品。

 

Tizen 底层平台相关 API 按照 HTML5 的形式公开出来,服务将涵盖通信、多媒体、相机、网络、社区媒体等。三星已经售卖了几款搭载该操作系统的产品,是它的最大支持者。