问答题 某系统中有三个进程P1、P2和P3并发工作,其中,进程P1运行过程中需使用资源S1和S3;进程P2需使用资源S1和S2;进程P3需要使用资源S2和S3。如果进程推进过程中对资源的分配不加以限制,会导致什么样的后果,如何避免这种后果的出现。
【正确答案】正确答案:会导致死锁发生,比如运行某时刻,P1占用了S1,请求S3;P2占用了S2,请求s1;P3占用了S3,请求s2。这样就会出现死锁问题。 为了避免这种后果,可以采取如下方法 (1)有序分配法,每个进程按一定顺序来进行资源请求; (2)预先分配法,一次性将某进程请求的资源全部分配给它; (3)银行家算法,在某进程申请资源时先进行安全性检查等方法都可以避免出现死锁。
【答案解析】