[发明专利]一种信号量死锁的检测方法有效

专利信息
申请号: 201210575762.5 申请日: 2012-12-26
公开(公告)号: CN103902356B 公开(公告)日: 2018-07-31
发明(设计)人: 王伟;车任秋;张百元 申请(专利权)人: 上海斐讯数据通信技术有限公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 杭州千克知识产权代理有限公司 33246 代理人: 周希良
地址: 201616 上海市松江*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种信号量死锁的检测方法,通过调用系统提供的信号量和任务函数动态的获取到信号量和任务信息,在操作系统之外的应用层创建信号量结构体和信号量链表。将处于等待状态的任务加入到信号量链表中,对链表进行死锁检测。本发明完全独立于操作系统,不必在操作系统中添加任何代码,是作为一套工具性的软件存在于系统的应用层。且没有繁琐的代码改动,没有给系统增加额外的开销,有效的解决了现有方法的缺点。
搜索关键词: 一种 信号量 死锁 检测 方法
【主权项】:
1.一种信号量死锁的检测方法,其特征在于,通过调用系统提供的信号量和任务函数动态的获取到信号量和任务信息,在操作系统之外的应用层创建信号量结构体和信号量链表,将处于等待状态的任务加入到链表中,对链表进行死锁检测,具体包括以下几个步骤:Step1:在操作系统之外的应用层建立信号量死锁检测命令,sem check命令执行信号量死锁检测;Step2:创建信号量结构体,信号量结构体包含的字段设有:信号量IDpSem、等待信号量的任务pWaitTaskTcb、拥有信号量的任务pOwner;Step3:通过调用操作系统函数判断所有任务,把处于等待的任务赋值给pWaitTaskTcb,通过pWaitTaskTcb偏移找到等待的信号量赋值给ID pSem,获取到占有信号量的任务赋值给pOwner;Step4:根据占有信号量的任务的信号量建立信号量链表a;Step5:执行死锁检测命令sem check,遍历整条链表a,把存在等待和占有信号量关系的信号量结构体挑出来并重新组成一个新链表b,判断新链表b是否存在信号量环路,如果存在,则检测到存在信号死锁,把构成环路的任务及信号量打印出来;如果不存在,则不存在信号死锁;继续遍历链表a,直到遍历完成为止。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210575762.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top