| 价格 | 564.00元 |
|---|---|
| 区域 | 福建省 |
| 来源 | 厦门光沃自动化设备有限公司 |
详情描述:
FBM213
FBM213
抢占阈值调度算法适合构件化嵌入式操作系统
利用抢占阈值进行任务调度时,不但给集合G中的任务ti分配任务优先级piÎ[1,2,…,n],还分配抢占阈值gi,并且pi£gi,即,giÎ[pi,…,n]。这样就实现了一个双优先级系统。其中的pi用于抢占其它的任务,而gi是任务运行中的有效优先级。如果当前正在运行的任务是 ti,那么对于就绪任务tj,必须有pj>gi, tj才能抢占ti。对于周期任务ti,每次开始执行后,其优先级将从pi提升为gi,执行完后,优先级再从gi下降为pi。
当任务的抢占阈值等于其任务优先级时,就是抢占式调度;当任务的抢占阈值是系统高优先级时,就是非抢占式调度。所以抢占调度和非抢占调度是使用抢占阈值调度模型的两个特例。实际中,抢占阈值调度能同时利用抢占式调度和非抢占式调度的优点,通过调节任务抢占阈值,减少不必要的任务抢占,提高整个任务集合的可调度性。能运行抢占和非抢占式调度算法都不能调度的任务集合[2]。在文献[3]描述的仿真环境下,抢占阈值调度算法与抢占式调度算法相比,处理器利用率提高15%-20%。抢占阈值调度模型中,任务集合被分割成数目很少的非抢占组(Non-Preemptive Group,简称NPG)。组内任务之间是非抢占的,能共享一个栈空间,减少了任务集合对内存资源的消耗。在文献[4]的仿真环境下,当任务大周期为100时,平均100个任务被分割成 14.3个NPG。
在构件化嵌入式操作系统的应用环境中,希望能在提高任务集合可调度性的同时,使用尽可能少的内存资源。根据这一要求,本文提出了在实时调度内核中使用抢占阈值调度算法。为了说明该算法较其它调度算法更适于构件化嵌入式操作系统,提出了如下的指标,以比较各种算法的性能:非抢占式调度中,所有任务共享一个线程栈空间,节省了内存资源。对于抢占阈值调度,如果任务集合生成一个非抢占组,则会使用与非抢占式调度相同的内存资源。为此,在每个测试点,针对相同一组随机产生的任务集合,比较抢占阈值调度生成一个非抢占组的次数除以整个产生的任务集合个数(用NAT表示)得到的百分率,与非抢占式调度以及FIFO 调度方式下可调度任务集合个数除以NAT得到的百分率,称作单线程比率(One Thread Rate,简称OTR)。来说明不同算法在保证任务集合可调度的前提下,只使用一个线程的能力。
FBM213
| 联系人 | 杨工销售 |
|---|