有三个进程P1、P2、P3,进程P1总共需要12个资源,但第一次先申请6个资源。进程P2总共需要10个资源,第一次要求分配5个资源。进程P3总共需要5个资源,第一次要求分配3个资源。现有同类资源16个,请问系统是否运行在安全状态,为什么?

admin2012-10-31  23

问题 有三个进程P1、P2、P3,进程P1总共需要12个资源,但第一次先申请6个资源。进程P2总共需要10个资源,第一次要求分配5个资源。进程P3总共需要5个资源,第一次要求分配3个资源。现有同类资源16个,请问系统是否运行在安全状态,为什么?

选项

答案系统是运行在安全状态,因为经过第一次分配后,总资源还剩下2个(如下表),此时可以先把剩余的2个资源分配给P3,P3得到2个资源后可以执行到结束。P3执行完毕后就可以释放5个资源,分配给P2,P2得到5个资源后也可以执行到结束。P2执行完毕后可以释放10个资源,只需分配给P1进程6个资源就可以执行到结束。这样三个进程都能在有限的时间内得到各自所需的全部资源,执行结束后,系统可以收回所有资源。 [*]

解析 判断系统是否处于安全运行状态,比较简单的一种方法是看剩余的资源能否让某一进程执行结束,一旦由进程执行结束就可释放资源供其他进程使用。不断地寻找这种进程,直到所有的进程都执行完毕则说明系统运行在安全状态,反之则处于不安全状态。
转载请注明原文地址:https://kaotiyun.com/show/XuNx777K
本试题收录于: 操作系统题库理工类分类
0

最新回复(0)