混合关键级多任务调度中低关键级任务的积极处理*
2014-08-04黄丽达李仁发
计算机工程与科学 2014年1期
黄丽达,李 龙,李仁发,谢 勇
(1.湖南大学嵌入式与网络计算湖南省重点实验室,湖南 长沙410082;2.厦门理工学院计算机与信息工程学院,福建 厦门361024)
1 引言
当前,在嵌入式系统领域,将多种功能整合在一个资源共享的平台上是重要的研究内容。不同功能的计算任务其重要性是不同的,一般用不同关键级来表述,比如在航空和汽车等领域,均有多层次关键级的划分。混合关键级多任务系统(后文简称为混合关键级系统)正是致力于在尽量减少物理设备冗余的情况下,让多个关键级的任务在同一个平台上执行,相对低关键级任务不会影响高关键级任务的时限要求。系统关键级与当前正在运行的任务的关键级一致,每个任务在各关键级都有相应的执行时间上限 WCET(Worst Cast Execution Time,最差情况下执行时间),一旦具有更高关键级任务的执行时间超出了当前关键级的预期WCET,则立即提升系统关键级[1]。
一旦系统关键级提升,为了保证高关键级任务取得更多的CPU计算时间以满足其截止时限,目前通常的处理办法是立即抛弃或者无限期挂起低关键级任务。这种处理方法过于消极,武断地将低关键级任务抛弃,可能会带来负面影响,正在执行的任务通常会访存数据,那么数据的一致性和完整性可能会由于任务的无限期挂起受到影响[2],尤其是在控制系统中。同时,任务的WCET是其计算时间的保守上限估值,即实际任务执行时间并不会总能达到WCET,那么CPU很可能出现空闲;……
登录APP查看全文
