如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第2期通信对抗No.22005年C0MMUNICAT10NC0UNTERMEASURES20D5浅析实时操作系统的任务调度孙旭祥中国电子科技集团公司第三十六研究所(嘉兴314001)摘要:主要描述实时操作系统的任务调度。实时操作系统在嵌入式设备中得到了广泛的应用,为充分发挥实时操作系统功能,有必要了解其运行机制。uC/OS—II和eCos是两个公开源代码的实时操作系统,本文对它们任务调度核心进行了实例剖析。关键词:实时;任务调度;uC/OS—II;eCosAnAnalysisofTaskSchedulingofaReal-timeOperatingSystemSunXu——xiangⅣ0.36ResearchInstituteofCETC(Jiaxing314001)Abstract:Thispapermainlydescribesthetaskschedulingofareal—timeoperatingsystem,whichiswidelyusedinembeddedequipment.Itisnecessarytounderstandtheoperationmechanisminordertomakefulluseofthefunctionsofareal—timeoperatingsystemuC/OS—IIandeCosaretWOreal—timeoperatingsystemswhosesourcecodesareopenThispaperpresentedananalysisoftaskschedulingofareal—timeoperatingsystemwithafewexamplesKeywords:RealTime;Taskschedule;uC/OS-II;eCOS1引言后者意味着执行过程不但必须正确而且必须准时。在实时操作系统中,系统将程序分成许多任务(或进程),而在电子对抗系统中使用的单机设备,很少有不使用每个任务的行为都预先可知,或者是有明确的功能,系MCU(或DSP)的,随着MCU可用资源的增多,以及系统统根据一定的调度原则,决定谁可取得执行权,这就是的需求越来越高,尤其是对实时性要求越来越苛刻,设RTOS的核心所在。计师不得不把目光转向RTOS。那么RTOS的核心是怎3实时调度样的,它又是怎样实现其实时响应的?在实时操作系统中任务通常有三种状态,运行态、2实时操作系统概述阻塞态、就绪态,有的还有挂起状态等,如图1所示。对一般的程序来说,大多数是考虑指令执行的逻辑RTOS同通用OS的不同关键在于其任务的实时调顺序,指令何时执行并不重要。而对实时应用系统的程度。实时调度算法的特征可用下面的几个参数表示:序就不一样,当外部某激励出现时,系统必须以一定的①硬实时与软实时;方式和在限定的时间内响应它,如果已超时,那怕执行②抢占的与非抢占的;结果是正确的,系统也认为是失效的。③动态的与静态的;实时操作系统通常被分为软实时操作系统和硬实④集中的与分散的。时操作系统。前者意味着偶尔错过时限是可以容忍的;硬实时必须保证时限满足,显然在电子对抗设备中·48·通信对抗2005年应主要考虑硬实时。有三个著名的动态调度算法。经典的算法是发生率单调算法(Liu和Layland,1973o该算法事先为每个进程分配一个与事件发生频率成正比的优先级。例如,周期为20ms的进程优先级为5O,而周期为100ms的进程为1O。运行时,调度程序总是选择优先级最高的任务运行,必要时暂停当前任务;另一种实时调度是最早截止优先算法,也即earliestdeadlinefirst,当事件发生时,对应的任务加到就绪队列中,最近期限的在最前面,该队列按此算法进行排序,调度程序根据此队列选择第一个任务运行;第三种算法首先计算各进程的富余时间图1系统内部任务状态队列(Laxity),如果一个进程需要运行200ms,而它还需非抢占式调度运行每个任务直到完成,其优点在于150ms,则余度为5O,此算法叫最少余度算法,即选择余中断等待时间通常比较低,并且通过使用信号量,可以度最小的进程运行。少考虑共享数据的保护问题,但有一个缺点,响应时间集中和分散算法特征主要用于多处理器情况中,对慢,任务的响应时间由最长的任务确定,实时性不如抢于单板单处理器可以不予考虑。占式的调度机制,故很少有商业内核系统采用非占先式多样的应用需求,迫使上述特征在实时系统中有不调度机制。抢占式调度允许更高优先级的任务到来时,同的体现,亦决定了任务调度策略是多种多样的。现列暂时挂起当前的任务,以后在没有更高优先级的任务要举常见的