当物联网和操作系统这个话题出现在IT界时,“嵌入式操作系统”这个术语与“实时操作系统”(RTOS)经常互换使用。但实际上,一些嵌入式操作系统有实时功能,另一些则没有这种功能。
真正的RTOS物联网设备需要处理数据时没有缓冲延迟。RTOS的好处包括两大类:第一,能够实现多任务处理,能够调度和优先处理任务,还能够管理资源在多个任务之间的共享。这种操作系统通常用于比较复杂的航空、工业和医疗物联网设备中。第二,功耗比较低,对资源的要求也比较低,比如处理能力和内存。十之八九,诸如此类的操作系统的增长率会超过RTOS,至少对第一代物联网设备来说是这样的,这种类型的操作系统复杂性低,功能也相对比较齐全。
RIOT OS是一种开源社区项目,自2008年以来就启动了。RIOT能够在众多平台上运行,包括嵌入式设备和PC(以及数量众多的极其流行的传感器/致动器板卡),而且拥有易于使用的API。该操作系统因用电量和资源需求方面能够做到高效而家喻户晓。
微软的最新款嵌入式操作系统名为Windows 10 for IoT。这面大旗下还有三个子操作系统,视用户的要求而定。第一个是Windows 10 for IoT Mobile,它支持ARM架构。第二个是Windows 10 for IoT Core,它支持Raspberry Pi和英特尔凌动。最后一个是Windows 10 for IoT Enterprise——这多少有点像功能完备的Windows 10 Enterprise,但仅限于运行单一应用程序。
由于Windows 10 for IoT是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力,如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用Visual Studio和Azure物联网服务、针对Windows从事开发工作的人会被整套的Windows 10 for IoT方案吸引过去。
WindRiver的VxWorks可能是如今使用最流行的商用RTOS。它提供了一款可靠的操作系统,又具有高度的灵活性。VxWorks还提供了许多安全功能,这些功能对需要它们的物联网项目来说至关重要。VxWorks在工业、医疗和航空等领域的名气很大,因为它是少数几家满足必要的认证要求、以便用于那些行业的RTOS厂商之一。
谷歌在去年秋季的谷歌I/O大会上宣布,打算推出Brillo,进军嵌入式操作系统市场。面向基于安卓的嵌入式操作系统的开发平台,很适合在编写安卓应用程序方面有着扎实背景的那些人使用。Brillo使用一种名为Weave的通信协议。这意味着,智能设备没必要非得将嵌入式安卓作为其操作系统——它们只要能够使用Weave进行通信就可以。这为一大批厂商将Weave集成到物联网产品中敞开了大门,最终让这些产品能够与Brillo联通。
ARM开发了自己的开源嵌入式操作系统,名为mbed OS。由于它是由ARM自身开发的,所以ARM是唯一支持的架构。话虽如此,预计该操作系统会在智能家居和可穿戴式设备这两个物联网细分市场大放异彩。这款操作系统有别于另外许多的嵌入式操作系统,原因在于它是单线程,而不是多线程。ARM表示,它认为对于该操作系统能够在尺寸最小、功耗最低的设备上运行而言是必不可少的。如果物理尺寸和电池使用时间至关重要,物联网设备最后可能会在mbed OS上运行。
到目前为止,苹果已采用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助BlackBerry QNX)和苹果手表。展望未来,预计苹果会继续使用其iOS,并改动OS X,那样它可以在物联网端点设备上更精简、更高效地运行。开发人员可以使用诸如最近发布的HomeKit之类的工具,这种框架用来构建控制家庭自动化设备的应用程序。
Nucleus RTOS是Mentor Graphics公司开发的一种嵌入式操作系统。这家公司声称,其软件目前在30多亿个设备上运行,这是个相当庞大的安装群。该操作系统为众多嵌入式架构提供了有力的支持,在汽车、医疗、公用事业、工业和消费类电子产品等行业垂直领域大受欢迎。
不过另一种由来已久的商用RTOS解决方案是Green Hills的Integrity。它在航空/国防、汽车、工业和医疗等垂直领域展开激烈的竞争。该公司还继续在面向消费者的物联网市场大受欢迎,这归功于它一直凭借性能、安全和可靠性博得人气和美名。
基于物联网产业处在发展初期,碎片化特点必将导致物联网时代对软件的多样性需求。一种操作系统和开发工具很难支持物联网系统中的所有设备,短时间内,物联网操作系统很难形成像智能手机中Android和iOS两家独占市场的局面。以安全性和集成化为代表的物联网新需要给传统嵌入式软件带来挑战,也给以互联网企业为代表的产业新势力带来机遇。
本文转自d1net(转载)