银行家算法得出的安全序列有顺序吗?如{ p3,p0,p4 ,p2, p1}和{ p3,p0,p4 ,p1, p2}是一样的吗?

 我来答
hmy998
推荐于2017-12-16 · TA获得超过472个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:79.7万
展开全部
不一样
银行家算法假定前提如下:
p0 ~ p 4 各掌握有银行家的若干资源,但要求完成他们的目标,分别还需要请求若干资源。
现在,银行家已经付出很多资源,手里资源不多。而pX 们另外需求的资源也是大小不一的。
而一旦银行家所有资源支出后,pX中仍然没有谁完成任务,这就死锁了(每个进程都把握一部分资源,并还在要资源,而资源已经木有了)
==========================
现在,算法得出这样一条顺序,先优先供应p3,等p3完成他的线程后,p3会释放所占有的资源。银行家(系统)利用p3所有的资源和自己手里剩余的资源按顺序供应p0,p4 等等。
现在假定 供应完 p4后,银行家手中握有资源 10单位
p1 总共需要20单位才能完成他的进程,而p1手中现有5单元
p2 总共需要10单位才能完成他的进程,而p2手中已经有了8单元了
请问,系统应该先供应哪个线程?
答案必然是先p2再p1
因为使用2资源供应完p2(10单位才能完成,已有8单位,还要2单位),p2完成任务后,释放所有资源,系统累计资源才有 10 - 2 + 10 = 18 单位的资源 ,才能满足p1 的 15( = 20 -5 )单位资源的请求。
而若反之, 所有资源投入p1 , p1 完成进度 15 / 20 p2 完成进度 8 / 10 这就彻底死了
所以 xxxxx p2 p1 能活, xxxxx p1 p2 会死

特别说明的是,银行家算法可以得到不止一条安全顺序。能被银行家证明可行的算法都是死不了的算法
更多追问追答
追问
你说的我明白,但要如果剩余资料同时满足p1,p2,先进行哪一个?是不是两个都可以
追答
是的
只要能满足不死锁顺序的都认为是银行家的安全顺序
只要能满足银行家安全顺序的都不会死锁

两者是等价的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式