Page 347 - 《软件学报》2020年第11期
P. 347

3662                                Journal of Software  软件学报 Vol.31, No.11, November 2020

                 保持在关键级 1 下执行,那么 J 2 最晚将在时刻 3 之前获得 2 的执行时间并完成.当 J 2 发生过载,其执行时间增加
                 到 4, ddbf 2 1 ()t 在时刻 3 之后增加到 5.但依然能在它的时限时刻 5 满足: ddbf     2 1 (5) 5= ,也就是说,即使 J 2 发生了过
                 载,它也能在其时限 5 之前获得足够的执行时间,依然是可调度的.

















                        Fig.1    Initial value of dynamic demand   Fig.2    Dynamic demand boundary function
                           boundary function in Example 1         when overload happens in Instant 3
                       图 1   例 1 中动态时间需求函数的初始值              图 2   在时刻 3 发生过载时的动态时间需求函数

                 2.4   关键级松弛时间与可调度性
                    定理 1.  在系统关键级χ下,混合关键级作业系统中的某个作业 J i 能够被调度,当且仅当:
                                                      ddbf  χ () t ≤  t                              (5)
                                                          i
                 在时间片[a i ,d i ]中有解,且满足 dbf  χ ()t = 的时刻是作业 J i 完成的最晚时刻.
                                                t
                                           i
                    证明:根据混合关键级作业的动态需求边界函数的定义,作业 J i 在给定的关键级χ下的需求边界是当系统的
                 执行关键级不超过χ时,J i 需要完成执行所需要的时间的上界.当 ddbf                i χ ()t ≤ ,系统在时刻 t 提供的时长不小于
                                                                            t
                 J i 所需的时长.由于本文采用的基本调度算法为 EDF,当还有作业未完成时,处理器永不空闲,因此在时刻 t,作业
                 J i 一定能够得到足够的执行时间,如果 t∈[a i ,d i ],那么 J i 是可调度的.
                         χ
                                       t
                    定义 t 为当 ddbf  i χ ()t = 的时刻,在 EDF 调度策略中,如果所有作业的实际执行时间都是当前关键级下的
                         i
                                        χ
                                                                              χ
                 WCET,那么作业 J i 将在时刻 t 完成执行.也就是说,如果系统关键级保持在χ, t 是 J i 完成的最晚时刻.
                                                                              i
                                        i
                    综上所述,定理 1 正确.                                                                     □
                    考虑 t i 与时限 d i 的关系,如果 t >  d ,那么 J i 无法在 d i 之前得到足够的执行时间,是不可调度的;反之,如果
                                             χ
                                            i   i
                  χ
                 t ≤ d ,J i 是可调度的.
                 i    i
                                                                χ
                                                                       χ
                    定义 5.  在系统关键级χ下,作业 J i 的松弛时间 s =        d − t ,其中, t 是 ddbf  χ () t = 的最小解.
                                                          χ
                                                                                   t
                                                         i   i  i      i      i
                                         χ
                                            0
                    如果作业 J i 的松弛时间 s ≥ ,那么在系统关键级始终不超过χ的情况下,作业 J i 是可调度的,并且在其时
                                        i
                                                                                                 χ
                                  χ
                 限 d i 之前,还有至少 s 个时间单位冗余.即系统在运行过程中,如果 J i 的需求边界的动态部分不超过 s 个时间
                                  i                                                              i
                 单位,那么 J i 总是可调度的.
                    考虑整个作业集,对于所有自身关键级小于系统关键级χ的作业,在χ下的松弛时间是没有意义的.对于自身
                 关键级不小于χ的作业,如果所有作业的松弛时间都不小于 0,那么如果系统运行在关键级χ,且没有出现过载,作
                 业集是可调度的.因此,可以定义系统在给定关键级下的松弛时间.
                    定义 6.  混合关键级作业系统τ在关键级χ下的松弛时间为
                                                      χ
                                                     S =  min { }s i χ                               (6)
                                                          ∈
                                                         i J τχ  χ
                                                           : i ≥
                                                      χ
                                                                                                     χ
                    根据定义 3 与定义 6,在关键级χ下,如果 S ≥0,那么如果系统关键级为χ,作业集是可调度的;反之,当 S <0,
                 那么作业集在χ下不可调度,系统必须提升关键级以才能保证系统的正确性.
   342   343   344   345   346   347   348   349   350   351   352