常见的嵌入式操作系统

常见的嵌入式操作系统

分类: 嵌入式 操作系统2012-12-11 10:06 459人阅读 评论(1) 收藏 举报

嵌入式操作系统

嵌入式操作系统与通用的操作相比较主要特点在于:

1.小内核,稳定可靠。

2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。

3.面向应用,强实时性,可用于各种设备控制当中。

国际上常见的嵌入式操作系统大约有40种左,右如:Linux 、uClinux 、WinCE 、PalmOS 、Symbian 、eCos 、uCOS-II 、VxWorks 、pSOS 、Nucleus 、ThreadX 、Rtems 、QNX 、INTEGRITY 、OSE 、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver 公司的vxworks 、isi 的psos 、qnx 系统软件公司的qnx 、ati 的nucleus 等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone 等,系统有Microsoft 的WinCE ,3Com 的Palm ,以及Symbian 和Google 的Android 等。

一、VxWorks

VxWorks 操作系统是美国WindRiver 公司于1983年设计开发的一种嵌入式实时操作系统(RTOS ),是T ornado 嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。

VxWorks 具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b 实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。

然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。

二、Windows CE

Windows CE与Windows 系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操

作系统。为建立针对掌上设备、无线设备的动态应用程序**务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB 的ROM 。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM 或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows 一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。

三、嵌入式Linux

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

由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL ,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL ,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的开发工具,且都遵从GPL ,是开放源代码的。有庞大的开发人员群体。无需专门的人才,只要懂

Unix/Linux和C 语言即可。随着 Linux 在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网络功能,这在Internet 时代尤其重要。稳定——这是Linux 本身具备的一个很大优点。内核精悍,运行所需资源少,十分适合嵌入式应用。

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

四、μC/OS一Ⅱ

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

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

可固化;

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

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

多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法; 可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少; 实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。

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

五、QNX

由QNX 软件公司所开发的QNX 操作系统,也是一套类UNIX 的嵌入式操作系统,跟VxWorks 同样的,QNX 也是一套符合POSIX 规范的操作系统。

与VxWorks 同样发迹于1980年代的QNX ,其特殊之处,在于其并非采用传统的高阶硬件虚拟层方式设计,而是以非常细碎的tasks 形式来执行,由许多的微核心为基础组成完整的OS 服务,因此QNX 的硬件设计者可以自由的选择加载执行或不加载某些特定的服务,而不用去变更QNX 的核心程序部份。因此基于QNX 的嵌入式操作系统可以做到非常小的程度,而且依然可以具有相当高的效率与完整的菜单现。

QNX 操作系统核心仅包含了CPU 任务排程、进程间通讯、中断重导向以及定时器等部份,而除此之外包含驱动程序、档案系统堆叠协议以及使用者应用程序的所有程序都是属于在使用者阶段执行。QNX 操作系统有个相当特殊的Proc 阶段,专门负责程序process 的建立,以及存储器管理等交集在系统微核心中的组件。基本上,QNX 所有的组件都能透过消息传递这个函式来进行沟通,而具有良好定义的通讯机制,也能保障所有的组件都有完全独立且被保护的储存及执行空间。因此有问题的应用程序不会影响到其它组件的稳定性,发生问题的程序将会被自动终止并重新启动。

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

不过微核心RTOS 的架构除了优点以外,由于其process 间的讯息传递功能将会占用存储器频宽,影响到校能表现,因此在实际应用上,就必须采用特殊的最佳化手段,以避免掉讯息传递功能所带来的性能耗损。

虽然QNX 整间公司在2004年出售给Haman International Industries,但QNX 操作系统的发展脚步依旧没有停止,在国外,除了与各家国际汽车大厂合作,成为车用电子的主力操作系统以外,也获得相当多的航空公司与重要军事单位采用。而在2005年底,QNX 也与国内几家包含联电、Zinwell 等公司进行了合作,研华、控创等工业计算机厂商也都有针对这方面在发展。

六、Nucleus Plus

这款嵌入式操作系统主要特征就是轻薄短小,其架构上的延展性,可以让Nucleus RTOS所占的储存空间压缩到仅有13K 左右,而且Nucleus Plus是一款不需授权费的操作系统,并且提供了原始码。

Nucleus Plus本身只是Acclerated Technology公司完整解决方案里面的其中一环,这个RTOS 本身架构属于先占式多工设计,有超过95%的原始码是用标准的ANSI C语言所编写,因此可以非常有效率的移植到各种不同的平台。Nucleus Plus在CISC 架构处理器中,核心部份大约占去20KB 左右的储存空间,而在RISC 处理器上则是40KB 左右,核心资料结构仅占约1.5KB ,由于其即时回应、先占式多工、以及多process 并行,并且开放原始码等特性,在国防、工控、航天工业、铁路、网络、POS 、自动化控制以及信息家电等领域广泛受到应用。

就如同QNX 一般,Nucleus Plus也可以根据目标产品的需求,来自行剪裁所需要的系统功能,达到精简体积的目的。而配合相对应的编译器(Borland c/c++、Microsoft c/c++)以及动态连结程序库和各种底层驱动程序,在开发上拥有非常相当大的便利性。诸如飞思卡尔(Freescale )、罗技(Logitech )公司、美国NEC 、SK Telecom等公司,都有采用Nucleus Plus 嵌入式操作系统作为开发产品使用。

七、结束语

在嵌入式应用中,使用实时操作系统(RTOS )是当前嵌入式应用的一个特点,一种趋势,也是单片机应用从低水平向高水平的一个进步。在实际的应用中,根据不同的要求和条件选择合适的操作系统,使开发工作更容易,设计出更完美的嵌入式系统。

常见的嵌入式操作系统

分类: 嵌入式 操作系统2012-12-11 10:06 459人阅读 评论(1) 收藏 举报

嵌入式操作系统

嵌入式操作系统与通用的操作相比较主要特点在于:

1.小内核,稳定可靠。

2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。

3.面向应用,强实时性,可用于各种设备控制当中。

国际上常见的嵌入式操作系统大约有40种左,右如:Linux 、uClinux 、WinCE 、PalmOS 、Symbian 、eCos 、uCOS-II 、VxWorks 、pSOS 、Nucleus 、ThreadX 、Rtems 、QNX 、INTEGRITY 、OSE 、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver 公司的vxworks 、isi 的psos 、qnx 系统软件公司的qnx 、ati 的nucleus 等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone 等,系统有Microsoft 的WinCE ,3Com 的Palm ,以及Symbian 和Google 的Android 等。

一、VxWorks

VxWorks 操作系统是美国WindRiver 公司于1983年设计开发的一种嵌入式实时操作系统(RTOS ),是T ornado 嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。

VxWorks 具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b 实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。

然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。

二、Windows CE

Windows CE与Windows 系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操

作系统。为建立针对掌上设备、无线设备的动态应用程序**务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB 的ROM 。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM 或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows 一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。

三、嵌入式Linux

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

由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL ,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL ,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的开发工具,且都遵从GPL ,是开放源代码的。有庞大的开发人员群体。无需专门的人才,只要懂

Unix/Linux和C 语言即可。随着 Linux 在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网络功能,这在Internet 时代尤其重要。稳定——这是Linux 本身具备的一个很大优点。内核精悍,运行所需资源少,十分适合嵌入式应用。

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

四、μC/OS一Ⅱ

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

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

可固化;

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

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

多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法; 可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少; 实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。

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

五、QNX

由QNX 软件公司所开发的QNX 操作系统,也是一套类UNIX 的嵌入式操作系统,跟VxWorks 同样的,QNX 也是一套符合POSIX 规范的操作系统。

与VxWorks 同样发迹于1980年代的QNX ,其特殊之处,在于其并非采用传统的高阶硬件虚拟层方式设计,而是以非常细碎的tasks 形式来执行,由许多的微核心为基础组成完整的OS 服务,因此QNX 的硬件设计者可以自由的选择加载执行或不加载某些特定的服务,而不用去变更QNX 的核心程序部份。因此基于QNX 的嵌入式操作系统可以做到非常小的程度,而且依然可以具有相当高的效率与完整的菜单现。

QNX 操作系统核心仅包含了CPU 任务排程、进程间通讯、中断重导向以及定时器等部份,而除此之外包含驱动程序、档案系统堆叠协议以及使用者应用程序的所有程序都是属于在使用者阶段执行。QNX 操作系统有个相当特殊的Proc 阶段,专门负责程序process 的建立,以及存储器管理等交集在系统微核心中的组件。基本上,QNX 所有的组件都能透过消息传递这个函式来进行沟通,而具有良好定义的通讯机制,也能保障所有的组件都有完全独立且被保护的储存及执行空间。因此有问题的应用程序不会影响到其它组件的稳定性,发生问题的程序将会被自动终止并重新启动。

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

不过微核心RTOS 的架构除了优点以外,由于其process 间的讯息传递功能将会占用存储器频宽,影响到校能表现,因此在实际应用上,就必须采用特殊的最佳化手段,以避免掉讯息传递功能所带来的性能耗损。

虽然QNX 整间公司在2004年出售给Haman International Industries,但QNX 操作系统的发展脚步依旧没有停止,在国外,除了与各家国际汽车大厂合作,成为车用电子的主力操作系统以外,也获得相当多的航空公司与重要军事单位采用。而在2005年底,QNX 也与国内几家包含联电、Zinwell 等公司进行了合作,研华、控创等工业计算机厂商也都有针对这方面在发展。

六、Nucleus Plus

这款嵌入式操作系统主要特征就是轻薄短小,其架构上的延展性,可以让Nucleus RTOS所占的储存空间压缩到仅有13K 左右,而且Nucleus Plus是一款不需授权费的操作系统,并且提供了原始码。

Nucleus Plus本身只是Acclerated Technology公司完整解决方案里面的其中一环,这个RTOS 本身架构属于先占式多工设计,有超过95%的原始码是用标准的ANSI C语言所编写,因此可以非常有效率的移植到各种不同的平台。Nucleus Plus在CISC 架构处理器中,核心部份大约占去20KB 左右的储存空间,而在RISC 处理器上则是40KB 左右,核心资料结构仅占约1.5KB ,由于其即时回应、先占式多工、以及多process 并行,并且开放原始码等特性,在国防、工控、航天工业、铁路、网络、POS 、自动化控制以及信息家电等领域广泛受到应用。

就如同QNX 一般,Nucleus Plus也可以根据目标产品的需求,来自行剪裁所需要的系统功能,达到精简体积的目的。而配合相对应的编译器(Borland c/c++、Microsoft c/c++)以及动态连结程序库和各种底层驱动程序,在开发上拥有非常相当大的便利性。诸如飞思卡尔(Freescale )、罗技(Logitech )公司、美国NEC 、SK Telecom等公司,都有采用Nucleus Plus 嵌入式操作系统作为开发产品使用。

七、结束语

在嵌入式应用中,使用实时操作系统(RTOS )是当前嵌入式应用的一个特点,一种趋势,也是单片机应用从低水平向高水平的一个进步。在实际的应用中,根据不同的要求和条件选择合适的操作系统,使开发工作更容易,设计出更完美的嵌入式系统。


相关文章

  • 常见存储器概念辨析
  • 常见存储器概念辨析:RAM .SRAM .SDRAM .ROM .EPROM . (2009-09-27 01:18:02) 转载 标签: 分类: 名词解释 rom ram 概念辨析 存储器 杂谈 常见存储器概念辨析:RAM .SRAM . ...查看


  • 嵌入式工程师考试
  • 嵌入式工程师考试2007年12月21日 星期五 15:36一.考试说明 1.考试要求: (1)掌握科学基础知识: (2)掌握嵌入式系统的硬件.软件知识: (3)掌握嵌入系统分析的方法: (4)掌握嵌入式系统设计与开发的方法及步骤: (5)掌 ...查看


  • 嵌入式Linux工程师常见笔试题
  • 北京航天泰睿科技有限公司 嵌入式linux笔试题目 一. 简答题: 1. 请写出实现后面几个功能的Linux命令:显示文件,拷贝,删除 Ls ls -la: -l查看文件所有的信息,-a查看所有的文件,包括隐藏的文件. Cp /mnt/a. ...查看


  • 监控摄像头常见故障及维修
  • 1.云台的故障 一个云台在使用后不久就运转不灵或根本不能转动,是云台常见的故障.这种情况的出现除去产品质量的因素外,一般是以下各种原因造成的: (1)只允许将摄像机正装的云台,在使用时采用了吊装的方式.在这种情况下,吊装方式导致了云台运转负 ...查看


  • Linux经典书籍
  • 传人说:这几本书确实非常经典,自己也拿下了其中的三本,个人感觉是: <高级编程>虽然自己看过一遍,但由于是在培训的过程中,没有 有效深入,理解的还是不够深...等再看内核或者驱动的时候再回过头来翻翻看看吧 <人月神话> ...查看


  • 常见嵌入式笔试题
  • 常见入嵌笔试题式一( ) 1)将一字符串个序逆 代 : #码nclide&utlst;id.o>h inc#uled&lts;rtin.h≫ toiv s_badck(harc* a ) { niti=0 c;ha t ...查看


  • 存储器区别
  • 常见存储器概念辨析: RAM.SRAM.SDRAM.ROM.EPROM.EEPROM.Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据 ...查看


  • 为什么程序要在内存中运行
  • 一般情况下 一个程序默认存储方式是3个部分,代码段,数据段,还有零初始化段.代码段就是我们编写的程序源码,数据段就是程序中所用到的数据, 这个肯定是需要首先存放起来的否则从哪里来?零初始化段其实就是有些变量需要初始化为0,到底是那些变量的, ...查看


  • 数字水印系统的鲁棒性和常见的攻击
  • 第 3 卷第 1 期 2002 年 2 月 空 军 工 程 大 学 学 报 (自然科学版) J OU R NAL O F A I R FORCE EN GIN EER I N G U N IV ERSI T Y ( N A TU R AL ...查看


热门内容