死锁
2016-12-15 08:31:06 9 举报
AI智能生成
操作系统死锁
作者其他创作
大纲/内容
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">产生原因:非剥夺资源的竞争和进程的不恰当推进顺序<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">定义:多个进程因竞争资源而造成的一种僵局(互相等待),<span lang="EN-US"><o:p></o:p></span></span></p><p class="MsoNormal" style="text-indent:42.0pt;mso-char-indent-count:3.0"><span style="font-size:14.0pt;font-family:楷体">若无外力作用,这些进程都将无法向前推进<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">解决方案<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">预防死锁<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">破坏互斥条件:有些资源必须互斥使用,无法破环互斥条件<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">破坏不剥夺条件:增加系统开销,降低吞吐量<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">破坏请求和保持条件:严重浪费系统资源,还可能导致饥饿现象<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">破坏循环等待条件:浪费系统资源,并造成编程不便<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">避免死锁<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">安全状态:能找到一个分配资源的序列能让所有进程都顺利完成<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">银行家算法:采用预分配策略检查分配完成时系统是否处在安全状态<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">检测死锁:利用死锁定理化简资源分配图以检测死锁的存在<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">解除死锁<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">资源剥夺法:挂起某些死锁进程并抢夺它的资源,以便让其他进程继续推进<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">撤销进程法<span lang="EN-US">:</span>强制撤销部分、甚至全部死锁进程并剥夺这些进程的资源<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">进程回退法:让进程回退到足以回避死锁的地步<span lang="EN-US"><o:p></o:p></span></span></p>
0 条评论
下一页