【正确答案】
【答案解析】根据单项银行家算法,过程为:
①C申请2个资源时,剩余资源可使各进程结束,所以这个分配是安全的,故将2个资源分配给C。
②同理,A、B分别申请4、2个资源时,剩余资源可使各进程运行结束,所以这个分配也是安全的,故将4、2个资源分配给A、B。
③A申请2个资源时,系统此刻剩余资源数为2,如果将这两个资源分配给A,系统就没有资源了。这时的A、B、C都还需要资源才可运行完,这样,A、B、C将都进入阻塞状态。所以P申请的这两个资源不能分配。
④同理,接下来C欲申请1个资源也是不安全的分配,故不能进行分配。
⑤B申请2个资源时,假定操作系统分配给它,B进程将运行结束,B释放的资源又可使A运行结束;A运行结束,释放的资源又可使C运行结束。所以这个分配是安全的,故2个资源分配给B。
不会产生死锁,因为银行家算法在任何时候均保证至少有一个进程能得到所需的全部资源;这样,得到资源的进程能及时归还资源供其他进程使用。