嵌入式实时操作系统1
更新时间:2024-03-26 12:57:01 阅读量: 综合文库 文档下载
- 嵌入式实时数据库推荐度:
- 相关推荐
嵌入式实时操作系统
嵌入式实时操作系统(Embedded Real-time Operation System,RTOS)。
1 嵌入式实时操作系统概念
当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
2 嵌入式实时操作系统特点
1)多任务; 2)有线程优先级 3)多种中断级别
3 嵌入式实时操作系统应用
在工业控制、 军事设备、 航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。
采用嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。
4 实时操作系统的必要性:
首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。 实时操作系统的优缺点 :
在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的 ROM/RAM 开销, 2~5% 的 CPU 额外负荷,以及内核的费用。
5 实时系统与非实时系统的根本区别
实时系统与非实时系统的根本区别在于:实时系统具有与外部环境及时交
互作用的能力。也就是说实时系统从外部获取信息以及系统得出结论要在很短的限制时间内完成。
它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等。
实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现。
分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看出,分时操作系统注重平均表现性能,不注重个体表现性能。
6 uC/OS II
uC/OS-II是一个简洁、易用的基于优先级的嵌入式抢占式多任务实时内核。
uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。
uC/OS II最大程度上使用ANSI C语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。
主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。
采用基于ARM9的S3C2410嵌入式微处理,可以使系统具备高性能的运算能力的同时便于与各种外设连接扩展,简化了硬件设计,维持小型化的同时降低了系统成本。uC/OS II作为一个源代码公开的操作系统,在具体应用中稳定可靠,并且支持uIPTCP/IP协议栈、ucGUI等,可扩展性强,功能强大。本系统采ARM9+uC/OS II开发设计,具有精度高、运行稳定、实时性好、抗干扰能力强、性价比高的特点,可以在各种工业场合中广泛应用,达到了设计的初衷 μC/OS-II作为一个嵌入式实时操作系统,自1992年以来,因其源代码的完全公开和优越性能,已为众多的爱好者和开发人员所了解并得到了广泛应用。
7 uC/OS II优缺点
具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。 公开源代码: 实时性强
uC/OS-II主要用于小CPU,Vxworks用于高性能CPU,低端的CPU虽然可以裁减使用,但已经没有意义了,就等于拿大炮打蚊子。
1、在统计趋势上,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是个小公司,肯定能够活下去,因为购买版权的公司会越来越多,关键是便宜;
3. Vxworks当然优势更多,请咨询原厂更准确,应用的领域更广泛,很多高可信项目都使用了,但需要付更多银子;
4. uC/OS-II北航出版社有图书带光盘源代码,用于商业需要付费购买; 5. 差不多!其前提是全购买正版,当然Vxworks还是要强一些,而对于我们公司来说差不多; 6. 简约不简洁; 7. 自己搞定。
uC/ OS-II的源代码可以免费获得, 只对商业应用收取少量许可证费, 可以大大降低开发成本。同时, 由 于源码公开, 开发者遇到问题时可方便的通过 工 n t e r n e t进行交流, 获得广泛的技术支持。但与商业实时操作系 统相比, 在开发套件和技术支持方面还比较欠缺, 软件包的功能还不是特别强大, 有些驱动程序需要用户自己编写。
优先级设置
嵌入式操作系统支持多任务,每个任务都具有优先级,任务越重要,赋予
的优先级应越高。
多任务调度机制
基于优先级抢占式调度:系统中每个任务都有一个优先级,内核总是将CPU分配给处于就绪态的优先级最高的任务运行。
时间片轮转调度:让优先级相同的处于就绪状态的任务按时间片使用CPU,以防止同优先级的某一任务长时间独占CPU。
在一般情况下,嵌入式实时操作系统采用基于优先级抢占式调度与时间片轮
转调度相结合的调度机制。
时间的可确定性
μC/OS-II内核是针对实时系统的要求设计实现的,只支持基于固定优先级抢占式调度;调度方法简单,可以满足较高的实时性要求。
任务及中断间的同步与通信机制
具有灵话的任务间同步与通信机制,都可以通过信号量、消息队列来实现同步与通信
内存管理
μC/OS-II把连续的大块内存按分区来管理,每个分区中都包含整数个大小
相同的内存块,但不同分区之间内存的太小可以不同。用户动态分配内存时,只须选择一个适当的分区,按块来分配内存,释放时将该块放回到以前所属的分区,这样就消除了因多次动态分配和释放内存所引起的碎片问题。
μClinux的中断管理
μClinux操作系统将中断处理分为两部分:顶半处理和底半处理。在顶半
处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。
文件系统
μC/OS-II是面向中小型嵌入式系统的,即使包含全部功能,编译后内核也不到10 KB,所以系统本身并没有提供对文件系统的支持。但是μC/OS-II具有良好的扩展性能,如果需要也可自行加入文件系统的内容。μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。
对硬件的支持
μC/OS-II支持从8位到32位的CPU,由于本身内核就很小,经过裁剪后的代码最小可以分别为2 KB和10 KB,所需的最小数据RAM空间分别为4 KB和10 KB。总的来说系统对硬件的要求比较低,比较经济。
系统移植
μC/OS-II的移植相对比较简单,只需要修改与处理器相关的代码就可以了。
结论
μC/OS-II是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,适合于广大的嵌入式系统开发人员和爱好者入门学习,以及高校教学和科研。μC/OSII很适合开发那些对系统要求不是很苛刻,且RAM和ROM有限的各种小型嵌入式系统设备。
8 实时操作系统的相关概念
(1)基本概念
代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;
资源:任何为任务所占用的实体;
共享资源:可以被一个以上任务使用的资源;
任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态,挂起态,被中断态;
任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;
内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核于可剥夺型内核;
调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;
(2)关于优先级的问题
任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;
优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务后运行。解决的办法是使用“优
先级继承”算法来临时改变任务优先级,以遏制优先级反转。 (3)互斥
虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量。
因为采用实时操作系统的意义就在于能够及时处理各种突发的事件,即处理各种中断,因而衡量嵌入式实时操作系统的最主要、最具有代表性的性能指标参数无疑应该是中断响应时间了。中断响应时间通常被定义为:
中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间。
中断延迟时间=MAX(关中断的最长时间,最长指令时间) + 开始执行ISR的第一条指令的时间。
一、freeRTOS比uCOS II优胜的地方:
1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。
2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
3。freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII 每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。
4。freeRTOS 是在商业上免费应用。uCOS在商业上的应用是要付钱的。 二、freeRTOS 不如uCOS的地方:
1。比uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores,
Mutex。 uCOS除这些外,还支持Flag, MailBox.
2。uCOS的支持比freeRTOS 多。除操作系统外,freeRTOS只支持TCPIP, uCOS则有大量外延支持,比如FS, USB, GUI, CAN等的支持
3。uCOS可靠性更高,而且耐优化,freeRTOS 在我设置成中等优化的时候,就会出问题。
正在阅读:
嵌入式实时操作系统103-26
消防安全教育教案01-29
proe考试试题及答案09-09
幼儿园公益系列活动方案07-10
物探钻机项目投资计划07-08
政府公共关系试题08-09
10套题06-30
15203主辅回撤通道掘进规程03-15
重大事项社会稳定风险评估工作方案05-29
翻译理论与实践(2008)09-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 嵌入式
- 实时
- 操作系统
- 计算题
- 加油站员工作心得体会
- 五层宿舍楼毕业设计计算书
- 格高韵远的北宋词(一)学案设计(高二选修)
- 《桃花源记》初三复习资料
- 新编英语语法教程 第19-20讲 练习参考答案
- 针灸推拿治疗颈椎病200例临床观察
- 《财政与税收》作业集答案
- 2018年中国互联网保险行业分析与调研报告目录
- 三德三观三义活动记录
- 与挫折一起走过的日子作文
- 当前我国民族宗教工作形势分析教案
- 2017-2018学年江西省九江市瑞昌市九年级(下)第一次月考数学试
- 浅谈数学课堂教学导入的途径和方法
- 计算机二级office题目
- 滨州城区基准地价报告(验收后修改版)
- B5 M1-2词转和造句
- 理想的风筝课堂实录
- 41016#楼工程竣工监理质量评估报告 - secret
- 高三地理高考第一轮单元复习 农业生产活动 3 - 图文