下载此文档

多任务系统中死循环或类死循环的检测方法.docx


文档分类:论文 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
多任务系统中死循环或类死循环的检测方法
专利名称:多任务系统中死循环或类死循环的检测方法
技术领域:
本发明涉及计算机技术,特别涉及计算机操作系统的技术。
背景技术:
在计算机操作系统中,有关死循环的检测及其处理是非常重要的技术,位到出现死循环的具体代码位置,方便程序员排错,并且在定位到死循环任务后需要注销任务切换钩子函数以减少对处理器资源的消耗。
图I是本发明死循环监控任务运行的流程图。图2是本发明死循环检测任务运行的流程图。
具体实施例方式下面结合实施例及附图,详细描述本发明的技术方案。本发明死循环监控任务运行的流程图参见图1,
本发明死循环检测任务运行的流程图参见图2。本发明的多任务系统中死循环或类死循环的检测方法中,首先系统生成一个最高优先级的死循环监控任务和一个最低优先级的死循环检测任务,死循环检测任务每睡眠一段时间后运行,运行时记录当前时刻,死循环监控任务每睡眠一定时间后运行,运行时检测系统是否出现死循环或类死循环,若不是则进入睡眠状态,若是则死循环监控任务定位并挂起死循环任务或类死循环任务,死循环监控任务进入睡眠状态,然后系统对挂起的死循环任务或类死循环任务进行定位和调试,记录信息并后续处理,最后释放处理资源。
实施例本发明利用在非时间片轮转的优先级抢占式操作系统中,高优先级任务只要不阻塞或者主动出让处理器,那么低优先级任务或者相同优先级的其它任务就不能得到调度的原理。本发明在实施过程中生成具有最高优先级的死循环监控任务和具有最低优先级的死循环测试任务。本例中,设系统中任务的优先级为0 100,优先级0最低,优先级100最高;设置死循环监控任务的优先级为100,死循环检测任务的优先级为O。vxfforks操作系统是一种非时间片轮转的优先级抢占式操作系统,本例以它为例。在vxWorks操作系统,任务控制块是操作系统管理任务的数据结构,任务控制块中有优先级字段,在本发明中,对于任务T,标记任务控制块为Tb,由任务控制块可以知道任务的优先级,标记优先级为Tbp。设置死循环任务的任务控制块变量为TDLb。为保证死循环监控任务和死循环检测任务不占用大量的处理器资源,死循环监控任务和死循环检测任务都周期的运行,即每睡眠固定周期运行一次。其中,死循环监控任务每睡眠较长周期运行一次,如图I,死循环检测任务运行每睡眠较短周期运行一次,如图2。 这里的周期是一个经验值,如死循环监控任务的每睡眠120秒时间运行一次,死循环检测任务的每睡眠I秒时间运行一次,死循环监控制任务睡眠时间应该比死循环检测任务的睡眠时间大很多。第一步,死循环检测任务每次运行时记录运行的时刻,死循环监控任务每次运行时比较当前时刻与死循环检测任务运行时记录的时刻相比较,可以计算出死循环检测任务有多长时间没有运行,即有多长时间没有得到调度,若这个时间比较长,超过了预先设置的时间阀值,则认为系统有工作任务出现了死循环或者类死循环,所述时间阀值应该比死循环监控任务睡眠时间大很多,可以为600秒。如果出现死循环则执行第二步,否则执行第五
止 /J/ o第二步,死循环监控任务判断当前是否有死循环标志,若有则转第四步,若没有则直接进入第三步。第三步,清除死循环任务控制块变量TDb,即死循环任务控制块变量TDb清零,向系统注册任务切换钩子函数,设置死循环标志。死循环监控任务做完上述事

多任务系统中死循环或类死循环的检测方法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人开心果
  • 文件大小17 KB
  • 时间2022-06-26