没有合适的资源?快使用搜索试试~ 我知道了~
首页4 种实时操作系统实时性的分析对比
资源详情
资源评论
资源推荐

4 种实时操作系统实时性的分析对比种实时操作系统实时性的分析对比
20世纪70年代以来嵌入式系统的硬件和软件技术的飞速进步,使得嵌入式应用得到了蓬勃发展,在这些应用中
实时操作系统起着决定性的作用。
20世纪70年代以来嵌入式系统的硬件和软件技术的飞速进步,使得嵌入式应用得到了蓬勃发展,在这些应用中实时操作系统
起着决定性的作用。
在复杂测控应用中,必须使用对实时性要求非常高的实时操作系统。例如在工业控制、交通管理、机器人、航空航天、武器装
备等领域,系统事件的响应如果不能准时或超时,就可能导致巨大的损失和灾难。因而,选择操作系统时,对实时性的仔细考
虑至关重要。本文从实时性的角度细致的分析对比了适用于此类有苛刻实时性要求的4 种操作系统—— VxWorks、uC/OS II、
RT-Linux、QNX,为系统选型提供一定参考。
实时性能主要实现技术
实时操作系统的实时性是第一要求,需要调度一切可利用的资源完成实时任务。根据响应时间在微秒、毫秒和秒级的不同,可
分为强实时、准实时和弱实时三种。强实时系统必须是对即时的事件作出反应,绝对不能错过事件处理时限。例如测控领域就
是要求强或接近强实时系统。在机顶盒、PDA、信息家电等应用领域,系统负荷较重的时候,允许发生错过时限的情况而且
不会造成太大的危害,准和弱实时系统就可满足应用。一个强实时的操作系统通常使用以下技术:
占先式内核
当系统时间响应很重要时,要使用占先式内核。当前最高优先级的任务一旦就绪,总能立即得到CPU 的控制权,而CPU 的控
制权是可知的。使用占先式内核使得任务级响应时间得以最优化。 调度策略分析
任务调度策略是直接影响实时性能的因素。强实时系统和准实时系统的实现区别主要在选择调度算法上。选择基于优先级调度
的算法足以满足准实时系统的要求,而且可以提供高速的响应和大的系统吞吐率。当两个或两个以上任务有同样优先级,通常
用时间片轮转法进行调度。对硬实时系统而言,需要使用的算法就应该是调度方式简单,反应速度快的实时调度算法了。尽管
调度算法多种多样,但大多由单一比率调度算法(RMS)和最早期限优先算法(EDF)变化而来。前者主要用于静态周期任务的调
度,后者主要用于动态调度,在不同的系统状态下两种算法各有优劣。在商业产品中采用的实际策略常常是各种因素的折中。
任务优先级分配
每个任务都有其优先级。任务越重要,赋予的优先级应越高。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。
在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。反之,应用程序执行过程中,任务的优先级是可变
的,则称之为动态优先级。 时间的可确定性
强实时操作系统的函数调用与服务的执行时间应具有可确定性。系统服务的执行时间不依赖于应用程序任务的多少。系统完成
某个确定任务的时间是可预测的。
表1 实时嵌入式系统所使用技术的异同 Vxworks uC/OS II RT-Linux2.0 QNX6 供应商 Wind River Micrium FSMlabs Quanturm
占先式内核 是 是 是 是 调度算法 优先级时间片轮转 优先级 优先级
最短时限优先 优先级
先进先出循环式 优先级分配 动态 动态 静态(默认) 动态 优先级继承 是 无 非 是 优先级数 256 64 不限 32 时间确定性 是 是 是
是
实时性能重要指标
衡量实时操作系统实时性能的重要指标有:
任务切换时间
当多任务内核决定运行另外的任务时,它把正在运行任务的当前状态(即CPU 寄存器中的全部内容)保存到任务自己的栈区之
中。然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU 的寄存器,并开始下一个任务的运行。这个过程
就称为任务切换。做任务切换所需要的时间取决于CPU 有多少寄存器要入栈。CPU 的寄存器越多,额外负荷就越重。 中断响
应时间(可屏蔽中断)
计算机接收到中断信号到操作系统作出响应,并完成切换转入中断服务程序的时间。对于占先式内核,要先调用一个特定的函
数,该函数通知内核即将进行中断服务,使得内核可以跟踪中断的嵌套。占先式内核的中断响应时间由下式给出:
中断响应时间=关中断的最长时间
+保护CPU 内部寄存器的时间
+进入中断服务函数的执行时间
+开始执行中断服务例程(ISR)的第一条指令时间
中断响应时间是系统在最坏情况下响应中断的时间,某系统100次中有99次在50ms之内响应中断,只有一次响应中断的时间


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0