一种单线程微处理器的死锁检测与干预方法技术

技术编号:2851023 阅读:300 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种单线程微处理器的死锁检测与干预方法。目的是提供一种简便有效地对系统中任务进行死锁检测,解决系统中死锁现象。主要步骤:启动任务获得CPU时间前,开启定时器资源和初始化使用的物理内存单元计时器;在定时中断服务程序中,根据任务当前运行状态,对物理内存单元计时器进行累加计时;当前运行的任务除非正常结束,否则不断循环检查其CPU占用使用的时间,如果超过了设定的最大运行时间,则认为发生了死锁现象,从而结束死锁的任务,把CPU时间交给后续任务继续执行。该项技术仅使用少量资源,一个全局标志位、一个物理内存单元的计时器和定时器资源,就可以完成死锁的检测。

【技术实现步骤摘要】

本专利技术涉及微处理器
,尤其涉及单线程微处理器系统典型如单片机的一种死锁检测与干预方法。
技术介绍
微处理器的线程是指程序的一次执行过程,在单线程微处理器如单片机中,一个程序当前只能执行一个指令。这种单线程微处理器因其体积小、功能强大、价格低廉以及开发方便等优点已广泛应用于一些便携式、远程无人职守仪器仪表系统中。所述的死锁,通常认为多存在于与单线程微处理器相对应的多线程微处理器中,是两个或两个以上线程中的每个线程都在等待其中另外一个线程释放某个共同使用的资源而被封锁,使每个线程都无法继续下一步的执行过程。通常认为,死锁的发生必须满足四个必要条件互斥(资源只能分配给某个确定的任务或是空闲,资源不能同时为两个任务占据),非抢占(资源不可抢占,只能被占用它的任务自愿释放),占用并等待(占据某些资源的任务请求另外的新资源,而这些资源为其他任务占据),循环等待(存在一组资源请求{P1,P2,…,Pn},其中P1等待P2占据的资源,P2等待P3占据的资源,…,Pn等待P1占据的资源)。死锁的发生会给系统带来了极大的危险,直接导致系统崩溃,无法正常运行。自1965年Dijkstra提出本文档来自技高网...

【技术保护点】
一种单线程微处理器系统死锁检测与干预方法,其特征是所述方法包含以下步骤:[1]任务获得CPU使用时间前,初始化任务运行标志和物理内存单元的计时器,从数据存储器中依其系统配置读取设定的最大CPU需求时间;[2]在微处理的定时中 断服务程序中,根据任务运行状态标志位,对物理内存单元的任务计时器累加计时;[3]任务获得CPU时间,除非正常结束,否则在任务中循环检查其占用CPU时间是否超过设定的最大CPU需求时间,如果超过,则说明当前任务发生了死锁现象,强行结束 其CPU使用时间,交给后续任务继续执行。

【技术特征摘要】
1.一种单线程微处理器系统死锁检测与干预方法,其特征是所述方法包含以下步骤[1]任务获得CPU使用时间前,初始化任务运行标志和物理内存单元的计时器,从数据存储器中依其系统配置读取设定的最大CPU需求时间;[2]在微处理的定时中断服务程序中,根据任务运行状态标志位,对物理内存单元的任务计时器累加计时;[3]任务获得CPU时间,除非正常结束,否则在任务中循环检查其占用CPU时间是否超过设定的最大CPU需求时间,如果超过,则说明当前任务发生了死锁现象,强行结束其CPU使用时间,交给后续任务...

【专利技术属性】
技术研发人员:吴允平蔡声镇吴进营苏伟达李汪彪
申请(专利权)人:福建师范大学
类型:发明
国别省市:35[中国|福建]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利