饥饿导致饿死和死锁有什么区别?
都是因为争夺临界资源而导致谁都运行不下去,那么而得不到临界资源的进程就会一直阻塞下去。看上去,饥饿和死锁没什么区别呀,但是为什么是两个概念呢?...
都是因为争夺临界资源而导致谁都运行不下去,那么而得不到临界资源的进程就会一直阻塞下去。看上去,饥饿和死锁没什么区别呀,但是为什么是两个概念呢?
展开
2013-06-28
展开全部
哥,饥饿是什么?是进程无法得到资源,(cpu或者io资源或者别的什么资源),所以无法进行下去,称为饿死,比较常见的就是在优先级调度中,不停的有高优先级的进程创建,导致的无法分配cpu,从而饥饿。而按照《操作系统概念》当中介绍的,死锁必须具备以下四个条件 : 1, 自己占有资源并且等待其他进程的资源,2 两个进程相互等待对方占有的资源 3 资源不能被抢占 4资源不能共享。 换句话说,死锁是两个或者多个进程,相互等待对方占有的资源,而又不能释放自己的资源,所以这些进程都进入死锁状态了,进入死锁状态后,由于没有释放自己占有的资源,所以新的进程在请求这些资源的时候可能不能得到资源,于是就饥饿了。此时,cpu的占用率和吞吐量会降低,因为所有的进程都处于waiting状态,此时os会认为是因为多道程序处理时,并行度不够,所以会调入更多的进程,导致更多的进程陷入死锁,从而导致系统的性能大幅度下降,最终只能通过重启来解决(现代的os一般没有应用死锁解决方案,因为这样对性能的损失太大了)。不知道这样说你能不能明白。
展开全部
饥饿是什么?是进程无法得到资源,(cpu或者io资源或者别的什么资源),所以无法进行下去,称为饿死,比较常见的就是在优先级调度中,不停的有高优先级的进程创建,导致的无法分配cpu,从而饥饿。而按照《操作系统概念》当中介绍的,死锁必须具备以下四个条件 : 1, 自己占有资源并且等待其他进程的资源,2 两个进程相互等待对方占有的资源 3 资源不能被抢占 4资源不能共享。 换句话说,死锁是两个或者多个进程,相互等待对方占有的资源,而又不能释放自己的资源,所以这些进程都进入死锁状态了,进入死锁状态后,由于没有释放自己占有的资源,所以新的进程在请求这些资源的时候可能不能得到资源,于是就饥饿了。此时,cpu的占用率和吞吐量会降低,因为所有的进程都处于waiting状态,此时os会认为是因为多道程序处理时,并行度不够,所以会调入更多的进程,导致更多的进程陷入死锁,从而导致系统的性能大幅度下降,最终只能通过重启来解决(现代的os一般没有应用死锁解决方案,因为这样对性能的损失太大了)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-28
展开全部
饥饿就好比一直没钱花,你一直穷的没饭吃,从开始就不给你饭吃腻就没享受过,而死锁就好比你有了一点甜头,想要更好的东西,但是好几个人和你抢,结果东西不够谁都不能给了,你得不到你想要的东西,想要得到东西的话得东西够分才行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
饥饿是因为长时间没有被调度算法调用到,导致长时间没处理,会引起进程饿死,因为没受得处理机,但其他进程仍可以正常运行,而死锁是因为算法导致所有进程都没办法继续运行…死锁好比死机,而饥饿的饿死好比一个程序挂掉了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-28
展开全部
饥饿是一个进程因为优先级和算法的原因使得其请求的资源在新请求进程优先级较高情况下永远不会分配给它的情况. 死锁是2个或2个以上进程都请求临界资源而又不放弃自己已占用的资源,发生死锁时存在一条环,环上各个进程申请的资源(互斥访问)都被环上其他资源所占用. 貌似这样的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询