本发明涉及嵌入系统,特别涉及一种实时任务可调度性分析方法及装置。
背景技术:
1、航天器系统属于安全关键的实时系统,其应用软件(嵌入式系统中常称为任务)具有强实时性要求,应用软件(或实时任务)的截止期错失或者不可靠可能会导致灾难性后果,因此在基于航天器的空间嵌入式操作系统中,保障应用软件的实时性和可靠性是最为关键的问题。
2、在航天控制系统中,数据采集、控制计算和控制输出等高安全关键任务都具有严格的截止期要求,一旦截止期错失,将对整个航天器系统造成毁灭性后果,导致重大损失。因此,对任务进行截止期的满足性分析至关重要,而对任务截止期满足性分析的过程是通过可调度性分析方法来实现。目前,航天器中主要采用人工走查、系统仿真、响应时间计算等方法进行可调度性分析。然而,这些方法在操作过程中运行开销大、精度不够高、且容易出错,因此应用在实时系统中可调度性分析效率较低。因此为了满足航天器系统中任务可调度性快速分析的需求,需要一种高效的实时任务可调度性分析方法。
技术实现思路
1、本发明提供了一种实时任务可调度性分析方法及装置,能够快速精确得到实时任务的可调度性分析结果。
2、第一方面,本发明提供了一种实时任务可调度性分析方法,包括:
3、获取包括多个实时任务的任务集;
4、根据所述实时任务的相对截止时间,从所述任务集中确定最大截止期;
5、根据所述最大截止期,确定处理器时间轴的初始化二进制序列和所述实时任务的任务二进制序列;
6、根据所述初始化二进制序列和所述任务二进制序列,按照所述实时任务的优先级由高至低的顺序进行可调度性分析。
7、可选地,所述初始化二进制序列的位数与所述最大截止期相同;
8、所述初始化二进制序列中的每个二进制位均为0;每个二进制位均对应所述处理器时间轴中的一个单位时间。
9、可选地,所述实时任务采用包括周期、最坏执行时间和相对截止时间的三元组信息表示;
10、所述任务二进制序列的位数与所述最大截止期相同;
11、根据所述周期、所述最坏执行时间,确定所述任务二进制序列为b=b1,…,bk,…,bl;其中,l为所述处理器时间轴中的单位时间的个数,且该个数与所述任务二进制序列的位数相同;bk为第k个单位时间下的二进制位;bk=0时,所述实时任务在第k个单位时间的请求状态为空闲,bk=1时,所述实时任务在第k个单位时间的请求状态为占用。
12、可选地,所述根据所述初始化二进制序列和所述任务二进制序列,按照所述实时任务的优先级由高至低的顺序进行可调度性分析,包括:
13、s1:将当前次分析中所述任务集中未分析的实时任务中优先级最高的实时任务确定为第一实时任务,并确定所述第一实时任务的任务二进制序列在所述初始化二进制序列中的零数;
14、s2:在所述第一实时任务的最坏执行时间不大于所述零数时,确定所述第一实时任务可调度;
15、s3:根据所述第一实时任务的任务二进制序列对所述初始化二进制序列进行更新,得到更新二进制序列,并将所述第一实时任务标记为已分析;
16、s4:判断所述任务集中未分析的实时任务的数量是否为零;若否,则将所述更新二进制序列确定为下次分析时的初始化二进制序列,并返回步骤s1;若是,则确定所述任务集可调度。
17、可选地,所述确定所述第一实时任务的任务二进制序列在所述初始化二进制序列中的零数,包括:
18、确定当前次分析中所述初始化二进制序列中二进制位为1的第一数量;
19、对所述第一实时任务的相对截止时间和所述第一数量进行差值运算,得到所述零数。
20、可选地,所述根据所述第一实时任务的任务二进制序列对所述初始化二进制序列进行更新,得到更新二进制序列,包括:
21、将所述初始化二进制序列中第一个二进制位确定为起始单位时间;
22、将以所述起始单位时间为首位的初始化二进制序列与所述任务二进制序列进行加法运算,得到处理器更新二进制序列;其中,所述处理器更新二进制序列的位数与所述初始化二进制序列的位数相同;在所述加法运算中,0+0=0,0+1=1,1+0=1,1+1=1。
23、可选地,在所述确定所述任务集可调度之后,还包括:
24、获取所述任务集中未分析的实时任务的数量为零时对应的更新二进制序列;
25、判断所述更新二进制序列中是否存在为0的二进制位;
26、若是,则确定所述为0的二进制位所在的单位时间处于空闲状态。
27、第二方面,本发明提供了一种实时任务可调度性分析装置,包括:
28、获取模块,用于获取包括多个实时任务的任务集;
29、初始化模块,用于根据所述实时任务的相对截止时间,从所述任务集中确定最大截止期;并根据所述最大截止期,确定处理器时间轴的初始化二进制序列和所述实时任务的任务二进制序列;
30、分析处理模块,用于根据所述初始化二进制序列和所述任务二进制序列,按照所述实时任务的优先级由高至低的顺序进行可调度性分析。
31、第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一第一方面所述的方法。
32、第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一第一方面所述的方法。
33、本发明实施例提供了一种实时任务可调度性分析方法及装置,该方法通过建立处理器负载的二进制序列时间轴(初始化二进制序列),同时将每个实时任务的任务执行请求采用二进制序列表示为任务二进制序列,然后根据初始化二进制序列和任务二进制序列,按照实时任务的优先级由高至低的顺序对整个任务集进行可调度性分析。如此,通过基于任务二值序列的可调度性分析,不仅能充分性的对任务进行可调度性分析,还是任务可调度的必要条件,能够精确的分析任务的可调度性,同时该方法的时间复杂度最低,能够快速准确的分析实时任务的可调度性。
1.一种实时任务可调度性分析方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述初始化二进制序列的位数与所述最大截止期相同;
3.根据权利要求1所述的方法,其特征在于,所述实时任务采用包括周期、最坏执行时间和相对截止时间的三元组信息表示;
4.根据权利要求3所述的方法,其特征在于,所述根据所述初始化二进制序列和所述任务二进制序列,按照所述实时任务的优先级由高至低的顺序进行可调度性分析,包括:
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求4所述的方法,其特征在于,
7.根据权利要求4至6中任一所述的方法,其特征在于,在所述确定所述任务集可调度之后,还包括:
8.一种实时任务可调度性分析装置,其特征在于,包括:
9.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。