嵌入式实时操作系统(共9页)_第1页
嵌入式实时操作系统(共9页)_第2页
嵌入式实时操作系统(共9页)_第3页
嵌入式实时操作系统(共9页)_第4页
嵌入式实时操作系统(共9页)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上嵌入式实时操作系统嵌入式实时操作系统(Embedded Real-time Operation System,RTOS)。1 嵌入式实时操作系统概念当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的。2 嵌入式实时操作系统特点1)多任务; 2)有线程优先级 3)多种中断级别3 嵌入式实时操作系统应用 在工业控制、 军事设备、 航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用。采用嵌入式(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同

2、时能够提高系统的稳定性和可靠性。4 实时操作系统的必要性:首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。实时操作系统的优缺点 :在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的 ROM/RAM 开销, 25% 的 CPU 额外负荷,以及内核的费用。5 实时系统与非实时系统的根本区

3、别 实时系统与非实时系统的根本区别在于:实时系统具有与外部环境及时交互作用的能力。也就是说实时系统从外部获取信息以及系统得出结论要在很短的限制时间内完成。它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等。实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能

4、得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现。分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看出,分时操作系统注重平均表现性能,不注重个体表现性能。6 uC/OS II uC/OS-II是一个简洁、易用的基于优先级的嵌入式抢占式多任务实时内核。uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,

5、具有高度可移植性,特别适合于微处理器和控制器,是和很多操作系统性能相当的实时操作系统(RTOS)。uC/OS II最大程度上使用ANSI C语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。采用基于ARM9的S3C2410嵌入式微处理,可以使系统具备高性能的运算能力的同时便于与各种外设连接扩展,简化了硬件设计,维持小型化的同时降低了系统成本。uC/OS II作为一个源代码公开的操作系统,在具体应用中稳定可靠,并且支持

6、uIP栈、ucGUI等,可扩展性强,功能强大。本系统采ARM9+uC/OS II开发设计,具有精度高、运行稳定、实时性好、抗干扰能力强、性价比高的特点,可以在各种工业场合中广泛应用,达到了设计的初衷 C/OS-II作为一个嵌入式实时操作系统,自1992年以来,因其源代码的完全公开和优越性能,已为众多的爱好者和开发人员所了解并得到了广泛应用。7 uC/OS II优缺点具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。公开源代码:实时性强uC/OS-II主要用于小CPU,Vxworks用于高性能CPU,低端的CPU虽然可以裁减使用,但已经没有意义了,就等于拿大炮打蚊子。1、在统计趋势上,

7、uC/OS是否会越来越广泛?2、据说开发uC/OS的公司Micrium是个小公司,该公司的商业模式是否能确保其一直活下去并发展起来?3、在工业控制方面,uc/OS对比vxworks有什么优缺点?4、uc/OS是否有类似linux的开源社区?5、总体开发维护支持成本,uC是否相对Vxworks有优势?6.uC的kernel和其它功能模块(FS,TCPIP)的集成,是否简单方便,对性能是否有影响?7.driver的获取是否容易?1. 在小芯片使用uC/OS-II肯定是一个趋势;    2. Micrium是个小公司,肯定能够活下去,因为购

8、买版权的公司会越来越多,关键是便宜;    3. Vxworks当然优势更多,请咨询原厂更准确,应用的领域更广泛,很多高可信项目都使用了,但需要付更多银子;    4. uC/OS-II北航出版社有图书带光盘源代码,用于商业需要付费购买;    5. 差不多!其前提是全购买正版,当然Vxworks还是要强一些,而对于我们公司来说差不多;    6. 简约不简洁;   

9、 7. 自己搞定。 uC/ OS-II的源代码可以免费获得, 只对商业应用收取少量许可证费, 可以大大降低开发成本。同时, 由 于源码公开, 开发者遇到问题时可方便的通过 工 n t e r n e t进行交流, 获得广泛的技术支持。但与商业实时操作系 统相比, 在开发套件和技术支持方面还比较欠缺, 软件包的功能还不是特别强大, 有些驱动程序需要用户自己编写。优先级设置    嵌入式操作系统支持多任务,每个任务都具有优先级,任务越重要,赋予的优先级应越高。多任务调度机制基于优先级抢占式调度:系统中每个任务都有一个优先级,内核总是将CP

10、U分配给处于就绪态的优先级最高的任务运行。时间片轮转调度:让优先级相同的处于就绪状态的任务按时间片使用CPU,以防止同优先级的某一任务长时间独占CPU。    在一般情况下,嵌入式实时操作系统采用基于优先级抢占式调度与时间片轮转调度相结合的调度机制。时间的可确定性COS-II内核是针对实时系统的要求设计实现的,只支持基于固定优先级抢占式调度;调度方法简单,可以满足较高的实时性要求。任务及中断间的同步与通信机制具有灵话的任务间同步与通信机制,都可以通过信号量、消息队列来实现同步与通信内存管理    C/OS-II把连续的大块内

11、存按分区来管理,每个分区中都包含整数个大小相同的内存块,但不同分区之间内存的太小可以不同。用户动态分配内存时,只须选择一个适当的分区,按块来分配内存,释放时将该块放回到以前所属的分区,这样就消除了因多次动态分配和释放内存所引起的碎片问题。Clinux的中断管理    Clinux操作系统将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。文件系统COS-II是面向中小型嵌入

12、式系统的,即使包含全部功能,编译后内核也不到10 KB,所以系统本身并没有提供对文件系统的支持。但是COS-II具有良好的扩展性能,如果需要也可自行加入文件系统的内容。Clinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。对硬件的支持COS-II支持从8位到32位的CPU,由于本身内核就很小,经过裁剪后的代码最小可以分别为2 KB和10 KB,所需的最小数据RAM空间分别为4 KB和10 KB。总的来说系统对硬件的要求比较低,比较经济。系统移植COS-II的移植相对比较简单,只需要修改与处理器相关的代码就可以了。结论COS-II是

13、一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,适合于广大的嵌入式系统开发人员和爱好者入门学习,以及高校教学和科研。COSII很适合开发那些对系统要求不是很苛刻,且RAM和ROM有限的各种小型嵌入式系统设备。8 实时操作系统的相关概念(1)基本概念代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;资源:任何为任务所占用的实体;共享资源:可以被一个以上任务使用的资源;任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态

14、,挂起态,被中断态;任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核于可剥夺型内核;调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;(2)关于优先级的问题任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务后运行。解决的办法是使

15、用“优先级继承”算法来临时改变任务优先级,以遏制优先级反转。(3)互斥虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量。因为采用实时操作系统的意义就在于能够及时处理各种突发的事件,即处理各种中断,因而衡量嵌入式实时操作系统的最主要、最具有代表性的性能指标参数无疑应该是中断响应时间了。中断响应时间通常被定义为:中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间。中断延迟时间=MAX(关中断的最长时间,最长指令时间) + 开始执行I

16、SR的第一条指令的时间。一、freeRTOS比uCOS II优胜的地方:1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用23K也可以跑的很好。2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。3。freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII 每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。4。freeRTOS 是在商业上免

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论