发明名称 |
一种基于宏组合的多任务调度方法及系统 |
摘要 |
本发明涉及一种基于宏组合的多任务调度方法及系统,所述方法包括任务执行至预定步调点时,任务调度系统保存所述任务的后续步调点并加载休眠时间,任务调度系统读取并判断后续任务的激活状态和休眠时间,都满足则执行该后续任务,任一不满足则继续判断后续任务,直到任务执行到结束点,不再被任务调度系统调度。本设计使用宏组合来实现系统功能,不使用任务栈,所有任务与系统共享栈,避免系统中存在大量并发任务时的巨大内存需求,有效避免了RTOS实际使用中潜在的任务栈溢出而导致系统崩溃的风险;本方法非常适合于工业控制系统,尤其适用于工业流程类控制,较好的解决系统意外掉电时控制过程的保存和恢复问题。 |
申请公布号 |
CN103257892B |
申请公布日期 |
2016.03.23 |
申请号 |
CN201310199659.X |
申请日期 |
2013.05.27 |
申请人 |
北京世纪瑞尔技术股份有限公司 |
发明人 |
唐思超 |
分类号 |
G06F9/46(2006.01)I |
主分类号 |
G06F9/46(2006.01)I |
代理机构 |
北京市诚辉律师事务所 11430 |
代理人 |
任崇 |
主权项 |
一种基于宏组合的多任务调度方法,其特征在于包括如下步骤:a、任务执行至预定步调点时,任务调度系统保存所述任务的后续步调点并加载休眠时间;b、所述任务调度系统读取并判断所述任务的后续任务的激活状态,如果所述后续任务为激活状态,就执行步骤c,如果所述后续任务不为激活状态,就接着判断所述后续任务的后续任务;c、所述任务调度系统读取并判断所述任务的后续任务休眠时间,如果所述后续任务的休眠时间满足预定要求,就执行步骤d,如果所述后续任务的休眠时间未满足预定要求,所述任务调度系统就接着判断所述任务序列中的后续任务的后续任务;d、载入所述后续任务的后续步调点,并启动所述后续任务;e、所述后续任务从载入的后续步调点处继续执行,直到所述后续任务结束或到达下一个后续步调点,如果所述后续任务结束,则执行步骤f,如果所述后续任务执行到下一个后续步调点,则执行步骤a;f、执行至所述后续任务结束点时,所述后续任务将自身标记为终止,所述任务调度系统不再调度所述后续任务。 |
地址 |
100085 北京市海淀区上地信息路22号实创科技综合大厦B座9层 |