[发明专利]一种死锁处理方法与系统在审
申请号: | 201610057109.8 | 申请日: | 2016-01-27 |
公开(公告)号: | CN105740079A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 宫照刚 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 死锁 处理 方法 系统 | ||
技术领域
本发明涉及操作系统资源调度领域,特别是涉及一种死锁处理方法与系统。
背景技术
死锁(deadlocks)是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。
产生死锁有四个必要条件:一、互斥条件,一个资源每次只能被一个进程使用;二、请求与保持条件,一个进程因请求资源而阻塞时,对已经获得的资源保持不放;三、不剥夺条件,进程已获得的资源,在未使用完之前,不能强行剥夺;四、循环等待条件,多个进程之间形成一种头尾互接的循环等待资源关系。
当执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被其它线程占用并堵塞了的资源,则为交叉持锁死锁的情形。例如,如果线程1锁住了记录A并等待记录B,而线程2锁住了记录B并等待记录A,这样两个线程就发生了死锁现象。死锁现象会导致进程无法推进,降低了资源的利用率。
发明内容
有鉴于此,本发明的主要目的在于提供一种死锁处理方法与系统,及时有效地解决死锁异常,提高资源的利用率。
为实现上述目的,本发明提供了一种死锁处理方法,包括:
对各目标进程进行分析,判断各所述目标进程是否出现死锁现象;
当出现所述死锁现象时,确定所述死锁现象的类型以及对应的目标解决方式,使用所述目标解决方式对所述死锁现象进行处理;
对解锁后的各所述目标进程进行资源调度。
优选地,对解锁后的各所述目标进程进行资源调度后还包括:
对所述死锁现象以及处理所述死锁现象的过程进行分析,得到异常处理记录并显示。
优选地,对各目标进程进行分析包括:
使用PSTACK和GDB对各目标进程进行分析。
优选地,所述死锁现象的类型包括:互斥型死锁以及交叉型死锁。
本发明还提供了一种死锁处理系统,包括:
死锁分析模块,用于对各目标进程进行分析,判断各所述目标进程是否出现死锁现象;
死锁处理模块,用于当出现所述死锁现象时,确定所述死锁现象的类型以及对应的目标解决方式,使用所述目标解决方式对所述死锁现象进行处理;
死锁调度模块,用于对解锁后的各所述目标进程进行资源调度。
优选地,所述死锁处理系统还包括:
死锁异常处理模块,用于对所述死锁现象以及处理所述死锁现象的过程进行分析,得到异常处理记录并显示。
优选地,所述死锁分析模块具体用于:
使用PSTACK和GDB对各目标进程进行分析,判断各所述目标进程是否出现死锁现象。
优选地,所述死锁现象的类型包括:互斥型死锁以及交叉型死锁。
应用本发明提供的一种死锁处理方法与系统,对各目标进程进行分析,判断各所述目标进程是否出现死锁现象,当出现所述死锁现象时,确定所述死锁现象的类型以及对应的目标解决方式,使用所述目标解决方式对所述死锁现象进行处理,对解锁后的各所述目标进程进行资源调度,对所有已存在进行分析,判断死锁现象是否存在并确定死锁类型,利用对应的解决方式解决死锁,并为解锁后的进行调度资源,可以及时有效地解决思索异常,提高资源调度利用的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种死锁处理方法实施例的流程图;
图2为本发明一种死锁处理方法实施例的交叉死锁现象的示意图;
图3为本发明一种死锁处理方法又一实施例的流程图;
图4为本发明一种死锁处理系统实施例的结构示意图;
图5为本发明一种死锁处理系统又一实施例的结构示意图;
图6为本发明一种死锁处理系统的工作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610057109.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:共享数据的方法及其电子设备
- 下一篇:一种CPU调度方法与系统