前言
今天 PC 和手机时代的操作系统霸主未必能在物联网时代延续霸业。操作系统产业的规律是,当垄断已经形成,后来者就很难颠覆,只有等待下一次产业浪潮。如今,一个全新的、充满想象空间的操作系统市场机会正在开启。
如此关键的产业环节必然是兵家必争之地。ARM、谷歌、微软、华为、阿里、海尔等国内外著名的 IT 企业纷纷推出物联网操作系统,整个产业呈现出群雄逐鹿的壮观景象。传统的嵌入式系统公司也不甘示弱,纷纷通过开源和并购策略推出面向物联网软件平台,比如 Intel、风河、芯科和 Micrium。在一轮新的产业浪潮中,国内创业公司也走在风口浪尖上,他们纷纷推出自己的物联网操作系统,比如庆科、Ruff 和 RT-thread。
回溯物联网操作系统的发展历程,2014年是个重要的、标志性的起点。正是从这一年开始,ARM、谷歌、微软等国际巨头陆续登场,形形色色物联网操作系统进入我们的视野。
[attach]20802[/attach]
ARM Mbed OS
mbed OS 是 ARM 公司专门为 IoT 设计的一个操作系统平台,它支持所有基于 Cortex M 系列的控制器,mbed OS 是开源的操作系统,详情源代码请看:http://github.com/ARMmbed/mbed-os,更多介绍请看官网:http://mbed.com。
简单来说,Mbed 是一个开发平台,一个基于 ARM cortex M 系列的单片机开发平台。
Mbed 提供 C/C++ SDK,因此使用者可以专注于应用程序的设计,而不用过多关注底层硬件,这使得它用起来有点像 Arduino。
[attach]20803[/attach]
AndroidIoT/Brillo
Android Things 是谷歌为 Google Brillo 更改名称后的新版系统,后者是谷歌在2015年宣布的一款物联网操作系统。尽管 Brillo 的核心是 Android 系统,但是它的开发和部署明显不同于常规 Android 开发。Brillo 把C++ 作为主要开发环境,而 Android Things 则面向所有 Java 开发者,不管开发者有没有移动开发经验。
Android Things 整合了物联网设备通讯平台 Weave,Weave SDK 将嵌入到设备中进行本地和远程通讯。Weave Server 是用来处理设备注册、命令传送、状态存储以及与谷歌助手等谷歌服务整合的云服务。
从硬件资源的角度来看,Android Things 属于土豪级的系统,动辄上百 MB 的内存显然不适合单片机,这也正常,因为它的主要竞争对手其实是 Windows10 IoT。
顺便说一下谷歌秘密研发而又众所周知的 Fuchsia 系统,它没有基于 Linux 内核,而是基于一种叫 Magenta 的内核,是一种轻量级的内核,适用于嵌入式系统。虽然 Android 占了移动设备端的大半江山,但 Android 仍然存在不少问题,比如:碎片化问题严重,在大屏幕设备上表现糟糕,以及被很多用户诟病的卡顿与体验问题。虽然卡顿的本质原因是很多无良应用的后台互相唤醒,无节制的权限、内存使用等,但是这也恰恰反映了 Android 的底层架构设计是有瑕疵的。所以谷歌想着干脆抛弃 Linux,开发自己的 Fuchsia,同时还避开了 GPL。按照谷歌的性格,还真不是不可能,看看 Java 和 Kotlin 就知道了。我等码农只能寄希望于 Fuchsia 能像它的中文名那样,未来能大红大紫,造福人类吧。
Windows 10 IoT Core
[attach]20804[/attach]
Windows 10 IoT 是面向各种智能设备的 Windows 10 版本系列,涵盖了从小的行业网关到大的更复杂的设备(如销售点终端和ATM),种类繁多。结合最新的 Microsoft 开发工具和Azure IoT 服务,合作伙伴可以收集、存储和处理数据,从而打造可行的商业智能和有效的业务结果。在构建基于Windows 10 IoT 的解决方案后,合作伙伴将在利用一系列 Microsoft 技术提供端到端的解决方案时发现更多机会。
由于 Windows 10 for IoT 是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力,如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用 Visual Studio 和 Azure 物联网服务,针对 Windows 从事开发工作的人会被整套的 Windows 10 for IoT 方案吸引过去。
WatchOS
[attach]20805[/attach]
说了那么多巨头,怎么少得了苹果公司呢,苹果在桌面端有 OS X,在移动端有 iOS。虽然苹果目前还没有在物联网市场扮演重要的角色,但苹果已利用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助 BlackBerry QNX)和苹果手表。
Ubuntu Core 16