首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
设有5个可用的某类资源,由4个进程共享,每个进程最多可申请(
[单选题]
设有5个可用的某类资源,由4个进程共享,每个进程最多可申请()个资源而使系统不会死锁?
2
4
3
1
添加笔记
邀请回答
收藏(542)
分享
17个回答
添加回答
34
推荐
而安
A
因为如果每个进程都需要一个资源,并且申请到一个资源,那么都不会死锁并且资源还有多余,如果需要两个资源,此时每个进程又恰好申请到了一个资源,还剩一个资源一定会被4个进程中的一个申请到,所以便可以执行,系统不会死锁;那么3个呢?我们就可以想象如果4个进程分别获取到了2,1,1,1个资源,那便没有一个进程满足3的条件,此时就会出现死锁,所以最多2个,选A
编辑于 2018-05-06 22:12:25
回复(3)
1
掉下个小石头
产生死锁也就是每个线程所需要的资源都有被别的线程占用的情况,2的话肯定不行。至少三个。
发表于 2016-09-01 15:05:12
回复(0)
1
炫
每个进程最多可以申请2个同类资源,具体的分配方法是:先让每个进程获取一个同类资源,然后将剩余的一个资源分配给一个进程,这样就有一个进程获得了所需的全部资源而得以运行,另外三个只分配了一个资源的进程将等待获得全部资源的进程运行结束后释放资源,再进行申请资源并运行
发表于 2016-04-22 12:36:55
回复(0)
31
披萨大叔
设每个进程最多申请x个资源而不产生死锁。
4 *(x-1)+ 1 = 5
x = 2
解析:
每个进程申请(x-1)个资源时,各个进程都需要等待其他进程释放资源,此时共
4 *(x-1)个资源,系统
会产生死锁;
只要再多一个资源,就可以打破死锁的僵局。
发表于 2016-07-23 15:15:31
回复(1)
23
SunburstRun
答案是A
设临界资源为m.共享进程为n个,
个进程最多可申请x个资源
那么当m>n时,m>n*(x-1)时
使系统不会死锁,
m<=n时,x=1
使系统不会死锁
编辑于 2018-05-06 22:12:25
回复(3)
7
macrofun
全部分配资源后,要保证至少有一个进程能被满足需求,从而使其运行完后再释放资源。
所以答案是A。
发表于 2015-11-29 23:06:31
回复(0)
3
清心123
因为共有4个进程,5个资源,进程数小于资源数,则不会发生死锁的公式为
①最多申请资源数=资源总数/进程数(可以整除的条件下)
②最多申请资源数=(资源总数/进程数)+1(不可以整除的条件下)
所以本题用②的计算方式,得出结果为5/4+1=2
发表于 2017-09-06 10:45:57
回复(1)
2
huixieqingchun
设临界资源为m.共享进程为n个,一
个进程最多可申请x个资源
m>n时,m>n*(x-1)时
使系统不会死锁,
m<=n时,x=1
使系统不会死锁
发表于 2016-07-07 15:31:24
回复(0)
1
Air_Chen
B吧
发表于 2016-07-14 16:53:10
回复(0)
0
不想吃饭的小白
<p>每个进程最多申请人</p>
发表于 2020-12-15 10:07:33
回复(0)
0
🐤🐣🐥359
<p>可整除情况下:资源总数/进程数</p><p>不可整除情况下:资源总数/进程数+1</p><p><br></p>
发表于 2020-12-07 15:16:04
回复(0)
0
眉目如初
都没写分配策略,只问最多可以申请多少,一个进程分五个都行啊。一个用完,另一个进程再用嘛
发表于 2017-08-17 16:17:14
回复(1)
0
克里斯
设每个进程最多申请x个资源而不产生死锁。 4 *(x-1)+ 1 = 5 x = 2 解析: 每个进程申请(x-1)个资源时,各个进程都需要等待其他进程释放资源,此时共 4 *(x-1)个资源,系统 会产生死锁; 只要再多一个资源,就可以打破死锁的僵局。
发表于 2017-07-04 18:43:32
回复(0)
0
舒意意123
答案是A
设临界资源为m.共享进程为n个,
个进程最多可申请x个资源
那么当m>n时,m>n*(x-1)时
使系统不会死锁,
m<=n时,x=1
使系统不会死锁
发表于 2017-04-19 20:15:46
回复(0)
0
牛客183140号
其实我感觉,这个题还需要知道,每个线程完成任务,需要多少数量的资源才行啊。。。
发表于 2016-09-19 14:17:13
回复(0)
0
章鱼小丸子
B
发表于 2016-03-27 18:48:00
回复(0)
0
MIKE ZHOU
5个资源,4个进程,每个进程分两个资源,不会产生圆环,所以不会产生死锁。
发表于 2015-11-22 11:16:23
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
操作系统
来自:
百度2016研发工程师...
难度:
17条回答
542收藏
23086浏览
热门推荐
相关试题
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
用有向无环图描述表达式 (A+B)...
图
评论
(38)
来自
百度2016研发工程师笔...
类A是类B的友元,类C是类A的公有...
C++
评论
(40)
来自
百度2016研发工程师笔...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
因为如果每个进程都需要一个资源,并且申请到一个资源,那么都不会死锁并且资源还有多余,如果需要两个资源,此时每个进程又恰好申请到了一个资源,还剩一个资源一定会被4个进程中的一个申请到,所以便可以执行,系统不会死锁;那么3个呢?我们就可以想象如果4个进程分别获取到了2,1,1,1个资源,那便没有一个进程满足3的条件,此时就会出现死锁,所以最多2个,选A