速率单调调度算法所采取的假设?

问题描述 投票:0回答:1

我正在上一门实时系统课程,我们班上的人陷入了Liu和Layland论文第4节中关于速率单调调度的一些假设,我们无法完全理解:

如果floor(T2/T1)是Task1干扰Task2的次数,为什么应用于T2/T1的函数是floor而不是ceil?

此外,还有这些方程:

根据论文,正如我们在图像中清楚地看到的那样,方程(1)是“必要条件但不是充分条件”,而方程(2)是“充分条件”。这对我来说是有道理的,但为什么作者这么说作为结论: 换句话说,每当 T1

如果第二个方程(其中

Task2 具有最高优先级< T2 and C1,C2 are such that the task scheduling is feasible with Task2 at higher priority than Task1, it is also feasible with Task1 at higher priority than Task2 (but opposite is not true)[...] Specifically, tasks with higher request rates will have higher priorities.

)是一个充分条件,
为什么我们可以假设如果 Task1 而不是 Task2 具有最高优先级,任务调度是可行的?

我希望我能很好地解释自己,如果我理解错误的文章陈述,请随时告诉我。

编辑: 根据要求,这里对文章中的术语和这个问题中提出的术语进行一些解释。

文中,

T1

指的是
Task1

的周期(和截止日期), 以及 T2Task2 的期间(和截止日期)。 C1C2 分别指的是 Task1Task2 的运行时间。

首先,太糟糕了,你没有包括 T 和 C 的含义。我必须阅读这篇文章。
scheduled-tasks real-time rtos
1个回答
2
投票

考虑具有某些值的方程(1)。让我们使用文章中建议的值。 T2 = 5,T1 = 2,C1 = C2 = 1。下限(T2/T1)为我们提供了任务 2 期间发生的任务 1 的请求数量。是 2(楼层(5/2))。如果是上限(T2/T1),则结果将为 3,这显然是错误的,因为第三个请求确实已执行(如图 2 所示),但该周期并未结束。为了更好地理解它,请考虑相同的情况,但将任务 1 的执行时间 C1 延长到 1.5。下面是这样一个系统的时间表,这是可行的。它满足等式(1)。如果我们使用上限(T2/T1),那么方程将无法满足,并且您可以在下面清楚地看到系统很好。我认为这将帮助您看到并理解差异 - 我们需要考虑的不是任务被请求的次数,而是较高优先级任务的整个周期可以适合较低优先级任务的周期的次数任务)。

Tasks timeline. Image made using Excel. One

© www.soinside.com 2019 - 2024. All rights reserved.