【正确答案】(1)系统安全,因为存在安全序列(P1,P3,P0,P2,P4)。过程如下:
先求出各进程剩余的需求量:
P0=(7,4,3),P1=(1,1,2),P2=(6,0,0),P3=(0,1,1),P4=(4,3,1)。
根据系统剩余资源数(3,2,2)可知,可以立即满足的进程是P1(或P3),P1满足后可释放占有的资源,系统剩余资源数为(5,3,2),找到可立即满足的进程是P3(或P4),P3满足后释放占有的资源,系统此时剩余资源数是(7,4,3),找到可立即满足的进程是P0(或P2、P4),所有进程可以依次执行完毕。
(2)系统要想避免死锁,就必须保证每次分配完后都能得到安全序列,否则就拒绝分配。根据这一原则,对于进程的请求应考虑分配以后是否安全,若不安全,则不能进行此次分配。题目中有3个请求,按照顺序来依次考虑。先考虑能否满足P1,分配后系统处于安全状态,因为分配后可以找到安全序列(P1,P3,P2,P0,P4)。满足P1的请求之后,剩余资源为(2,2,0)。对于P4的请求,由于系统没有那么多剩余资源,因此无法满足,系统拒绝P4的请求。最后考虑P0的请求,如果满足P0,分配后剩余资源为(2,1,0),可以找到安全序列(P1,P3,P0,P2,P4),因此可以满足P0的请求。总之,系统对3个请求依次处理为:满足P1、拒绝P4、满足P0。
【答案解析】