问题
问答题
有三个进程P1、P2和P3并发工作。进程P3需用资源S3和S1,进程P2需用资源S1和S2,进程P3需用资源S2和S3。回答:
(1)若对资源分配不加限制,会发生什么情况为什么
(2)为保证进程正确地工作,应采用怎样的资源分配策略为什么
答案
参考答案:(1)可能会发生死锁。
例如:进程P1、P2和P3分别获得资源S3、S1和S2后再继续申请资源时都要等待,这是循环等待。(或答进程在等待新资源时均不释放已占资源。)
(2)可有几种答案:
1)采用静态分配。由于执行前已获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不会出现循环等待资源现象)。
2)采用按序分配。
不会出现循环等待资源现象。
3)采用银行家算法。
在分配时保证了系统处于安全状态。