常用嵌入式操作系统

嵌入式操作系统与通用的操作相比较主要特点在于:
  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),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。
  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一Ⅱ

 五、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)是当前嵌入式应用的一个特点,一种趋势,也是单片机应用从低水平向高水平的一个进步。在实际的应用中,根据不同的要求和条件选择合适的操作系统,使开发工作更容易,设计出更完美的嵌入式系统。
  μC/OS一Ⅱ是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位,16位和32位单片机或数字信号处理器(DSP)。它是在原版本μC /OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。它的主要特点如下:
  公开源代码,容易就能把操作系统移植到各个不同的硬件平台上;
  可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上;
  可固化;
  可裁剪性,有选择的使用需要的系统服务,以减少斗所需的存储空间;
  占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务;
  多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法;
  可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少;
  实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-10 06:09:18

常用嵌入式操作系统的相关文章

嵌入式操作系统Palm webOS该怎么操作

现今随便逛逛各大科技博客.资讯网站,关于iOS.Android.wp7几个时下主流移动操作系统的消息铺天盖地,如若再赶上新产品的发布,那更是风头一时无两.前有Google I/O大会和android 3.1版本的正式推出,今有WWDC大会和iOS5的发布,思来想去打算聊点"小资"的."非主流"的,所以今天就来聊聊webOS的故事. 对于很多人来说webOS还是个陌生的事物,但如果我们提到Palm,很多就会恍然大悟,"哦,原来是他", 对,就是他,

vps上常用的操作系统选择问题

vps上常用的操作系统是linux(有多种发行版).freeBSD,windows server等.一般来说,vps的操作系统不是自由安装的,linux系列vps可以安装多个linux发行版,但不能装windows;相对,windows系列vps也不能改装linux. 这点在购买时要首先考虑,根据你的需求确定买哪种vps 笔者强烈推荐使用linux: linux效率高,对硬件配置要求低;安全性高;不需要运行图形界面.可以自由精简不必要的功能.节约下来的系统资源用来跑应用;丰富多样的网络应用软件,

实时性-请问有哪几款嵌入式操作系统用于商用时是免费的,像ucos-ii这类收费的操作系统又是怎么收费的呢?

问题描述 请问有哪几款嵌入式操作系统用于商用时是免费的,像ucos-ii这类收费的操作系统又是怎么收费的呢? 1.请问有那几款嵌入式操作系统用于商用时是免费的? 2.像ucos-ii这类收费的操作系统又是怎么收费的呢? 3.现在市场上应用于商业的实时性操作系统和非实时性操作系统主要有哪些呢? 这关乎到我未来要学什么操作系统,希望大虾们能帮我解答,感激不尽~~!!! 4.还有,我还想问下有哪几款嵌入式GUI用于商业是免费的,现在市场上的嵌入式系统一般用的是什么GUI? 解决方案 ucosii好像是

嵌入式操作系统风云录:历史演进与物联网未来.

嵌入式操作系统风云录: 历史演进与物联网未来 何小庆 著 图书在版编目(CIP)数据 嵌入式操作系统风云录:历史演进与物联网未来 / 何小庆著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-55085-3 Ⅰ. 嵌-   Ⅱ. 何-   Ⅲ. 实时操作系统   Ⅳ. TP316.2 中国版本图书馆CIP数据核字(2016)第248216号 本书全面回顾了嵌入式操作系统的演进历史,主流的嵌入式操作系统的技术特点.成长历程以及背后的商业故事,展望了嵌入式操作系统未来的技术路

嵌入式操作系统风云录:历史演进与物联网未来第2章 Chapter2

第2章 Chapter2 嵌入式操作系统的历史 20世纪70年代末,嵌入式操作系统商业产品开始在北美出现,20世纪90年代末嵌入式OS的数量呈井喷式增加,最鼎盛的时候有数百种之多,即使经过30多年的发展和淘汰,现在嵌入式OS依然有数十种之多.最早的嵌入式操作系统是实时多任务操作系统(RTOS)内核,支持8位和16位微处理器,它初期使用汇编和PLM语言编程,后来支持C和Ada.本章讲述了RTOS发展历史中几个重要产品背后的故事. VRTX:嵌入式操作系统的开拓者 最早出现的商业嵌入式操作系统当属V

嵌入式系统-嵌入式操作系统移植问题

问题描述 嵌入式操作系统移植问题 利用k60开发的时候可以移植哪些操作系统,我们所说的移植操作系统是为每一个工程移植操作系统?还是在板子上跑另外一个工程的时候可以移植另外的操作系统.另外移植操作系统的时候是不是就是在工程里面添加下载的系统代码,求大神指教! 解决方案 嵌入式系统一般都是linux内核,也有wince等等.移植说的是,你在一个平台上跑的程序可以换到另一个平台跑,比方,程序之前是windows的,后来又在linux上跑,这就是移植.操作系统哪里什么移植,无非是把内核裁剪,让硬件较差的

基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念

1引言 嵌入式系统定义义为:嵌入到对象体系中的专用计算机系统."嵌入性"."专用性"与"计算机系统"是嵌入式统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统.目前,随着高端消费类电子产品(如PDA.手机.智能家电)的普及,嵌入式计算机系统获得了相当广泛的应用.  操作系统在嵌入式软件体系中占据着重要低位,学习和掌握相关的知识是一名嵌入式系统研发人员的必须. 1.1本文的读者对象与写作目的 本文针对的读者对象为入门级的嵌入式系统软件开发人

嵌入式操作系统---重点知识

嵌入式系统的特点:1. 精简内存空间  2.待机时间长  3.可与外界设备连接  4.动态加载应用程序  5.网络通信 嵌入式处理器分类:1.嵌入式微处理器  2.嵌入式微控制器  3.嵌入式DSP处理器  4.嵌入式片上系统 MIPS:即"无内部互锁流水级的微处理器",其机制是尽量利用软件办法避免流水线中的数据相关问题. ARM处理器:ARM处理器既是一个公司名字,也是一类微处理器的统称,还是一种技术的名字.ARM处理器主要用于工业控制.无线通信.网络应用.消费类电子产品.成像和安全

嵌入式操作系统能提高代码可移植性吗?

问题描述 嵌入式操作系统能提高代码可移植性吗? 同一个平台,从高级芯片到低级芯片转移都这么麻烦,何况不同平台之间的转移.编写可移植的的代码是很重要的.嵌入式操作系统能够提高可移植性? 解决方案 不同平台,不同系统的嵌入代码,没什么可移植性. 当然,和写代码的人有关,像一些开源的项目,基本上不修改或很少的修改就可以跨平台的. 但这只是软件,而不是嵌入式系统.系统的代码,移植性不高! 解决方案二: 可移植性有几个层次: 源代码的可移植性(不修改源代码,或者只修改很少的代码就可以移植到另一个平台) A