数据驱动世界的需求意味着您的物联网设备将需要强大而可靠的软件。为此,您需要一个实时操作系统(RTOS)。
我们将物联网设备视为通过网络发送和接收信息的嵌入式系统。尽管许多嵌入式系统使用较不复杂的软件即可很好地管理,但联网设备需要功能更强大的系统。
物联网设备的软件必须为:
- 可扩展,以适应各种不同类别的设备
- 模块化的,因此您只能选择满足严格的RAM要求所需的组件
- 已连接,因此您可以通过Wi-Fi,以太网,USB或蓝牙将数据移入和移出设备。
- 可靠,因此您的设备可以通过安全关键性应用认证
那么为什么不使用Linux呢?
Linux当然是一个成熟的,对开发人员友好的操作系统,作为物联网设备的平台已受到关注。Linux已成为许多应用程序的主流嵌入式操作系统。
然而,与实时操作系统相比,Linux有一个缺点:内存占用。即使可以通过删除嵌入式系统中不需要的工具和系统服务来缩小Linux的规模,但它仍然是一大部分软件。它根本无法在8位或16位MCU上运行,甚至许多较新的32位MCU都没有足够的板载RAM用于Linux内核。ARM Cortex-M系列就是一个很好的例子:有数百种基于流行的Cortex-M架构的MCU,通常只有几百KB的板载内存。Linux将永远无法在这些芯片上运行。
Linux当然会在嵌入式设备中有很多用途,尤其是那些提供图形丰富的用户界面的设备。但是有成千上万的Linux不适合应用程序。