首页 > 编程知识 正文

不安全状态与死锁区别,不安全状态是死锁的必要条件

时间:2023-05-03 23:52:28 阅读:198478 作者:1856

1.关于不安全状态与死锁状态的不同之处:
  1>:正如奋斗的豌豆所言,当进程处于不安全状态的时候,可能会由于操作系统在期间杀死一些进程等意外情况下而使不安全状态避免向死锁状态的转化。
  2>:在我看来,1中的思想可能有点牵强,毕竟在大多数情况下进程都是可以正常结束的,而且书中银行家算法也是在所有的进程正常运行对前提上进行操作的。书中产生死锁的四个必要条件之不可抢占条件中写到。进程已获得的资源在进程未使用完之前不可被抢占,只能在进程使用完时由自己释放。注意:在这里是说进程使用完时自己释放,并不是进程结束时释放。所以,当进程组处于不安全状态时,是指找不到这样的一个安全序列,使得进程能按某种推进顺序,为每一个进程分配其所需资源,直至满足每一个进程对资源的最大需求,使得每一个进程都可以顺利完成。我们需要注意的是,这种假设是在这一刻完成的,即在推进过程的这一刻,进程必须满足它所需要的所有资源,而且也只有进程结束之后才将其所拥有的所有资源释放,我想这也是书中为什么说是“满足其最大需求”。实际上,可能在程序运行的过程中,在其下次申请资源之前,就可能释放其所拥有的部分资源,从而使系统处于安全状态,只有在最坏条件下(所有的进程都霸占其此时所拥有的资源并且去申请新的资源)才能导致死锁。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。