发明名称 避免死锁的资源分配方法及系统
摘要 本发明提供了一种避免死锁的资源分配方法及系统,其中的方法包括:按照进程对资源的需求量从小到大对进程进行排序;通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;对申请资源的进程中的许可进程进行资源分配;其中,在每一个差值均为非负的情况下,许可进程所申请的资源量不大于差值中的最小值,否则,不对申请资源的进程进行资源分配。通过本发明能够在多个并发进程中实现对资源分配的合理性,在避免出现死锁的同时,实时响应用户的资源申请,达到高效的分配资源的目的。
申请公布号 CN103473137B 申请公布日期 2017.04.12
申请号 CN201310422363.X 申请日期 2013.09.16
申请人 东软集团股份有限公司 发明人 孙浩
分类号 G06F9/50(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 北京鸿元知识产权代理有限公司 11327 代理人 陈英俊
主权项 一种避免死锁的资源分配方法,包括:按照进程对资源的需求量从小到大对所述进程进行排序;通过数学建模的方式获取每个进程在释放掉前面所有进程的资源占有量之后,当前剩余的可分配资源量与当前进程的需求量之间的差值;对申请资源的进程中的许可进程进行资源分配;其中,在每一个所述差值均为非负的情况下,所述许可进程所申请的资源量不大于所述差值中的最小值,否则,不对除资源需求量最小的进程之外的申请资源的进程进行资源分配;以及,在完成一次资源分配之后,重新确定资源分配后的进程序列,以及重新确定当前剩余的可分配资源量与当前进程的需求量之间的差值中的最小值;其中,所述差值通过如下公式计算得出:<maths num="0001"><math><![CDATA[<mrow><msub><mi>c</mi><mi>k</mi></msub><mo>=</mo><mi>x</mi><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>m</mi></msub><mo>-</mo><msub><mi>r</mi><mi>k</mi></msub><mo>,</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>......</mn><mo>,</mo><mi>N</mi></mrow>]]></math><img file="FDA0001139511840000011.GIF" wi="1059" he="159" /></maths>其中,c<sub>k</sub>为当前剩余的可分配资源量与当前进程的需求量之间的差值,x为当前剩余的可分配资源量,a<sub>m</sub>为第m个进程的资源占有量,其中,a<sub>0</sub>=0,r<sub>k</sub>为第k个进程的资源需求量。
地址 110179 辽宁省沈阳市浑南新区新秀街2号