首页 > 试题广场 >

考虑在一个计算机系统里,进程可以申请和释放一个或多个资源。资

[单选题]
考虑在一个计算机系统里,进程可以申请和释放一个或多个资源。资源一旦分配给一个进程,则该进程独占此资源,直到资源被主动释放。如果一个进程申请的资源,正在被其他进程占有,那么该进程进入等待该资源的一个队列,直到该资源能够得到满足。下列方法中,哪一个不能很好解决死锁问题?
  • 给每一个进程不同的优先级,并按照优先级的大小决定在资源队列中的顺序。
  • 让进程开始运行时获得全部的资源,在不能获得全部资源时重新启动。
  • 给资源编号,并要求进程按照编号的顺序申请资源。
  • 提供超时机制,在进程进入资源等待后一段随机时间内重启进程。
  • 系统监控等待队列发生死锁时,重启相关进程。
解决死锁问题的几种方式:
一 . 预防死锁:会损坏系统性能
1. 资源一次性分配——破坏请求和等待条件:即让进程开始运行时获得全部的资源,在不能获得全部资源时进程等待;
2. 可剥夺资源——破坏不可剥夺条件 :即当某进程新的资源未满足时,释放已占有的资源;
3. 资源有序分配法——破坏环路等待条件 :系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求 资源,释放则相反;
二. 避免死锁:银行家算法
三. 检测死锁
四. 解除死锁:
1.剥夺资源
2.杀死进程
发表于 2015-08-04 22:07:31 回复(0)
产生死锁的四个必要条件:
1、互斥条件:一个资源每次只能被一个进程使用;
2、请求与保持条件:一个进程因请求资源而被阻塞时,对已获得的资源保持不放;
3、不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺;
4、循环等待条件:若干进行之间形成一种头尾相接的循环等待资源关系。
同样的,破坏上述至少一个条件即可解决死锁问题。可参考 @似是故人来 的解答:
解决死锁问题的几种方式:
一 . 预防死锁:会损坏系统性能
1. 资源一次性分配——破坏”请求和等待“条件:即让进程开始运行时获得全部的资源,在不能获得全部资源时进程等待;
2.  可剥夺资源——破坏”不剥夺“条件 :即当某进程新的资源未满足时,释放已占有的资源;
3.  资源有序分配法——破坏”循环等待“条件 :系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求 资源,释放则相反;
二. 避免死锁:银行家算法
三. 检测死锁
四. 解除死锁:
1.剥夺资源
2.杀死进程

发表于 2016-06-28 11:28:39 回复(1)
同一优先级的进程还是会竞争资源
发表于 2017-05-05 00:02:19 回复(1)
觉得答案是C


银行家算法的原理应该就是AB  肯定可以避免死锁
DE打破循环等待条件避免死锁

发表于 2015-05-13 17:17:10 回复(3)
第二个选项对应的是预防死锁,资源一次性赋予,破坏请求和等待条件
第三个选项对应的是预防死锁,进程按照编号递增的顺序请求资源
第四和第五个选项对应的是解除死锁,超出时间或者发生死锁就杀死并且重启进程



编辑于 2021-01-13 16:03:56 回复(0)
如果资源等待队列是在程序运行前就确定的,那么选项A也没有问题啊,优先级高的进程总是会比优先级低的进程先获得资源,不会出现优先级高的进程获取到某个资源A后,还要等待某个优先级低的进程占有的资源B,因为该优先级低的进程不可能比该优先级高的进程更早获得资源B。
如果资源等待队列是在程序运行后产生并且根据资源请求情况动态变化的,那么选项A就是错的
发表于 2016-09-12 13:58:37 回复(0)
按照编号申请 照样也死锁,关键是申请顺序 c错a对
发表于 2022-09-27 15:01:05 回复(0)
我觉得是不是因为低优先级的进程可能先跑起来,拿到了资源,把拿到资源的顺序从低到高A就没用了,注意资源的独占,估计是因为可能解决不了所以是不那么很好的方案
发表于 2021-04-23 02:26:23 回复(0)
解决死锁问题的几种方式:
一 . 预防死锁:会损坏系统性能
1. 资源一次性分配——破坏请求和等待条件:即让进程开始运行时获得全部的资源,在不能获得全部资源时进程等待;
2. 可剥夺资源——破坏不可剥夺条件 :即当某进程新的资源未满足时,释放已占有的资源;
3. 资源有序分配法——破坏环路等待条件 :系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求 资源,释放则相反;
二. 避免死锁:银行家算法
三. 检测死锁
四. 解除死锁:
1.剥夺资源
2.杀死进程
发表于 2017-04-20 19:51:36 回复(0)
估计是有优先级相同的资源存在。
发表于 2017-03-17 08:17:39 回复(0)
A为什么不对?优先级不同,占有资源顺序不同,高优先级先占有资源,然后释放,这样不对吗?
发表于 2016-01-14 09:11:02 回复(1)
死锁的四个必要条件:
1. 互斥使用;
2. 不可抢占;
3. 请求和保持;
4. 循环等待;

A没有破坏到上面任何一个条件
发表于 2015-08-15 18:03:32 回复(0)
为什么是D,A为什么是对的
发表于 2015-04-28 17:13:25 回复(0)