论文部分内容阅读
输入输出延迟(Input-Output Delay,IO Delay)和采样延迟(Sampling Delay)是实时控制系统的重要参数,这些参数会影响控制系统的性能和稳定性,因而在设计阶段需要考虑这些参数。固定抢占点调度被提出用以减少运行开销(Runtime Overhead),提高任务最坏执行时间(WCET)的可预测性和系统的可调度性(Schedulability)。然而固定抢占点调度的优点不仅仅局限于此,对于以固定抢占点进行调度的任务,将其最后一段不可抢占区域设置为最大,该任务的输入输出延迟可降到最低。但是不可抢占区域却会阻塞高优先级任务带来更大的采样延迟,且最后一段不可抢占区域的大小会对该任务的最大采样延迟造成影响。在本文中解决了带有最后一段不可抢占区域的固定优先级调度算法(Fixed Priority Tasks with Last Non-preemptive Region,FP-LNPR)的输入输出延迟和采样延迟分析,该调度算法为固定抢占点调度的一个变形。根据以上的输入输出延迟和采样延迟分析,在FP-LNPR调度算法的基础上,提出了 FP-LNPR*调度算法。研究了对于完全可抢占固定优先级调度下可调度的限制截止期任务(Constrained Deadline),可将FP-LNPR*调度算法应用到实时控制系统中来提高控制性能。仿真实验表明相较于完全可抢占固定优先级调度和FP-LNPR调度,FP-LNPR*调度算法可获得最低的输入输出延迟和采样延迟。对于一个基准测试的控制系统,在三个调度算法之中,FP-LNPR*算法可获得最好的控制性能。当抢占开销不可忽略时,抢占点的选取会影响任务的最坏执行时间和最后一段不可抢占区域的大小,因而将最后一段不可抢占区域设置为最大,并非能获得最小的输入输出延迟,因而研究了以最小化任务输入输出延迟为目标的最优抢占点选取算法。本文的主要贡献点如下:1.输入输出延迟分析,首先定义了造成最大输入输出延迟的时刻“输入输出临界时刻”,并在FP-LNPR调度算法下找到了该时刻。研究了计算最大输入输出延迟的方法,证明了减小任务最后一段不可抢占区域的长度大小,任务的最大输入输出延迟不能降低。2.采样延迟分析,首先定义了采样延迟自激现象(Sampling Delay Self-pushing Phenomenon),研究比较了采样延迟自激现象(Sampling Delay Self-pushing Phenomenon)与自激现象(Self-pushing Phenomenon)的区别。证明了对于完全可抢占固定优先级调度下可调度的限制截止期任务(Constrained Deadline)不存在采样延迟自激现象。对于FP-LNPR调度算法,研究了ε 临界时刻(ε-critical instant)存在的两种性质。根据此提出了采样延迟的计算方法,证明了最小化非控制任务的最后一段不可抢占区域,控制任务的采样延迟会减小。重点研究了对于不存在采样延迟自激现象的控制任务,不可抢占区域大小不会影响该任务的最大采样延迟大小。3.根据输入输出延迟和采样延迟分析,在FP-LNPR调度算法基础上提出了FP-LNPR*调度算法。在该调度算法中,将控制任务的最后不可抢占区域设置最大,对于非控制任务,设置其为完全抢占。4.当任务的抢占开销不可忽略时,研究了带抢占开销的输入输出延迟分析,通过分支限界法(branch and bound)和穷举搜索法(exhaustive search)提出了以最小化任务的输入输出延迟为目标的最优抢占点选择算法。