一种实时任务调度方法、系统、存储介质及设备与流程

文档序号:35019041发布日期:2023-08-04 10:14阅读:53来源:国知局
一种实时任务调度方法、系统、存储介质及设备与流程

本发明涉及系统性能优化,尤其涉及实时系统的快速响应,具体涉及针对小流量高实时性任务的快速响应。


背景技术:

1、在实时系统(又称实时操作系统)中必然存在着多个实时任务,这些实时任务通常与某些外围设备有一定关系,能够响应或控制相应的外围设备。因此,这些任务通常带有某种程度的紧迫性。

2、通常来讲,实时系统中分为两种,即硬实时系统和软实时系统,其中:

3、-硬实时系统,不仅要求任务响应要实时,而且要求在规定的时间内完成任务的处理;

4、-软实时系统,仅要求任务响应是实时的,并不要求限定任务必须在多长时间内必须完成。

5、需要指出的是,硬实时任务指必须满足规定时间的限制,否则会给系统带来不可预测的破坏或者致命错误。

6、针对实时系统,目前现有技术中通常采用的是多级中断机制和实时调度机制。

7、对于多级中断机制,通常,一个实时系统需要处理多种外部事件,处理的紧迫程度有轻重缓急之分,有的需要立即做出反应。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。

8、而对于实时调度机制,实时系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理器的调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制需在调度策略和算法上保证优先调度实时任务。

9、然而,上述即使采用上述两种机制,实时系统中仍然存在一些缺点。

10、例如,操作系统任务调度只能实现cpu执行的优先级,无法实时完成cpu与总线调度的优先级同步。导致高优先级的任务到总线之后阻塞执行,无法享受高优先级执行。

11、又如,对于外部中断,配置优先级只是快速的将中断提交给cpu,但是系统总线执行操作时,如果相应通道有多个任务,则会影响紧急任务的执行。

12、再如,针对总线操作的各种类型进行区分,采用qos操作系统标示,但是对于突发高优先级的操作响应并不足够及时。

13、因此,针对现有技术中的上述缺点、问题,需要提出一种优化的实时任务调度方法,从而解决在实时系统中,尤其针对小流量实时性要求高的请求加速,无法实时实现cpu与总线优先级同步、采用传统优先级处理方式无法解决总线通道阻塞等问题。


技术实现思路

1、有鉴于此,本发明的目的在于提出一种改进的实时任务调度的方法、系统、存储介质及设备,从而解决现有技术中在实时系统中针对小流量实时性要求高的请求加速,无法实时实现cpu与总线优先级同步、采用传统优先级处理方式无法解决总线通道阻塞等问题。

2、基于上述目的,一方面,本发明提供了一种实时任务调度方法,其中该方法包括以下步骤:

3、启动实时系统,将所述实时系统中接入的外设基于实时性需求及数据流量大小配置为一类外设及二类外设,并加载调度补丁及仲裁器,其中调度补丁加载至os操作系统并且在仲裁器中配置仲裁优化模块;

4、在os操作系统中加载各个外设对应的驱动程序及任务程序并基于所述os操作系统的调度规则将二类外设的相应的任务调度至cpu执行;

5、响应于检测到所述一类外设发起中断请求,所述调度补丁将设置所述一类外设优先级最高的命令发送至cpu和仲裁器并执行,同时将中断请求发送至cpu;

6、仲裁器通过仲裁优化模块配合cpu经由应命令开启的预备数据通道实施总线的中断以及所述一类外设的相应任务的执行;

7、响应于所述一类外设执行的相应任务完毕,释放总线以备cpu继续执行其他任务,并将所述仲裁器恢复为初始状态。

8、在根据本发明的实时任务调度方法的一些实施例中,仲裁器通过仲裁优化模块配合cpu经由应命令开启的预备数据通道实施总线的中断以及所述一类外设的相应任务的执行进一步包括:

9、响应于执行所述一类外设的相应任务,所述总线采用原子操作。

10、在根据本发明的实时任务调度方法的一些实施例中,仲裁器通过仲裁优化模块配合cpu经由应命令开启的预备数据通道实施总线的中断以及所述一类外设的相应任务的执行进一步包括:

11、仲裁器的仲裁优化模块开启预备数据通道以备接收cpu发送的命令或数据,并响应于总线忙,将暂停传输命令发送至相应的master主机和slave从机;

12、cpu根据所述中断请求发送对所述一类外设的任务操作命令,直接存储至所述仲裁器内的预备数据通道,并转发所述任务操作命令至所述一类外设并执行。

13、在根据本发明的实时任务调度方法的一些实施例中,启动实时系统,将所述实时系统中接入的外设基于实时性需求及数据流量大小配置为一类外设及二类外设,并加载调度补丁及仲裁器,其中调度补丁加载至os操作系统并且在仲裁器中配置仲裁优化模块进一步包括:

14、基于外设的任务对实时性的需求与时效阈值的关系和任务的数据流量与数据流量阈值的关系将外设分为一类外设或二类外设,其中任务对实时性的需求高于时效阈值的外设为一类外设和/或任务的数据流量小于数据流量阈值的外设为一类外设。

15、在根据本发明的实时任务调度方法的一些实施例中,在os操作系统中加载各个外设对应的驱动程序及任务程序并基于所述os操作系统的调度规则将二类外设的相应的任务调度至cpu执行进一步包括:

16、基于所述os操作系统的调度规则将一类外设的相应的任务调度至cpu执行。

17、在根据本发明的实时任务调度方法的一些实施例中,启动实时系统,将所述实时系统中接入的外设基于实时性需求及数据流量大小配置为一类外设及二类外设,并加载调度补丁及仲裁器,其中调度补丁加载至os操作系统并且在仲裁器中配置仲裁优化模块进一步包括:

18、所述仲裁器配置为采用通用算法,并在所述仲裁器中构造仲裁优化模块从而与调度补丁共同作用以执行对所述一类外设的实时响应。

19、在根据本发明的实时任务调度方法的一些实施例中,启动实时系统,将所述实时系统中接入的外设基于实时性需求及数据流量大小配置为一类外设及二类外设,并加载调度补丁及仲裁器,其中调度补丁加载至os操作系统并且在仲裁器中配置仲裁优化模块进一步包括:

20、所述调度补丁构造成所述os操作系统的调度规则的补充。

21、本发明的另一方面,还提供了一种实时任务调度系统,其中包括:

22、实时调度初始化模块,所述实时调度初始化模块配置为启动实时系统,将所述实时系统中接入的外设基于实时性需求及数据流量大小配置为一类外设及二类外设,并加载调度补丁及仲裁器,其中调度补丁加载至os操作系统并且在仲裁器中配置仲裁优化模块;

23、常态化加载执行模块,所述常态化加载执行模块配置为在os操作系统中加载各个外设对应的驱动程序及任务程序并基于所述os操作系统的调度规则将二类外设的相应的任务调度至cpu执行;

24、高实时任务请求模块,所述高实时任务请求模块配置为响应于检测到所述一类外设发起中断请求,所述调度补丁将设置所述一类外设优先级最高的命令发送至cpu和仲裁器并执行,同时将中断请求发送至cpu;

25、高实时任务执行模块,所述高实时任务执行模块配置为仲裁器通过仲裁优化模块配合cpu经由应命令开启的预备数据通道实施总线的中断以及所述一类外设的相应任务的执行;

26、高实时占用释放模块,所述高实时占用释放模块配置为响应于所述一类外设执行的相应任务完毕,释放总线以备cpu继续执行其他任务,并将所述仲裁器恢复为初始状态。

27、本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的实时任务调度方法。

28、本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的实时任务调度方法。

29、本发明至少具有以下有益技术效果:基于本发明的方法,着重于小数据流量高实时性要求的加速机制,实现了在实时系统中针对小流量实时性要求高的请求加速,且能够保证实时实现cpu与总线优先级同步、并解决了总线通道阻塞的问题,进一步优化了系统整体加速机制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1