计算机操作系统 调度与死锁 资源分配习题

设系统中有5个进程P1、P2、P3、P4、P5,有3种类型的资源A、B、C,其中A资源的数量是17,B资源的数量是5,C资源的数量是20,T0时刻系统状态如下表所示。

T0时刻系统状态

由已知条件,系统中ABC三类资源的总数量是(17520),从表中可以计算出已分配情况是(15217),剩余可用资源(Available)的数量是(233)。根据安全检测算法分析当前系统使安全的,因为存在安全序列{P4P5P1P2P3}。具体分析过程如下表:

(其中Work是当前系统可用资源数,初始值为(233))

不能实施分配。因为T0时刻P2提出的资源请求Reques2t为(034),而系统剩余资源Available233< Request2034),系统不能满足资源请求。

可以实施分配。

首先:Request4201< Need4221),是合法请求。

其次:Request4201< Available233),系统能满足资源需求。

最后:假若满足P4的资源请求(201)后,系统剩余资源为032P4的所需资源Need4更新为(221201=020),已分配资源Allocation4更新为(204+201=405)。

利用安全检测算法,可以得到安全序列{ P4P5P1P2P3 }(具体分析如下表),所以系统是安全的。所以系统可以满足P4的请求,实施资源的分配。

在(4)的基础上,若进程P1又有新的资源请求(0,2,0)根据银行加算法进行检查:

首先:Request1020< Need1347),是合法请求。

其次:Request1020< Available032),系统能满足资源需求。

最后:假若满足P1的资源请求(020)后,系统剩余资源为012P1的所需资源Need1更新为(347020=327),已分配资源Allocation4更新为(212+020=232)。如下表所示。

此时,系统中的可用资源(012)不能满足任何进程的资源需求,系统进入不安全状态,所以不能给P1实施资源分配。

原文链接:https://blog.csdn.net/Kurtay/article/details/118122300?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165277103516781435495548%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165277103516781435495548&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-18-118122300-null-null.article_score_rank_blog&utm_term=%E8%B5%84%E6%BA%90

© 版权声明
THE END
喜欢就支持一下吧
点赞0打赏 分享
评论 抢沙发
头像
文明发言,共建和谐米科社区
提交
头像

昵称

取消
昵称表情图片