问答题
设有进程P1和进程P2并发执行,都需要使用资源rl和r2,使用资源的情况见表2-22。
表2-22 资源使用情况
进程P1
进程P2
申请资源r1
申晴资源r2
申清资源r2
申请资源r1
释放资源r1
释放资源r2
试判断是否会发生死锁,并加以解释及说明产生死锁的原因和必要条件。
【正确答案】
这段程序在不同的运行推进速度下,就可能产生死锁。如按顺序:进程P1先申请资源r1,得到资源r1,然后进程P2申请资源r2,也能得到,进程P1又申请资源r2,则因资源r2已分配使进程P1阻塞。进程P1和进程P2两个进程都因申请不到资源而形成死锁。如果改变进程的运行顺序,这两个进程就不会出现死锁现象了。
产生死锁的原因可归结为两点:
1)竞争资源。
2)进程推进顺序非法。
产生死锁的必要条件:
1)互斥条件。
2)请求和保持条件。
3)不剥夺条件。
4)环路等待条件。
【答案解析】
提交答案
关闭