想要玩转物联网,你需要先会用这些嵌入式操作系统

  它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。

  系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。

  从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。

  3.嵌入式Linux

  这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近年来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。

  Linux是开放源代码,不存在黑箱技术,遍布全球的众多Linux爱好者优势Linux开发者的强大技术支持;并且Linux的内核小、效率高,内核的更新速度很快,Linux是可以定制的,其系统内核最小只有约134KB。

  Linux还是免费的OS,在价格上极具竞争力。因为它的开放性对于技术方面的要求不高只要懂Unix/Linux和C语言即可。随着Linux在国内的普及,这类人才越来越多。所以软件的开发和维护成本很低,优秀的网络工能,这在Internet时代尤其重要,稳定是Linux本身具备的一个很大的优点,内核精悍,运行所需资源少,十分适合嵌入式应用。

  支持的硬件数量庞大,嵌入式Linux和普通的Linux没有本质区别,PC上用到的硬件嵌入式Linux几乎都支持,而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来了很大方便。

  4.μC/OS一Ⅱ

  μC/OS一Ⅱ是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位,16位和32位单片机或数字信号处理器(DSP)。它是在原版本μC /OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。它的主要特点如下:

  1)公开源代码,容易就能把操作系统移植到各个不同的硬件平台上;

  2)可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上,可固化;

  3)可裁剪性,有选择的使用需要的系统服务,以减少斗所需的存储空间;

  4)占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务;

  5)多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法;

  6)可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少;

  7)实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据;

  由于μC/OS一Ⅱ仅是一个实时内核,这就意味着它不像其他实时存在系统那样提供给用户的只是一些API函数接口,还有很多工作需要用户自己去完成。

  5.QNX

  QNX是一种商用的类Unix实时操作系统,遵从POSIX规范,目标市场主要是嵌入式系统。QNX的应用范围极广,包含了控制保时捷跑车的音乐和媒体功能,核电站和美国陆军无人驾驶Crusher坦克的控制系统,还有RIM公司的BlackBelly PlayBook平板电脑。QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSⅨ.1 (程序接口)和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(实时扩展)。

  QNX操作系统核心仅包含了CPU任务排程、进程间通讯、中断重导向以及定时器等部份,而除此之外包含驱动程序、档案系统堆叠协议以及使用者应用程序的所有程序都是属于在使用者阶段执行。QNX操作系统有个相当特殊的Proc阶段,专门负责程序process的建立,以及存储器管理等交集在系统微核心中的组件。

  基本上,QNX所有的组件都能透过消息传递这个函式来进行沟通,而具有良好定义的通讯机制,也能保障所有的组件都有完全独立且被保护的储存及执行空间。因此有问题的应用程序不会影响到其它组件的稳定性,发生问题的程序将会被自动终止并重新启动。

  与传统的操作系统架构相较起来,微核心架构可以让嵌入式系统获得更为快速的平均回覆时间(MTTR),当硬件驱动程序失效,QNX可以在数毫秒之内,就对该驱动程序进行终止、回收资源并重新启动的步骤,让嵌入式设备可接近无停摆时间表现。