题26

题目

假设具有 5 个进程的进程集合 ,系统中有三类资源 ,假设在某时刻有如下状态, 见下表。

请问当 取下列哪些值时,系统是处于安全状态的?
I. 1,4,0
II.
III.
IV. 0,4,7
A. I, II、 IV
B. IV II
C. 仅 I
D. I、 III

分析

\text{ Need } = \text{ Max } - \text{ Allocation } = \lbrack \begin{array}{lll} 0 & 0 & 4 \ 1 & 7 & 5 \ 2 & 3 & 5 \ 0 & 6 & 4 \ 0 & 6 & 5 \end{array}\rbrack - \lbrack \begin{array}{lll} 0 & 0 & 3 \ 1 & 0 & 0 \ 1 & 3 & 5 \ 0 & 0 & 2 \ 0 & 0 & 1 \end{array}\rbrack = \lbrack \begin{array}{lll} 0 & 0 & 1 \ 0 & 7 & 5 \ 1 & 0 & 0 \ 0 & 6 & 2 \ 0 & 6 & 4 \end{array}\rbrack

You can't use 'macro parameter character #' in math mode- 根据 need 矩阵可知,当 Available 为 $( {1,4,0})$ 时,可满足 ${P}_{2}$ 的需求 - ${P}_{2}$ 结束后释放资源, Available 为 $( {2,7,5})$ 可以满足 ${P}_{0},{P}_{1},{P}_{3},{P}_{4}$ 中任意一个进程的需求 - 所以系统不会出现死锁,处于安全状态 - II: 当 Available 为 $( {0,6,2})$ 时,可以满足进程 ${P}_{0},{P}_{3}$ 的需求 - 这两个进程结束后释放资源, Available 为 $( {0,6,7})$ ,仅可以满足进程 4 的需求 - ${P}_{4}$ 结束并释放后, Available 为 $( {0,6,8})$ ,此时不能满足余下任意一个进程的需求 - 因此当前处在非安全状态 - III: 当 Available 为 $( {1,1,1})$ 时, 可以满足进程 ${P}_{0},{P}_{2}$ 的需求 - 这两个进程结束后释放资源, Available 为 $( {2,4,9})$ ,此时不能满足余下任意一个进程的需求 - 处于非安全状态 - IV: 当 Available 为 $( {0,4,7})$ 时,可以满足 ${P}_{0}$ 的需求,进程结束后释放资源, Available 为 $( {0,4,{10}})$ ,此时不能满足余下任意一个进程的需求 - 处于非安全状态 - 综上分析: 只有 I 处于安全状态 ### 解 C