CN109558227B - 一种基于任务执行预算的单调速率任务调度方法 - Google Patents
一种基于任务执行预算的单调速率任务调度方法 Download PDFInfo
- Publication number
- CN109558227B CN109558227B CN201811342299.3A CN201811342299A CN109558227B CN 109558227 B CN109558227 B CN 109558227B CN 201811342299 A CN201811342299 A CN 201811342299A CN 109558227 B CN109558227 B CN 109558227B
- Authority
- CN
- China
- Prior art keywords
- task
- time
- budget
- scheduling
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于安全关键计算机任务调度技术领域,涉及一种基于任务执行预算的单调速率任务调度方法。该任务调度方法通过为每个任务增加任务执行预算,从而保证单调速率任务调度中,较低优先级的任务同样能够具备足够的处理器调度时间,不会因为高优先级任务的故障、死锁而无法执行;同时通过计算并借用余量执行时间的方法,在确保低优先级任务可调度的情况下,尽可能避免高优先级任务激发预算超时故障。对任务预算超时故障的处理是,计算系统当前时刻的余量执行时间,当余量执行时间大于0时,使用余量执行时间来执行发生预算超时故障的任务;当余量执行时间等于0,则将发生预算超时故障的任务切出。
Description
技术领域
本发明属于安全关键计算机任务调度技术领域,具体涉及一种基于任务执行预算的单调速率任务调度方法。
背景技术
单调速率任务调度算法自上个世纪被提出以来,就被广泛应用于安全关键领域,其作为一种静态的最优调度算法,原理简单,实现方式容易,同时能够从数学上证明任务的可调度性,虽然对于计算机的利用率并不能保证达到最优,但由于其确定性上的优点,仍广泛应用于安全关键领域系统中。
但是,在单调速率调度算法的具体实现方式上,包括两种。一种为使用基于优先级的通用嵌入式操作系统,如vxWorks,来实现单调速率调度。这种方法下,将任务的优先级简单的与任务的执行周期相关联,且高优先任务均会无条件抢占低优先级任务,从而导致,在高优先级任务运行超时的情况下,系统最终体现出来是低优先级任务死限超时。甚至于高优先级任务进入死循环,则低优先级任务将完全无法得到运行。显然,这种调度方法并不能很好的满足安全关键系统的要求。另一种方法,则是使用领域定制的时间触发操作系统,基于单调速率算法,预先进行静态时间规划。这种方法能够很好的为每一个任务的运行限定其时间片,但缺点在于不够灵活,特别是对于周期很长的任务,进行规划的难度较高,出现调整后,维护的成本也很大本发险。
发明内容
本发明的目的是:提出一种基于任务执行预算的单调速率任务调度方法,以解决单调速率调度算法的实现过程中,对任务的执行时间没有有效的控制,或者对任务的单调速率调度无法自动实施的技术问题。
为解决此技术问题,本发明的技术方案是:
一种基于任务执行预算的单调速率任务调度方法,所述的任务调度方法包括以下步骤:
1、由使用者在创建任务时,定义任务的执行周期P和允许执行的时间预算T_budget,其中任务的执行周期P同时也是任务的执行死限,允许执行的时间预算T_budget是任务在其调度周期内允许执行的最长时间,执行周期P越短的任务,其优先级越高;优先级最高的任务的执行周期P与定时中断的周期时间T_frame相同,其它任务的执行周期P应为周期时间T_frame的整数倍;
2、调度内核确定当前应该调度的任务:通过计算进入调度中断的次数得到调度计数值COUNT;当调度计数值COUNT为某任务的调度周期P的整数倍时判断:
当该任务已经处于就绪队列中,进入任务死限超时故障处理;
当该任务未处于就绪队列中,按照其优先级高低加入该任务到就绪队列中,并将该任务的剩余预算时间T_remain置为该任务的允许执行的时间预算T_budget;
3、进行任务切换时,根据待切出任务的剩余预算时间T_remain减去实际执行的时间T_execute得到新的剩余预算时间T_remain,与待切出任务的上下文保存到任务控制块中;调度执行当前任务就绪队列中优先级最高的任务,恢复该任务的上下文,并将系统的预算定时器TIMER_budget设置为该任务的剩余预算时间T_remain;
4、若任务执行结束前,系统的预算定时器TIMER_budget触发了中断,则认为该任务的预算执行超时,进入任务预算超时故障处理;若任务执行结束前,系统的预算定时器TIMER_budget未触发中断,则进入步骤5;
5、将执行完成的当前任务由就绪队列中去除,并重复执行步骤30到步骤4,直到时间运行到下一个任务调度时刻,则返回到步骤2。
所述的方法还包括一个空闲任务,当所有待调度的应用任务均执行结束,而下一个任务调度时刻还未到来时,会调度此空闲任务,当运行到空闲任务时,系统的预算定时器TIMER_budget不启动。
所述的方法出现任务预算超时故障时,对任务预算超时故障的处理是:系统调度内核提前进行任务的可调度分析,若调度内核确认所有较低优先级任务在其执行死限P之前,保留有足够剩余预算时间T_remain的条件下:
当系统仍有剩余的余量执行时间T_slack,则可将该余量执行时间T_slack分配给发生预算超时故障的任务的剩余预算时间T_remain,该任务继续执行;
当系统没有剩余的余量执行时间T_slack时,该任务被切出。
所述的余量执行时间T_slack的计算方式为:若当前需要使用余量执行时间T_slack的任务A的调度周期为P_a,比任务A调度周期长的任务B到任务N,其周期分别为P_b到P_n,则分别计算由B到N,各任务在到达其任务死限时刻之前,满足任务剩余预算时间的情况下,仍剩余的可调度剩余空闲时间T_left_b到T_left_n,比较得到T_left_b到T_left_n中最小的值,该时间为能够满足所有较低优先级任务的可调度剩余空闲时间,即为任务A当前时刻可用的T_slack时间。
所述的某一周期任务B的当前可调度剩余空闲时间T_left_b的计算方法为:由当前时刻到任务死限时刻的时间Tp,为该任务的所有可用的时间资源,减去这一时间段中,任务就绪列表中所有优先级不低于任务B的剩余预算时间T_remain,再减去由当前时刻到死限时刻之前,新触发的所有周期较短任务的允许执行时间预算T_budget,即为某一周期任务B的当前可调度剩余空闲时间T_left_b。
当某一周期任务B的可调度剩余空闲时间T_left_b小于0,则将该任务B的实际死限时刻再向前移动一个T_frame时间,重新计算其可调度剩余空闲时间T_left_b;当实际死限前移到任务B的启动调度时刻时,可调度剩余空闲时间T_left_b仍小于0,操作系统报出任务不可调度故障。
所有任务均创建结束后,调度内核取得所有任务调度周期的最小公倍数,在最小公倍数的时段内,在每一个调度点,检查每一个任务在到达其死限前,可调度剩余空闲时间是否大于等于0,来确定这一时段内是否所有的任务都能够在其死限前完成其调度;若存在某任务无法完成调度,操作系统提前报出任务不可调度故障。
本发明的有益效果是:通过本发明的基于任务执行预算的单调速率任务调度方法,能够在实现单调速率任务调度的基础上,保证低优先级任务的运行时间不会无条件的被发生故障的高优先级任务所破坏,减少任务间的耦合影响。即能够按照任务的周期,自动实施任务的单调速率算法调度,又能够限定每个任务按照其确定的时间预算进行调度,避免任务的故障蔓延。同时可以在确保所有任务执行预算时间的基础上,有效并安全的提升处理器利用率。
附图说明
图1为基于任务执行预算的单调速率任务调度方法流程图;
图2为基于任务执行预算的单调速率任务调度方法的一个调度实例效果图;
图3为基于任务执行预算的单调速率任务调度方法的一个任务预算超时故障处理实例效果图。
具体实施方式
为了更清楚地说明本发明的技术方案,下面结合附图对实施例中详细描述,结合附图,以一个实例详细描述技术方案如下:
步骤一,系统的使用者依次创建所有任务,创建过程中定义任务的周期P,和时间预算T_budget,假设所有的任务如下表所示:
任务名 | 周期时间 | 任务执行预算时间T_budget |
A | 10ms | 8ms |
B | 20ms | 3ms |
C | 30ms | 1ms |
则系统的最小调度周期为10ms,各任务的调度相关参数为:
任务名 | 周期 | 死限时间 | 任务执行预算时间T_budget |
A | 1 | 10ms | 8ms |
B | 2 | 20ms | 3ms |
C | 3 | 30ms | 1ms |
将得到的周期,和任务的执行预算时间传入给操作系统的任务创建函数,由操作系统创建相应的调度环境,其中A任务的优先级为1,B任务的优先级为2,C任务的优先级为3,优先级数值越小,优先级越高;
步骤二,操作系统调度内核每10ms进行一次任务调度;
步骤三,任务调度开始后,由0开始,每10ms调度内核的调度计数值COUNT自加1;
步骤四,检查当前的调度计数值COUNT是否为待调度任务周期的整数倍,如0为1、2、3的整数倍。若当前COUNT值为任务周期的整数倍,则该任务本次应该被调度,调度计数值COUNT由0到5时,应该调度的任务如下表:
调度计数值COUNT | 本次应该调度的任务 |
0 | A、B、C |
1 | A |
2 | A、B |
3 | A、C |
4 | A、B |
5 | A |
步骤五,对当前待调度的任务,检查是否还处于就绪队列中,比如在系统开始任务调度之后10ms,调度计数值为1,如上表,需要调度的任务为A,此时若A任务还在就绪队列中,说明A任务在其死限时刻之前未执行完,若A任务不在就绪队列里面,则将A按照相应的优先级,添加到任务就绪队列内部,同时,将任务的T_remain属性,置为其任务的执行预算时间,假设此时任务B仍未执行结束,则此时任务就绪队列内,任务的状态如下表:
任务名称 | 优先级 | 任务剩余预算时间T_remain |
A | 1 | 8ms |
B | 2 | 3ms |
C | 3 | 1ms |
步骤六,假设当前正在运行的任务B已经执行了2ms,而任务B的T_remain属性值当前为3ms,则在确定了当前待执行的最高优先级任务后进行任务切换时,首先将任务B当前的上下文保存到任务B的TCB中,之后将任务B的T_remain值,置为(3-2)ms,即1ms,此时任务就绪列表中任务如下表:
任务名称 | 优先级 | 任务剩余预算时间T_remain |
A | 1 | 8ms |
B | 2 | 1ms |
C | 3 | 1ms |
步骤七,调度内核调度就绪队列中的任务,最高优先级的任务A时,将任务A TCB中的值恢复到处理器上下文中,并将任务预算定时器TIMER_budget,设置为任务的T_remain值,即8ms;
步骤八,若任务在其TIMER_budget定时器的计数值到达时,还未执行结束,例如任务A在18ms还未执行完,则此时报任务A的任务预算超时故障,进行相应的故障处理后,返回到步骤六,调度下一个任务B,
若任务在其TIMER_budget定时器的计数值到达之前,就结束本周期执行,例如任务A在17ms完成本次功能,则此时操作系统调度内核将任务A由任务就绪列表中去除,并调用当前优先级最高的任务B,此时任务就绪列表中的任务如下表:
任务名称 | 优先级 | 任务剩余预算时间T_remain |
B | 2 | 1ms |
C | 3 | 1ms |
此时,返回到步骤六,先保存当前计算机的上下文到任务A,并恢复任务B的上下文继续执行。在任务B执行结束后,调度任务C。
当所有待调度任务均执行结束后,系统调度后台的空闲任务IDLE,IDLE任务的T_budget属性为-1,则当操作系统调度内核在调度IDLE任务时,不会启动任务预算定时器。
如图2所示,为A、B、C任务在0到60ms一个完整调度周期内的任务执行曲线。
当任务出现预算超时故障时,对任务预算超时故障的一种故障容忍方法是,进行当前时刻的任务可调度分析,计算当前是否有足够的余量执行时间。如在以上的实例中,第10ms,任务就绪列表中的任务状态如下表所示:
任务名称 | 优先级 | 任务剩余预算时间T_remain |
A | 1 | 8ms |
B | 2 | 1ms |
C | 3 | 1ms |
而如图2所示,18ms为任务A的预算结束时刻。假如此时任务A还未执行结束,则一种预算超时的故障处理方法,是计算当前在任务就绪列表中,比任务A优先级低的所有任务,即任务B和任务C,在死限之前保留足够执行预算的情况下,剩余的余量执行时间T_slack。
当前时刻的余量执行时间T_slack,为任务B和任务C的当前可调度剩余时间T_left中,最小的值。
对于任务B,其当前可调度剩余时间T_left_b的计算,如下表:
则任务B的T_left_b等于2-1-0,等于1ms;
对于任务C,其当前可调度剩余时间T_left_c的计算,如下表:
则任务C的T_left_c等于12-1-8-4=-1。为小于0的值,此时则应该将任务C的死限时刻前移一个10ms周期,得到下表:
则任务C的T_left_c等于2-1-1,为0ms。
此时T_left_b与T_left_c中较小的为0ms,表示当前没有可用的余量执行时间T_slack。因此调度内核会记录任务A预算超时,并将任务A切出,转而调度就绪列表中的下一个任务B,以保证任务B和任务C在死限前的执行预算。
如图2所示,48ms为任务A的预算结束时刻。此时的任务就绪列表中任务如下表:
任务名称 | 优先级 | 任务剩余预算时间T_remain |
A | 1 | 8ms |
B | 2 | 3ms |
假如48ms时,任务A还未执行结束,则此时余量执行时间T_slack的计算如下:
对于任务B,其当前可调度剩余时间T_left_b的计算,如下表:
则任务B的T_left_b等于12-3-8,等于1ms;
任务C不在任务就绪列表中,不需要计算T_left_c;
因此,此时的余量执行时间T_slack,任务A可以使用1ms的余量执行时间,可将任务预算定时器TIMER_budget,设置为1ms的余量执行时间,继续调度执行任务A。如图3所示。
如果1ms内任务A还未执行结束,则再报任务A的超时故障。
此外,当所有任务创建后,操作系统调度内核会计算所有任务调度周期的最小公倍数,在以上实例中,该周期的最小公倍数为60ms,则调度内核会计算在一个60ms内,所有任务根据其死限和预算时间,得到的任务可调度性。
任务A死限 | T_left_a | 任务B死限 | T_left_b | 任务C死限 | T_left_c | |
10ms | 是 | 2 | ||||
20ms | 是 | 2 | 是 | 1 | ||
30ms | 是 | 2 | 是 | 0 | ||
40ms | 是 | 2 | 是 | 2 | ||
50ms | 是 | 2 | ||||
60ms | 是 | 2 | 是 | 是 | 1 |
根据上表,所有任务在其死限之前都能得到足够的预算执行时间,表示该任务集可调度。
通过本发明的基于任务执行预算的单调速率任务调度方法,能够在实现单调速率任务调度的基础上,保证低优先级任务的运行时间不会无条件的被发生故障的高优先级任务所破坏,减少任务间的耦合影响。同时可以在确保所有任务执行预算时间的基础上,有效并安全的提升处理器利用率。在本实例中,通过实施本方法,当10ms周期任务A出现故障而超时,能够保证功能完好的任务B和任务C的正常运行,从而避免系统中任务故障的耦合,增加系统执行的确定性;同时在系统还有足够时间余量的情况下,尽可能完成任务A的功能,避免系统误报超时故障,提升系统的容错率。
Claims (7)
1.一种基于任务执行预算的单调速率任务调度方法,其特征在于,所述的任务调度方法包括以下步骤:
1.1、由使用者在创建任务时,定义任务的执行周期P和允许执行的时间预算T_budget,其中任务的执行周期P同时也是任务的执行死限,允许执行的时间预算T_budget是任务在其调度周期内允许执行的最长时间,执行周期P越短的任务,其优先级越高;优先级最高的任务的执行周期P与定时中断的周期时间T_frame相同,其它任务的执行周期P应为周期时间T_frame的整数倍;
1.2、调度内核确定当前应该调度的任务:通过计算进入调度中断的次数得到调度计数值COUNT;当调度计数值COUNT为某任务的调度周期P的整数倍时判断:
当该任务已经处于就绪队列中,进入任务死限超时故障处理;
当该任务未处于就绪队列中,按照其优先级高低加入该任务到就绪队列中,并将该任务的剩余预算时间T_remain置为该任务的允许执行的时间预算T_budget;
1.3、进行任务切换时,根据待切出任务的剩余预算时间T_remain减去实际执行的时间T_execute得到新的剩余预算时间T_remain,与待切出任务的上下文保存到任务控制块中;调度执行当前任务就绪队列中优先级最高的任务,恢复该任务的上下文,并将系统的预算定时器TIMER_budget设置为该任务的剩余预算时间T_remain;
1.4、若任务执行结束前,系统的预算定时器TIMER_budget触发了中断,则认为该任务的预算执行超时,进入任务预算超时故障处理;若任务执行结束前,系统的预算定时器TIMER_budget未触发中断,则进入步骤1.5;
1.5、将执行完成的当前任务由就绪队列中去除,并重复执行步骤1.30到步骤1.4,直到时间运行到下一个任务调度时刻,则返回到步骤1.2。
2.根据权利要求1所述的一种基于任务执行预算的单调速率任务调度方法,其特征在于:所述的方法还包括一个空闲任务,当所有待调度的应用任务均执行结束,而下一个任务调度时刻还未到来时,会调度此空闲任务,当运行到空闲任务时,系统的预算定时器TIMER_budget不启动。
3.根据权利要求1所述的一种基于任务执行预算的单调速率任务调度方法,其特征在于:所述的方法出现任务预算超时故障时,对任务预算超时故障的处理是:系统调度内核提前进行任务的可调度分析,若调度内核确认所有较低优先级任务在其执行死限P之前,保留有足够剩余预算时间T_remain的条件下:
当系统仍有剩余的余量执行时间T_slack,则可将该余量执行时间T_slack分配给发生预算超时故障的任务的剩余预算时间T_remain,该任务继续执行;
当系统没有剩余的余量执行时间T_slack时,该任务被切出。
4.根据权利要求3所述的一种基于任务执行预算的单调速率任务调度方法,其特征在于:所述的余量执行时间T_slack的计算方式为:若当前需要使用余量执行时间T_slack的任务A的调度周期为P_a,比任务A调度周期长的任务B到任务N,其周期分别为P_b到P_n,则分别计算由B到N,各任务在到达其任务死限时刻之前,满足任务剩余预算时间的情况下,仍剩余的可调度剩余空闲时间T_left_b到T_left_n,比较得到T_left_b到T_left_n中最小的值,该时间为能够满足所有较低优先级任务的可调度剩余空闲时间,即为任务A当前时刻可用的T_slack时间。
5.根据权利要求4所述的一种基于任务执行预算的单调速率任务调度方法,其特征在于:所述的T_left_b的计算方法为:由当前时刻到任务死限时刻的时间Tp,为该任务的所有可用的时间资源,减去这一时间段中,任务就绪列表中所有优先级不低于任务B的剩余预算时间T_remain,再减去由当前时刻到死限时刻之前,新触发的所有周期较短任务的允许执行时间预算T_budget,即为某一周期任务B的当前可调度剩余空闲时间T_left_b。
6.根据权利要求5所述的一种基于任务执行预算的单调速率任务调度方法,其特征在于:
当某一周期任务B的可调度剩余空闲时间T_left_b小于0,则将该任务B的实际死限时刻再向前移动一个T_frame时间,重新计算其可调度剩余空闲时间T_left_b;当实际死限前移到任务B的启动调度时刻时,可调度剩余空闲时间T_left_b仍小于0,操作系统报出任务不可调度故障。
7.根据权利要求4或5或6所述的一种基于任务执行预算的单调速率任务调度方法,其特征在于:所有任务均创建结束后,调度内核取得所有任务调度周期的最小公倍数,在最小公倍数的时段内,在每一个调度点,检查每一个任务在到达其死限前,可调度剩余空闲时间是否大于等于0,来确定这一时段内是否所有的任务都能够在其死限前完成其调度;若存在某任务无法完成调度,操作系统提前报出任务不可调度故障。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811342299.3A CN109558227B (zh) | 2018-11-12 | 2018-11-12 | 一种基于任务执行预算的单调速率任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811342299.3A CN109558227B (zh) | 2018-11-12 | 2018-11-12 | 一种基于任务执行预算的单调速率任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558227A CN109558227A (zh) | 2019-04-02 |
CN109558227B true CN109558227B (zh) | 2023-03-31 |
Family
ID=65866245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811342299.3A Active CN109558227B (zh) | 2018-11-12 | 2018-11-12 | 一种基于任务执行预算的单调速率任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558227B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214291A (zh) * | 2019-07-12 | 2021-01-12 | 杭州海康汽车技术有限公司 | 一种任务调度方法及装置 |
CN111045799B (zh) * | 2019-11-11 | 2023-03-14 | 西北工业大学 | 基于回收再分配的低安全关键任务调度方法 |
CN113296874B (zh) * | 2020-05-29 | 2022-06-21 | 阿里巴巴集团控股有限公司 | 一种任务的调度方法、计算设备及存储介质 |
CN112463125B (zh) * | 2020-12-09 | 2023-09-15 | 百富计算机技术(深圳)有限公司 | 一种虚拟定时器的定时方法及设备 |
CN115658278B (zh) * | 2022-12-07 | 2023-05-05 | 中国电子科技集团公司第三十研究所 | 一种支持高并发协议交互的微任务调度机 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0537509A2 (en) * | 1991-10-17 | 1993-04-21 | International Business Machines Corporation | An adaptive scheduling scheme for dynamic service time allocation on a shared resource |
WO2002071218A2 (en) * | 2001-03-05 | 2002-09-12 | Koninklijke Philips Electronics N.V. | Method of and system for withdrawing budget from a blocking task |
CN1589433A (zh) * | 2001-11-19 | 2005-03-02 | 皇家飞利浦电子股份有限公司 | 向任务分配预算盈余的方法和系统 |
CN101339521A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 一种任务优先级动态调度算法 |
CN101923487A (zh) * | 2010-08-06 | 2010-12-22 | 西华师范大学 | 一种综合嵌入式实时周期任务调度方法 |
CN103049314A (zh) * | 2012-12-17 | 2013-04-17 | 南昌航空大学 | 一种开放式系统实时调度方法 |
CN103885825A (zh) * | 2014-03-05 | 2014-06-25 | 南京邮电大学 | 基于动态时间片的速率单调实时调度方法 |
CN104008005A (zh) * | 2013-02-20 | 2014-08-27 | 罗伯特·博世有限公司 | 用于控制处理器的装置、方法和系统 |
CN106250218A (zh) * | 2015-06-11 | 2016-12-21 | 霍尼韦尔国际公司 | 用于使用滑动时间窗口调度任务的系统和方法 |
CN106293919A (zh) * | 2016-08-12 | 2017-01-04 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种时间触发的嵌入式任务调度装置与方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6466962B2 (en) * | 1995-06-07 | 2002-10-15 | International Business Machines Corporation | System and method for supporting real-time computing within general purpose operating systems |
JP2002342097A (ja) * | 2001-05-17 | 2002-11-29 | Matsushita Electric Ind Co Ltd | タスク割当可能時間決定装置及びタスク割当可能時間決定方法 |
US20120079486A1 (en) * | 2010-09-23 | 2012-03-29 | International Business Machines Corporation | Integration of dissimilar job types into an earliest deadline first (edf) schedule |
KR101827289B1 (ko) * | 2011-11-08 | 2018-03-23 | 한국전자통신연구원 | 실시간 운영체제에서 태스크 스케줄링 방법 |
US9836418B2 (en) * | 2013-03-13 | 2017-12-05 | Dornerworks, Ltd. | System and method for deterministic time partitioning of asynchronous tasks in a computing environment |
-
2018
- 2018-11-12 CN CN201811342299.3A patent/CN109558227B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0537509A2 (en) * | 1991-10-17 | 1993-04-21 | International Business Machines Corporation | An adaptive scheduling scheme for dynamic service time allocation on a shared resource |
WO2002071218A2 (en) * | 2001-03-05 | 2002-09-12 | Koninklijke Philips Electronics N.V. | Method of and system for withdrawing budget from a blocking task |
CN1589433A (zh) * | 2001-11-19 | 2005-03-02 | 皇家飞利浦电子股份有限公司 | 向任务分配预算盈余的方法和系统 |
CN101339521A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 一种任务优先级动态调度算法 |
CN101923487A (zh) * | 2010-08-06 | 2010-12-22 | 西华师范大学 | 一种综合嵌入式实时周期任务调度方法 |
CN103049314A (zh) * | 2012-12-17 | 2013-04-17 | 南昌航空大学 | 一种开放式系统实时调度方法 |
CN104008005A (zh) * | 2013-02-20 | 2014-08-27 | 罗伯特·博世有限公司 | 用于控制处理器的装置、方法和系统 |
CN103885825A (zh) * | 2014-03-05 | 2014-06-25 | 南京邮电大学 | 基于动态时间片的速率单调实时调度方法 |
CN106250218A (zh) * | 2015-06-11 | 2016-12-21 | 霍尼韦尔国际公司 | 用于使用滑动时间窗口调度任务的系统和方法 |
CN106293919A (zh) * | 2016-08-12 | 2017-01-04 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种时间触发的嵌入式任务调度装置与方法 |
Non-Patent Citations (6)
Title |
---|
A modified version of rate-monotonic scheduling algorithm and its" efficiency assessment;M. Naghibzadeh 等;《Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002)》;20020807;第1-6页 * |
Research and improvement of rate-monotonic scheduling algorithm;Xueqiao Li 等;《2010 International Conference on Computer, Mechatronics, Control and Electronic Engineering》;20101025;第66-69页 * |
一种基于时间触发的安全关键操作系统混合调度策略;淡图南 等;《2013年首届中国航空科学技术大会论文集》;20130925;第1-5页 * |
实时多任务系统的超时故障分析;雷航等;《电子科技大学学报》;19970630(第03期);全文 * |
改进的单调速率调度算法;刁承 等;《计算机科学与探索》;20111231;第562-568页 * |
网络控制系统时延单调速率算法可调度性及多目标优化;孙海燕等;《弹箭与制导学报》;20050930(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109558227A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558227B (zh) | 一种基于任务执行预算的单调速率任务调度方法 | |
CN106293919B (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
CN101923487A (zh) | 一种综合嵌入式实时周期任务调度方法 | |
CN104536835B (zh) | 一种热备份实时控制系统中自适应任务调度方法 | |
Yao et al. | Feasibility analysis under fixed priority scheduling with fixed preemption points | |
Yao et al. | Comparative evaluation of limited preemptive methods | |
Yao et al. | Feasibility analysis under fixed priority scheduling with limited preemptions | |
EP3376381A1 (en) | Resource management method and system, and computer storage medium | |
US6820263B1 (en) | Methods and system for time management in a shared memory parallel processor computing environment | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
CN108563494B (zh) | 一种自适应动态调整的线程调度系统及方法 | |
CN114185674A (zh) | 一种cpu任务实时调度方法、装置、设备及存储介质 | |
CN110794759B (zh) | 一种plc任务调度方法和装置 | |
CN109947015B (zh) | 任务的执行方法及主控制器 | |
EP2490100B1 (en) | Suspendable interrupts for processor idle management | |
CN108845870B (zh) | 一种基于pWCET整形的概率性实时任务调度方法 | |
JP2013084169A (ja) | コントローラ、およびタスクとラダーの処理方法 | |
JP2016184315A (ja) | 電子制御装置 | |
Thebe et al. | Scheduling restartable jobs with short test runs | |
Huang et al. | Analysis of | |
CN115981829B (zh) | 一种物联网中的调度方法及系统 | |
CN111813531B (zh) | 一种操作系统时钟调度方法及系统 | |
CN105786598B (zh) | 任务调度方法及装置 | |
KR101573781B1 (ko) | 우선 순위 기반 저전력 태스크 스케줄링 장치 및 방법 | |
CN116932227B (zh) | 一种基于单线程的任务调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |