基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计.doc
《基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计.doc》由会员分享,可在线阅读,更多相关《基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计.doc(6页珍藏版)》请在三一文库上搜索。
1、基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计1前言如何将构件技术成功地应用到嵌入式操作系统开发中得到越来越多的重视。现有的工作大部分着重于从结构的角度分解系统成若干构件,并重用构件。实际嵌入式实时系统的处理器资源和内存资源是有限的,同时系统还有实时性需求。另外,当前成熟的实时调度算法都是基于任务模型分析系统的可调度性。所以,在嵌入式实时系统中应用构件技术时,还需要研究如何从时间(运行)的角度将构件映射成任务,以及为底层构件化嵌入式实时操作系统选择合适的调度算法。本文首先分析了现有构件化嵌入式操作系统的特点,着重分析了TinyOS1的调度内核。通过仿真实验比较了抢占阈值(简称PT)
2、调度算法2、非抢占式(简称NP)调度算法和FIFO调度方式的性能,证明了当任务之间无共享资源时,抢占阈值调度算法适合作为构件化嵌入式操作系统的实时调度算法。之后,本文论述了嵌入式实时系统对构件模型的需求,提出了一种构件模型。通过分析比较现有的映射方式,提出了一个将构件映射成任务的方式和一种设计方法。2适合构件化嵌入式操作系统的调度算法首先定义单处理器静态优先级实时系统的任务模型,定义G=t1,t2,tn为一个包含n个相互独立的周期性或者偶发性(sporadic)任务的集合,集合中的任务用TI=(TI,Ci,Di)(i=1,2,n)表示,其中,TI表示TI的周期(对于偶发性任务就是最小到达间隔)
3、,Ci表示ti的最坏情况执行时间,Di表示ti的相对截止期。我们假定大的数值表示高的优先级,对于集合G,最小的优先级是1,最大的优先级是n。周期任务的一次执行,称作任务的一个实例。任务实例从进入系统到结束执行所用的时间称作实例的响应时间(responsetime)。在一个系统的整个运行过程中,任务的最坏情况响应时间等于其所有实例中最大的响应时间。2.1TinyOS存在的问题当前的构件化嵌入式操作系统主要有TinyOS和Echidna5两种。TinyOS是为无线传感器网络(WirelessSensorNetwork,简称WSN)开发的构件化嵌入式操作系统,适用于内存资源和处理能力有限,电池供电的
4、嵌入式系统。其内核支持两级调度,任务按照FIFO的方式执行,目的是减少对内存的使用量,但造成系统实时性差。Echidna与TinyOS一样使用FIFO的方式调度任务,因此存在相同的缺点。V.Subramonian等人在文献6中研究了FIFO调度方式对TinyOS系统性能的影响。在使用TinyOS的系统中,当需要处理的数据量较大时,如果超过其计算能力,则会出现过载(overload)现象。处理过载的较好方式一般是保证关键任务的执行,放弃非关键任务。而FIFO调度方式不能做到这一点,因为这种方式无法区分关键任务和非关键任务。下面通过分析TinyOS对通信数据包的处理来说明其缺点。发送数据包由应用层
5、产生并传递给底层发送构件,当成功发送后,后者会触发一个任务实例来通知应用层发送完毕。应用层在收到这一事件之前将一直等待,不能继续发送数据。即,只有通知任务实例得到执行,应用层才能继续发送数据。如果TinyOS当前需要处理的数据量较大,有较多的任务实例需要执行,则通知任务实例会排在FIFO队列的最后,等到前面的任务实例执行完才得以执行。这样就延缓了发送数据的过程,降低了通信数据包的吞吐量。在极端情况下,其它任务实例会将整个FIFO队列占满,通知任务实例到达时会被调度内核放弃,造成应用层发送数据的终止。从无线信道接收数据时同样会出现这种情况。文献6中提出了一种改进措施,给任务分配优先级,将调度内核
6、升级为优先级驱动的非抢占式调度。这样与FIFO调度方式相比,能提高任务集合的可调度性,但仍会出现任务集合不可调度的情况。2.2抢占阈值调度算法适合构件化嵌入式操作系统利用抢占阈值进行任务调度时,不但给集合G中的任务ti分配任务优先级pi1,2,n,还分配抢占阈值gi,并且pigi,即,gipi,n。这样就实现了一个双优先级系统。其中的pi用于抢占其它的任务,而gi是任务运行中的有效优先级。如果当前正在运行的任务是ti,那么对于就绪任务tj,必须有pjgi,tj才能抢占ti。对于周期任务ti,每次开始执行后,其优先级将从pi提升为gi,执行完后,优先级再从gi下降为pi。当任务的抢占阈值等于其任
7、务优先级时,就是抢占式调度;当任务的抢占阈值是系统最高优先级时,就是非抢占式调度。所以抢占调度和非抢占调度是使用抢占阈值调度模型的两个特例。实际中,抢占阈值调度能同时利用抢占式调度和非抢占式调度的优点,通过调节任务抢占阈值,减少不必要的任务抢占,提高整个任务集合的可调度性。能运行抢占和非抢占式调度算法都不能调度的任务集合2。在文献3描述的仿真环境下,抢占阈值调度算法与抢占式调度算法相比,处理器利用率提高15%-20%。抢占阈值调度模型中,任务集合被分割成数目很少的非抢占组(Non-PreemptiveGroup,简称NPG)。组内任务之间是非抢占的,能共享一个栈空间,减少了任务集合对内存资源的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 实时 系统 提高 构件 操作系统 性能 方案设计
链接地址:https://www.31doc.com/p-3417453.html