设系统中有5个进程P1、P2、P3、P4、P5,有3种类型的资源A、B、C,其中A资源的数量是17,B资源的数量是5,C资源的数量是20,T0时刻系统状态如下表所示。
T0时刻系统状态
进程 |
已分配资源数量 (Allocation) |
最大资源需求量 (Max) |
仍然需求资源数 (Need) |
||||||
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 |
- 计算每个进程还可能需要的资源,并填入表的“仍然需要资源数(Need)”的栏目。
- T0时刻系统是否处于安全状态?为什么?
由已知条件,系统中A、B、C三类资源的总数量是(17,5,20),从表中可以计算出已分配情况是(15,2,17),剩余可用资源(Available)的数量是(2,3,3)。根据安全检测算法分析当前系统使安全的,因为存在安全序列{P4,P5,P1,P2,P3}。具体分析过程如下表:
(其中Work是当前系统可用资源数,初始值为(2,3<