问题 问答题

某系统中有三个进程P1,P2和P3并发工作,其中,进程P1运行过程中需使用资源S1和S3;进程P2需使用资源S1和S2;进程P3需要使用资源S2和S3。如果进程推进过程中对资源的分配不加以限制,会导致什么样的后果,如何避免这种后果的出现。

答案

参考答案:会导致死锁发生,比如运行某时刻,P1占用了S1,请求S3;P2占用了s2,请求S1;P3占用了s3,请求S2。这样就会出现死锁问题。为了避免这种后果,可以采取如下方法(1)有序分配法,每个进程按一定顺序来进行资源请求;(2)预先分配法,一次性将某进程请求的资源全部分配给它;(3)银行家算法,在某进程申请资源时先进行安全性检查等方法都可以避免出现死锁。

填空题
多项选择题