想要玩转物联网,你需要先会用这些嵌入式操作系统
厂商不得不考虑的因素。
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可以在数毫秒之内,就对该驱动程序进行终止、回收资源并重新启动的步骤,让嵌入式设备可接近无停摆时间表现。
不过微核心RTOS的架构除了优点以外,由于其process间的讯息传递功能将会占用存储器频宽,影响到校能表现,因此在实际应用上,就必须采用特殊的最佳化手段,以避免掉讯息传递功能所带来的性能耗损。
6.Nucleus Plus
这款嵌入式操作系统主要特征就是轻薄短小,其架构上的延展性,可以让Nucleus RTOS所占的储存空间压缩到仅有13K左右,而且Nucleus Plus是一款不需授权费的操作系统,并且提供了原始码。
Nucleus Plus本身只是Acclerated Technology公司完整解决方案里面的其中一环,这个RTOS本身架构属于先占式多工设计,有超过95%的原始码是用标准的ANSI C语言所编写,因此可以非常有效率的移植到各种不同的平台。Nucleus Plus在CISC架构处理器中,核心部份大约占去20KB左右的储存空间,而在RISC处理器上则是40KB左右,核心资料结构仅占约1.5KB,由于其即
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)