操作系统综合题之“银行家算法,计算各资源总数和Need还需要数量和解释什么是安全状态以及银行家进阶题(额外提出资源请求计算是否满足)”

一、问题:某系统在某时刻的进程和资源状态如下表所示:

进程

Allocation(已分配资源数)

(A  B  C  D)

Max(最大需要资源数)

(A  B  C  D)

Avaliable(可用资源数)

(A  B  C  D)

P1  0  0  1  1  0  2  2  2  1  5  2  0
P2  1  1  2  0  1  5  4  1  
P3  1  3  5  4  1  3  6  4  
P4  1  3  2  1  2  6  4  2  
P5  0  0  2  3  1  5  4  4  

用银行家算法回答下列问题:

1.计算该系统中个资源的总数

2.计算Need矩阵的内容

3.解释什么是安全状态

4.如果进程P5提出资源请求(0,4,2,1),这个请求能否被满足?为什么?

5.如果进程P2提出资源请求(0,3,1,0),这个请求能否被满足?为什么?

 

二、参考答案

1.(A,B,C,D)的总数为(4,12,14,9)

A = 1+1+1+1 =4

B = 1+3+3+5=12

C=1+2+5+2+2+2=14

D=1+4+1+3=9

 

2.

进程

Need(还需要资源数)

(A  B  C  D)

P1  0  2  1  1
P2  0  4  2  1
P3  0  0  1  0
P4  1  3  2  1
P5  1  5  2  1

 3.安全状态::若系统能够找到一个进程执行序列,使得系统只要按此序列为每个进程分配资源,就可以保证进程的资源分配和执行顺序完成,此时称系统处于安全状态

4.不能满足,因为P5请求的资源比系统可用资源多,D资源没有

5.能满足,系统为P2分配资源后,仍然可以找到一个安全序列:P3、P1、P2、P4、P5

因为满足了请求所以P2变化了已分配资源数等

进程

Allocation(已分配资源数)

(A  B  C  D)

Max(最大需要资源数)

(A  B  C  D)

Need(还需要资源数)

(A  B  C  D)

Avaliable(可用资源数)

(A  B  C  D)

 顺序
P1  0  0  1  1  0  2  2  2  0  2  1  1  3  9  9  4 
P2  1  4  3  0  1  5  4  1  0  1  1  1  2  5  6  4 
P3  1  3  5  4  1  3  6  4  0  0  1  0  1  5  2  0
P4  1  3  2  1  2  6  4  2  1  3  2  1  3  9  10  5 
P5  0  0  2  3  1  5  4  4  1  5  2  1  3  9  12  8 
posted @ 2024-04-05 22:10  骚哥  阅读(116)  评论(0编辑  收藏  举报