![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
③ 不管一个任务什么时候执行,服务器的预留执行能力cs都以相同的数量递减。
④ 当预留执行能力cs递减到零时,马上被重置为最大执行能力补充值Qs,同时产生新的服务器截止期ds,k+1=ds,k+Ts。
⑤ 在时刻t,如果存在一个服务的任务Ji,j(ri,j≤t≤fi,j),那么称“CBS处于活动状态”,否则称为“空闲状态”。
⑥ 当一个作业Ji,j到达时,如果此时服务器处于活动状态,那么任务的服务请求进入挂起任务队列,此队列需是非抢先原则的队列(如先进先出队列)。
⑦ 当一个任务Ji,j到达,且服务器处于空闲状态时,如果cs≥(ds,k-ri,j)Us,那么服务器产生一个新的服务器截止期ds,k+1=ri,j+Ts,并且把预留执行能力cs重置为最大执行能力补充值Qs,否则服务器使用当前的服务器截止期ds,k和当前的预留执行能力cs来对任务进行服务。
⑧ 当一个任务完成时,服务器利用当前的预留执行能力和截止期继续为挂起任务队列中的任务服务。如果挂起任务队列中没有任务,那么服务器变成空闲状态。
⑨ 在任何时刻,服务器分配给任务的截止期为最后生成的服务器截止期。
1.2 EDF调度器的CBS算法扩展设计
1.2.1 EDF调度器的总体结构设计
先引入一种“虚拟任务”的概念。所谓“虚拟任务”,就是指由RTAI底层实时小内核按EDF算法直接调度执行的一种特殊的硬实时任务,对应于Linux用户空间的某一软实时应用。其任务截止期由RTAI内核下的CBS服务器计算得出。
本文将RATI内核下的EDF调度器进行了以下扩展:
① 在EDF调度层,仍然采用原RTAI内核下调度器采用的EDF调度算法,对硬实时周期任务和虚拟任务集合进行调度;而CBS服务器则按一定的比例占用处理机时间,同时通过服务器接口与一个实时应用相对应,为其提供资源服务。
② 在服务器层有CBS服务器核和CBS服务器接口。 |
|