为了让用户进程互斥使用临界资源,可以将整个临界(区)段实现为不可中断的过程,即用户屏蔽所有中断的能力:当用户程序执行临界(区)段时,屏蔽所有中断;当用户程序离开临界(区)段时,再开放所有中断。你认为这种方法有什么缺点?
 
【正确答案】这种方法存在的主要问题是可能引起错误,并且会损失系统性能。 首先,如果在临界(区)段内屏蔽中断,那么临界资源发生的中断无法得到处理,系统会发生状态不一致的情况,引起错误。 其次,如果屏蔽中断,那么临界(区)段内发生的系统调用无法得到执行,会引起程序逻辑错误。 再次,如果临界(区)段发生了死循环,整个系统就处于一种活锁状态。 最后,因为无法响应中断,仅仅是互斥使用临界资源的代码就演变成了互斥使用整个计算机的代码,这会让这一时间内的计算机退化为单道程序系统,严重影响系统效率。
【答案解析】