(1) P1占有5个资源,剩余3个资源请求。 P2占有2个资源,剩余4个资源请求。 P3占有0个资源,剩余7个资源请求。 系统剩余3个资源。
(2)P1的请求最先满足。进程完成序列:P1,P2,P3。
3-21.
(1)
最大需求矩阵: 分配矩阵: 剩余请求矩阵:
剩余资源向量:Available=(1 5 0 2)
(2)当前系统是安全的。
判断系统是否安全,只要检查系统剩余资源向量能否对各进程的剩余请求向量找到一个进程完成序列,当按照这个序列为各进程分配资源时,各进程都能成功完成。若能找到,则系统是安全的,否则,为不安全。
先找到p0, 因为p0已满足最大资源请求,它可以完成,释放其占有的资源,使系统剩余资源向量为(1 5 1 4)
之后,系统剩余资源向量(1 5 1 4),可满足进程p2, 使p2 可以完成,释放其占有的资源,使系统剩余资源向量为(2 8 6 8)。
之后无论选哪一个进程都可成功完成。
故找到的进程完成序列可为:p0,p2,p4,p3,p1; 或 p0,p2,p3,p1,p4 等,故系统是安全的。
(3)因系统剩余可用向量为(1502),p2的剩余请求向量为(1002),即(1502)>(1002)。故,当p2提出(1001)请求时,能满足。进程完成序列:p0,p2,p4,p3,p1