工业实时操作系统任务调度方法及相关装置与流程
本发明涉及工业自动化控制,尤其涉及一种工业实时操作系统任务调度方法及相关装置。
背景技术:
1、目前,plc承载的计算任务已从传统逻辑控制向ai推理、视觉检测、数字孪生同步等方向演进,底层操作系统须同时满足微秒级硬实时确定性与丰富通用软件生态的双重需求。
2、现有技术分为两类:传统整体式rtos内核虽能保证硬实时任务的确定性,但对ai推理框架与容器化应用等现代软件生态支持不足;linux加实时抢占补丁功能丰富,但硬实时任务的响应延迟存在不确定性,难以满足高端运动控制场景的微秒级抖动要求。上述现有技术均未能从根本上解决硬实时任务与ai推理任务共存时的调度确定性问题:当两类任务竞争共享资源时,跨调度域的优先级反转问题无法被现有单域优先级继承协议处理,硬实时任务的阻塞时长退化为无界,且现有技术缺乏在系统启动前对全部硬实时任务截止时间满足性的静态证明机制,难以满足工业安全场景的准入要求。
技术实现思路
1、本发明提供一种工业实时操作系统任务调度方法及相关装置,本发明解决了工业实时操作系统在同一硬件平台上同时承载硬实时控制任务与ai推理任务时面临的确定性缺失问题。
2、第一方面,本技术实施例提供了一种工业实时操作系统任务调度方法,包括:
3、在编译阶段,创建微内核实时域中各硬实时任务的实时域任务时间参数表并对共享内存进行静态分配与访问权限设定,形成双域隔离运行环境,所述实时域任务时间参数表包含控制周期空闲窗口;
4、在所述双域隔离运行环境下,所述微内核实时域将每个控制周期内采集的实时控制数据写入所述共享内存的单向环形缓冲区,并由所述通用操作系统非实时域执行ai推理任务,得到检测结果,将所述检测结果写入目标缓存;
5、按照所述控制周期空闲窗口执行所述ai推理任务的时间片抢占调度,并在所述运动控制任务读取所述检测结果发生锁冲突时对持有所述目标缓存锁的ai推理任务进行优先级继承,输出运动控制指令。
6、可选的,在本发明第一方面的第一种实现方式中,所述在编译阶段,创建微内核实时域中各硬实时任务的实时域任务时间参数表并对共享内存进行静态分配与访问权限设定,形成双域隔离运行环境,所述实时域任务时间参数表包含控制周期空闲窗口,包括:
7、在编译阶段,获取微内核实时域中各硬实时任务的最大迭代次数和最大嵌套层级,并对各硬实时任务的第一控制流图中每个基本块进行标注,得到第二控制流图,所述硬实时任务包括运动控制任务、输入输出刷新任务与安全监控任务;
8、将所述第二控制流图中各基本块的执行次数设为整数变量,以控制流图流量守恒关系与所述最大迭代次数为约束,将求解得到的最大值与所述最大嵌套层级对应的中断干扰项累加,得到包含控制周期空闲窗口的实时域任务时间参数表;
9、根据所述实时域任务时间参数表,对共享内存进行静态分配与访问权限设定,形成双域隔离运行环境。
10、可选的,在本发明第一方面的第二种实现方式中,所述根据所述实时域任务时间参数表,对共享内存进行静态分配与访问权限设定,形成双域隔离运行环境,包括:
11、基于所述实时域任务时间参数表,将工业以太网媒体访问控制器与伺服总线独占映射至所述微内核实时域的地址空间,按中断嵌套层级配置中断控制器并将关键外设中断路由至所述微内核实时域所在物理核;
12、按各硬实时任务每控制周期产出数据量静态分配共享内存的单向环形缓冲区,并按临界区最坏情况执行时间上界静态分配目标缓存及其锁控制字段;
13、通过硬件内存保护单元将读指针与完成标志设定为对通用操作系统非实时域可写,并将所述微内核实时域的私有内存空间设定为对所述通用操作系统非实时域不可访问,形成双域隔离运行环境。
14、可选的,在本发明第一方面的第三种实现方式中,所述在所述双域隔离运行环境下,所述微内核实时域将每个控制周期内采集的实时控制数据写入所述共享内存的单向环形缓冲区,并由所述通用操作系统非实时域执行ai推理任务,得到检测结果,将所述检测结果写入目标缓存,包括:
15、在所述双域隔离运行环境中,将所述运动控制任务的位置指令、所述输入输出刷新任务的输入映像数据与所述安全监控任务的安全状态数据组合为实时控制数据;
16、根据写指针与槽位总数计算下一槽位序号,并根据所述下一槽位序号与读指针确定目标槽位,将所述实时控制数据写入所述目标槽位;
17、由所述通用操作系统非实时域根据所述目标槽位的完成标志读取所述目标槽位中的当前周期数据载荷,并根据所述当前周期数据载荷执行ai推理任务,得到检测结果,将所述检测结果写入目标缓存。
18、可选的,在本发明第一方面的第四种实现方式中,所述按照所述控制周期空闲窗口执行所述ai推理任务的时间片抢占调度,并在所述运动控制任务读取所述检测结果发生锁冲突时对持有所述目标缓存锁的ai推理任务进行优先级继承,输出运动控制指令,包括:
19、根据所述控制周期空闲窗口,在所述ai推理任务的算子边界插入抢占检查点并读取实时域就绪标志,当所述实时域就绪标志置位时,将当前时间片序号与中间张量指针写入预锁定物理页的推理中间状态内存池并让出处理器;
20、根据所述运动控制任务读取所述检测结果的锁控制字段,并由优先级代理服务将所述ai推理任务的调度优先级提升至继承优先级字段所映射的优先级;
21、根据提升后的推理任务优先级完成临界区写入并清零所述锁控制字段的锁状态位,由所述优先级代理服务按所述锁控制字段的持有者原优先级进行优先级恢复,并由所述运动控制任务读取所述检测结果,输出运动控制指令。
22、可选的,在本发明第一方面的第五种实现方式中,所述根据所述运动控制任务读取所述检测结果的锁控制字段,并由优先级代理服务将所述ai推理任务的调度优先级提升至继承优先级字段所映射的优先级,包括:
23、由所述运动控制任务读取所述检测结果的锁控制字段,检出所述锁控制字段为占用后以原子写操作写入继承优先级字段,生成锁冲突记录;
24、根据所述锁冲突记录由所述微内核实时域向所述通用操作系统非实时域所在物理核写入域间中断触发寄存器,并由优先级代理服务按持有者线程标识在所述通用操作系统非实时域的线程表中进行定位,得到持锁线程定位结果;
25、根据所述持锁线程定位结果,将所述继承优先级字段的优先级映射为所述通用操作系统非实时域实时调度类的对应档位并更新调度参数,得到提升后的推理任务优先级。
26、第二方面,本技术实施例提供了一种工业实时操作系统任务调度装置,包括:
27、双域隔离单元,用于在编译阶段,创建微内核实时域中各硬实时任务的实时域任务时间参数表并对共享内存进行静态分配与访问权限设定,形成双域隔离运行环境,所述实时域任务时间参数表包含控制周期空闲窗口;
28、检测单元,用于在所述双域隔离运行环境下,所述微内核实时域将每个控制周期内采集的实时控制数据写入所述共享内存的单向环形缓冲区,并由所述通用操作系统非实时域执行ai推理任务,得到检测结果,将所述检测结果写入目标缓存;
29、输出单元,用于按照所述控制周期空闲窗口执行所述ai推理任务的时间片抢占调度,并在所述运动控制任务读取所述检测结果发生锁冲突时对持有所述目标缓存锁的ai推理任务进行优先级继承,输出运动控制指令。
30、第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述工业实时操作系统任务调度方法的步骤。
31、第四方面,本技术实施例提供了一种可读存储介质,该可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述工业实时操作系统任务调度方法的步骤。
32、第五方面,本技术实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现上述工业实时操作系统任务调度方法的步骤。
33、上述工业实时操作系统任务调度方法及相关装置所提供的一个方案中,本发明解决了工业实时操作系统在同一硬件平台上同时承载硬实时控制任务与ai推理任务时面临的确定性缺失问题。本发明将wcet静态分析工具链的输出固化为结构化的实时域任务时间参数表,在实时域任务时间参数表中的控制周期空闲窗口、临界区最坏情况执行时间上界与中断最大嵌套层级在三个环节中被逐项取用,使编译期的静态分析结论直接转化为运行期的调度参数,从而在工业实时操作系统启动前完成全部硬实时任务截止时间满足性的形式化证明,区别于现有技术中wcet分析工具与操作系统调度器彼此独立、仅供人工判读的离线评估模式。本发明将工业以太网媒体访问控制器与伺服总线以外设直通方式独占映射至微内核实时域,中断路由、共享内存布局与内存保护权限全部在系统启动阶段依据实时域任务时间参数表一次性静态确定,运行期不存在任何动态内存分配与动态重配置,去除了现有linux加实时抢占补丁方案中非实时侧中断负载与内存管理动作对实时任务响应时间的干扰。本发明将实时域的写入路径设计为无锁定长路径,判满时覆盖最旧槽位而不执行自旋等待,使域间通信的写入执行时间成为可静态求解的常数并被并入wcet上界,区别于现有域间通信方案中写入须经加锁、拷贝与系统调用陷入、执行时间随非实时域负载波动而不可定界的缺陷,域间通信开销因此成为可被编译期分析工具接纳的普通基本块序列而非实时性的破坏项。本发明以共享内存锁控制字段、域间中断与常驻代理服务三者构成跨调度域的继承通路,使优先级继承协议在微内核实时域调度器与通用操作系统调度器两个互不感知的调度域之间成立;临界区内排除抢占检查点,并将目标缓存写入临界区最坏情况执行时间上界以及跨调度域优先级继承链路的最坏处理时间共同作为运动控制任务的阻塞时间上界,将对应阻塞时间上界回代至离线可调度性判定,区别于现有技术中单域优先级继承协议无法跨越两个独立调度器、跨域阻塞时长退化为无界的技术问题。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com