面试题答案
一键面试- 互斥条件:一个资源每次只能被一个进程使用,即在一段时间内某资源仅为一个进程所占有。例如,打印机在同一时间只能被一个程序使用,其他程序若要使用必须等待该程序释放打印机资源。
- 占有并等待条件:进程已经持有了至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被阻塞,但对自己已获得的资源保持不放。例如,进程A已经持有资源R1,又请求资源R2,而资源R2被进程B持有,进程A在等待R2的同时不会释放R1。
- 不可剥夺条件:进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,只能由获得该资源的进程自己释放。例如,进程获得了某数据库的锁,在其完成事务操作之前,其他进程不能强制获取该锁。
- 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。假设有进程A、B、C,进程A等待进程B占有的资源,进程B等待进程C占有的资源,进程C又等待进程A占有的资源,从而形成一个循环等待链。