操作系统安全状态分析:假设系统T0的进程和资源情况
假设系统T0情况的进程和资源情况如下图所示,若已知A,B,C三种资源的总数量为(17,5,20),试将下表补充完整。
进程 已分配资源数量 最大资源需求量 仍然需求资源数 A B C A B C A B C P1 2 1 2 5 5 9 3 4 7 P2 4 0 2 5 3 6 1 3 4 P3 4 0 5 4 0 11 0 0 6 P4 2 0 4 4 2 5 2 2 1 P5 3 1 4 4 2 4 1 1 0
系统在T0时刻是否安全?如果安全,则安全系列是?
答:
首先计算出已分配资源总量和仍然需求资源总量:
已分配资源总量:A=15,B=2,C=17 仍然需求资源总量:A=12,B=13,C=18
然后构建安全性算法:
- 初始化:令Work=T0,Finish[i]=false(i=1,2,3,4,5)
- 找到一个未完成的进程P,满足Need[P]<=Work
- 如果找到这样的进程,则执行以下步骤: a. 令Work=Work+Allocation[P] b. 令Finish[P]=true c. 将P加入安全序列 d. 转到步骤2
- 如果没有找到这样的进程,则算法结束。
按照上述算法进行计算,得到安全序列为:P1 -> P5 -> P4 -> P2 -> P3
因此,系统在T0时刻是安全的,安全序列为P1 -> P5 -> P4 -> P2 -> P3。
原文地址: https://www.cveoy.top/t/topic/odnP 著作权归作者所有。请勿转载和采集!